linux-next: manual merge of the vfs tree with the btrfs tree
Hi all, Today's linux-next merge of the vfs tree got a conflict in: fs/btrfs/ioctl.c between commit: 2911da32d543 ("btrfs: use btrfs_inode_lock/btrfs_inode_unlock inode lock helpers") from the btrfs tree and commit: d9b32b140987 ("btrfs: convert to fileattr") from the vfs tree. I fixed it up (I used the vfs tree version (which removed inode_lock() in various places) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell pgp4nwGQBhKsL.pgp Description: OpenPGP digital signature
linux-next: manual merge of the vfs tree with the btrfs tree
Hi Al, Today's linux-next merge of the vfs tree got a conflict in fs/btrfs/xattr.c between commit 3c3b04d10ff1 ("btrfs: don't accept bare namespace as a valid xattr") from the btrfs tree and commit 5dd3dc06371a ("VFS: normal filesystems (and lustre): d_inode() annotations") from the vfs tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc fs/btrfs/xattr.c index 45ea704be030,4cca14ecb660.. --- a/fs/btrfs/xattr.c +++ b/fs/btrfs/xattr.c @@@ -408,17 -388,15 +408,17 @@@ ssize_t btrfs_getxattr(struct dentry *d if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) return generic_getxattr(dentry, name, buffer, size); - if (!btrfs_is_valid_xattr(name)) - return -EOPNOTSUPP; + ret = btrfs_is_valid_xattr(name); + if (ret) + return ret; - return __btrfs_getxattr(dentry->d_inode, name, buffer, size); + return __btrfs_getxattr(d_inode(dentry), name, buffer, size); } int btrfs_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) { - struct btrfs_root *root = BTRFS_I(dentry->d_inode)->root; + struct btrfs_root *root = BTRFS_I(d_inode(dentry))->root; + int ret; /* * The permission on security.* and system.* is not checked @@@ -435,12 -413,11 +435,12 @@@ if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) return generic_setxattr(dentry, name, value, size, flags); - if (!btrfs_is_valid_xattr(name)) - return -EOPNOTSUPP; + ret = btrfs_is_valid_xattr(name); + if (ret) + return ret; if (!strncmp(name, XATTR_BTRFS_PREFIX, XATTR_BTRFS_PREFIX_LEN)) - return btrfs_set_prop(dentry->d_inode, name, + return btrfs_set_prop(d_inode(dentry), name, value, size, flags); if (size == 0) @@@ -452,8 -429,7 +452,8 @@@ int btrfs_removexattr(struct dentry *dentry, const char *name) { - struct btrfs_root *root = BTRFS_I(dentry->d_inode)->root; + struct btrfs_root *root = BTRFS_I(d_inode(dentry))->root; + int ret; /* * The permission on security.* and system.* is not checked @@@ -470,15 -446,14 +470,15 @@@ if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) return generic_removexattr(dentry, name); - if (!btrfs_is_valid_xattr(name)) - return -EOPNOTSUPP; + ret = btrfs_is_valid_xattr(name); + if (ret) + return ret; if (!strncmp(name, XATTR_BTRFS_PREFIX, XATTR_BTRFS_PREFIX_LEN)) - return btrfs_set_prop(dentry->d_inode, name, + return btrfs_set_prop(d_inode(dentry), name, NULL, 0, XATTR_REPLACE); - return __btrfs_setxattr(NULL, dentry->d_inode, name, NULL, 0, + return __btrfs_setxattr(NULL, d_inode(dentry), name, NULL, 0, XATTR_REPLACE); } pgpu2VYbMsMFk.pgp Description: OpenPGP digital signature
linux-next: manual merge of the vfs tree with the btrfs tree
Hi Al, Today's linux-next merge of the vfs tree got a conflict in fs/btrfs/xattr.c between commit 3c3b04d10ff1 (btrfs: don't accept bare namespace as a valid xattr) from the btrfs tree and commit 5dd3dc06371a (VFS: normal filesystems (and lustre): d_inode() annotations) from the vfs tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc fs/btrfs/xattr.c index 45ea704be030,4cca14ecb660.. --- a/fs/btrfs/xattr.c +++ b/fs/btrfs/xattr.c @@@ -408,17 -388,15 +408,17 @@@ ssize_t btrfs_getxattr(struct dentry *d if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) return generic_getxattr(dentry, name, buffer, size); - if (!btrfs_is_valid_xattr(name)) - return -EOPNOTSUPP; + ret = btrfs_is_valid_xattr(name); + if (ret) + return ret; - return __btrfs_getxattr(dentry-d_inode, name, buffer, size); + return __btrfs_getxattr(d_inode(dentry), name, buffer, size); } int btrfs_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) { - struct btrfs_root *root = BTRFS_I(dentry-d_inode)-root; + struct btrfs_root *root = BTRFS_I(d_inode(dentry))-root; + int ret; /* * The permission on security.* and system.* is not checked @@@ -435,12 -413,11 +435,12 @@@ if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) return generic_setxattr(dentry, name, value, size, flags); - if (!btrfs_is_valid_xattr(name)) - return -EOPNOTSUPP; + ret = btrfs_is_valid_xattr(name); + if (ret) + return ret; if (!strncmp(name, XATTR_BTRFS_PREFIX, XATTR_BTRFS_PREFIX_LEN)) - return btrfs_set_prop(dentry-d_inode, name, + return btrfs_set_prop(d_inode(dentry), name, value, size, flags); if (size == 0) @@@ -452,8 -429,7 +452,8 @@@ int btrfs_removexattr(struct dentry *dentry, const char *name) { - struct btrfs_root *root = BTRFS_I(dentry-d_inode)-root; + struct btrfs_root *root = BTRFS_I(d_inode(dentry))-root; + int ret; /* * The permission on security.* and system.* is not checked @@@ -470,15 -446,14 +470,15 @@@ if (!strncmp(name, XATTR_SYSTEM_PREFIX, XATTR_SYSTEM_PREFIX_LEN)) return generic_removexattr(dentry, name); - if (!btrfs_is_valid_xattr(name)) - return -EOPNOTSUPP; + ret = btrfs_is_valid_xattr(name); + if (ret) + return ret; if (!strncmp(name, XATTR_BTRFS_PREFIX, XATTR_BTRFS_PREFIX_LEN)) - return btrfs_set_prop(dentry-d_inode, name, + return btrfs_set_prop(d_inode(dentry), name, NULL, 0, XATTR_REPLACE); - return __btrfs_setxattr(NULL, dentry-d_inode, name, NULL, 0, + return __btrfs_setxattr(NULL, d_inode(dentry), name, NULL, 0, XATTR_REPLACE); } pgpu2VYbMsMFk.pgp Description: OpenPGP digital signature