• Sage Weil's avatar
    Btrfs: create snapshot references in same commit as snapshot · 6bdb72de
    Sage Weil authored
    This creates the reference to a new snapshot in the same commit as the
    snapshot itself.  This avoids the need for a second commit in order for a
    snapshot to be persistent, and also avoids the problem of "leaking" a
    new snapshot tree root if the host crashes before the second commit takes
    place.
    
    It is not at all clear to me why it wasn't always done this way.  If there
    is still a reason for the two-stage {create,finish}_pending_snapshots()
    approach I'm missing something!  :)
    
    I've been running this for a couple weeks under pretty heavy usage (a few
    snapshots per minute) without obvious problems.
    Signed-off-by: default avatarSage Weil <sage@newdream.net>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    6bdb72de
transaction.c 29.1 KB