|
@@ -192,7 +192,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
|
|
|
if (!inode->i_op->getxattr)
|
|
|
return -EOPNOTSUPP;
|
|
|
|
|
|
- error = inode->i_op->getxattr(dentry, name, NULL, 0);
|
|
|
+ error = inode->i_op->getxattr(dentry, inode, name, NULL, 0);
|
|
|
if (error < 0)
|
|
|
return error;
|
|
|
|
|
@@ -203,7 +203,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
|
|
|
memset(value, 0, error + 1);
|
|
|
}
|
|
|
|
|
|
- error = inode->i_op->getxattr(dentry, name, value, error);
|
|
|
+ error = inode->i_op->getxattr(dentry, inode, name, value, error);
|
|
|
*xattr_value = value;
|
|
|
return error;
|
|
|
}
|
|
@@ -236,7 +236,7 @@ vfs_getxattr(struct dentry *dentry, const char *name, void *value, size_t size)
|
|
|
}
|
|
|
nolsm:
|
|
|
if (inode->i_op->getxattr)
|
|
|
- error = inode->i_op->getxattr(dentry, name, value, size);
|
|
|
+ error = inode->i_op->getxattr(dentry, inode, name, value, size);
|
|
|
else
|
|
|
error = -EOPNOTSUPP;
|
|
|
|
|
@@ -691,14 +691,15 @@ xattr_resolve_name(const struct xattr_handler **handlers, const char **name)
|
|
|
* Find the handler for the prefix and dispatch its get() operation.
|
|
|
*/
|
|
|
ssize_t
|
|
|
-generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size)
|
|
|
+generic_getxattr(struct dentry *dentry, struct inode *inode,
|
|
|
+ const char *name, void *buffer, size_t size)
|
|
|
{
|
|
|
const struct xattr_handler *handler;
|
|
|
|
|
|
handler = xattr_resolve_name(dentry->d_sb->s_xattr, &name);
|
|
|
if (IS_ERR(handler))
|
|
|
return PTR_ERR(handler);
|
|
|
- return handler->get(handler, dentry, d_inode(dentry),
|
|
|
+ return handler->get(handler, dentry, inode,
|
|
|
name, buffer, size);
|
|
|
}
|
|
|
|