From: Wang Shilong Date: Sat, 8 Feb 2014 15:46:35 +0000 (+0800) Subject: Btrfs: skip readonly root for snapshot-aware defragment X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=bcbba5e6593281adc234938b42d3c3d3570335db;p=deliverable%2Flinux.git Btrfs: skip readonly root for snapshot-aware defragment Btrfs send is assuming readonly root won't change, let's skip readonly root. Signed-off-by: Wang Shilong Signed-off-by: Josef Bacik --- diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 5b8925003090..b88f6221b48b 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -2240,6 +2240,11 @@ static noinline int relink_extent_backref(struct btrfs_path *path, return PTR_ERR(root); } + if (btrfs_root_readonly(root)) { + srcu_read_unlock(&fs_info->subvol_srcu, index); + return 0; + } + /* step 2: get inode */ key.objectid = backref->inum; key.type = BTRFS_INODE_ITEM_KEY;