Btrfs: use delayed ref sequence numbers for all fs-tree updates
authorJan Schmidt <list.btrfs@jan-o-sch.net>
Tue, 29 May 2012 15:06:54 +0000 (17:06 +0200)
committerJan Schmidt <list.btrfs@jan-o-sch.net>
Wed, 30 May 2012 16:18:21 +0000 (18:18 +0200)
commit95a06077f7edbd00d32612562be4d857a5b7df54
tree664ff2a92a2de3ba96be5a49ac36531d933ee5eb
parent20b297d620cd1bb94127942bbb3702fb7b1030b2
Btrfs: use delayed ref sequence numbers for all fs-tree updates

The sequence number for delayed refs is needed to postpone certain delayed
refs for a very short period while walking backrefs. Before the tree
modification log, we thought we'd only have to hold back those references
that don't have a counter operation.

While now we've the tree mod log, we're rewinding fs tree blocks to a
defined consistent state. We cannot know in advance for which tree block
we'll be doing rewind operations later. Therefore, we must postpone all the
delayed refs for fs-tree blocks, even those having a counter operation.

Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net>
fs/btrfs/ctree.h
fs/btrfs/delayed-ref.c
fs/btrfs/delayed-ref.h