Re: State of nocow file attribute
From: Liu Bo <hidden>
Date: 2012-08-21 15:05:14
On 08/21/2012 10:33 PM, David Sterba wrote:
On Fri, Aug 17, 2012 at 11:30:14PM +0800, Liu Bo wrote:quoted
IMO the following is better, just make use of the original check. If you agree with this, I'll send it as a patch :)I think it's cleaner to keep all flags that get inherited from the directory -> new file at one place, ie btrfs_inherit_iflags(), than having them scattered over the code.quoted
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 6e8f416..d4e58df 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c@@ -4721,8 +4721,10 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans, if (btrfs_test_opt(root, NODATASUM)) BTRFS_I(inode)->flags |= BTRFS_INODE_NODATASUM; if (btrfs_test_opt(root, NODATACOW) || - (BTRFS_I(dir)->flags & BTRFS_INODE_NODATACOW)) + (BTRFS_I(dir)->flags & BTRFS_INODE_NODATACOW)) { BTRFS_I(inode)->flags |= BTRFS_INODE_NODATACOW; + BTRFS_I(inode)->flags |= BTRFS_INODE_NODATASUM; + } }And even better, this particular check of dir->flags should be removed entirely, because it duplicates the equivalent in btrfs_inherit_iflags().
Fine, it's cleaner now. thanks, liubo
quoted
insert_inode_hash(inode);david -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html