aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ioctl.c
diff options
context:
space:
mode:
authorYan Zheng <zheng.yan@oracle.com>2008-10-29 14:49:05 -0400
committerChris Mason <chris.mason@oracle.com>2008-10-29 14:49:05 -0400
commit84234f3a1f7c532e4afeba03cc8e7e4a8a5277ea (patch)
treec41f249b448f28b648b21c3898d0763b9c67ca6a /fs/btrfs/ioctl.c
parent2517920135b0d29e70453e5b03d70d7b94207df3 (diff)
Btrfs: Add root tree pointer transaction ids
This patch adds transaction IDs to root tree pointers. Transaction IDs in tree pointers are compared with the generation numbers in block headers when reading root blocks of trees. This can detect some types of IO errors. Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r--fs/btrfs/ioctl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 1136ce2febcc..fd3c8b5676c1 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -108,6 +108,7 @@ static noinline int create_subvol(struct btrfs_root *root,
108 inode_item->mode = cpu_to_le32(S_IFDIR | 0755); 108 inode_item->mode = cpu_to_le32(S_IFDIR | 0755);
109 109
110 btrfs_set_root_bytenr(&root_item, leaf->start); 110 btrfs_set_root_bytenr(&root_item, leaf->start);
111 btrfs_set_root_generation(&root_item, trans->transid);
111 btrfs_set_root_level(&root_item, 0); 112 btrfs_set_root_level(&root_item, 0);
112 btrfs_set_root_refs(&root_item, 1); 113 btrfs_set_root_refs(&root_item, 1);
113 btrfs_set_root_used(&root_item, 0); 114 btrfs_set_root_used(&root_item, 0);