Subject: linux-next: manual merge of the vfs tree with the btrfs tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 13 Apr 2015 11:37:20 +1000

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 Rothwell                    [email-masked]

diff --cc fs/btrfs/xattr.c
index 45ea704be030,4cca14ecb660..000000000000
--- 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);
  }