Btrfs: Add backrefs and forward refs for subvols and snapshots
authorChris Mason <chris.mason@oracle.com>
Tue, 18 Nov 2008 01:37:39 +0000 (20:37 -0500)
committerChris Mason <chris.mason@oracle.com>
Tue, 18 Nov 2008 01:37:39 +0000 (20:37 -0500)
commit0660b5af3f7ac0fac69de975914e1f4a3a586fb3
tree5e911dfad23df29f1815fbbc76d38ffff7fe36d8
parent3394e1607eaf870ebba37d303fbd590a4c569908
Btrfs: Add backrefs and forward refs for subvols and snapshots

Subvols and snapshots can now be referenced from any point in the directory
tree.  We need to maintain back refs for them so we can find lost
subvols.

Forward refs are added so that we know all of the subvols and
snapshots referenced anywhere in the directory tree of a single subvol.  This
can be used to do recursive snapshotting (but they aren't yet) and it is
also used to detect and prevent directory loops when creating new snapshots.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/ctree.h
fs/btrfs/inode.c
fs/btrfs/ioctl.c
fs/btrfs/root-tree.c
fs/btrfs/transaction.c