git.samba.org
/
sfrench
/
cifs-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fs: make helpers idmap mount aware
[sfrench/cifs-2.6.git]
/
fs
/
orangefs
/
inode.c
diff --git
a/fs/orangefs/inode.c
b/fs/orangefs/inode.c
index 48f0547d4850e985411e477dcc61b08721b3f516..5079cfafa8d7a938859348d157a8b366f605ac4c 100644
(file)
--- a/
fs/orangefs/inode.c
+++ b/
fs/orangefs/inode.c
@@
-855,13
+855,13
@@
again:
ORANGEFS_I(inode)->attr_uid = current_fsuid();
ORANGEFS_I(inode)->attr_gid = current_fsgid();
}
ORANGEFS_I(inode)->attr_uid = current_fsuid();
ORANGEFS_I(inode)->attr_gid = current_fsgid();
}
- setattr_copy(inode, iattr);
+ setattr_copy(
&init_user_ns,
inode, iattr);
spin_unlock(&inode->i_lock);
mark_inode_dirty(inode);
if (iattr->ia_valid & ATTR_MODE)
/* change mod on a file that has ACLs */
spin_unlock(&inode->i_lock);
mark_inode_dirty(inode);
if (iattr->ia_valid & ATTR_MODE)
/* change mod on a file that has ACLs */
- ret = posix_acl_chmod(inode, inode->i_mode);
+ ret = posix_acl_chmod(
&init_user_ns,
inode, inode->i_mode);
ret = 0;
out:
ret = 0;
out:
@@
-871,12
+871,13
@@
out:
/*
* Change attributes of an object referenced by dentry.
*/
/*
* Change attributes of an object referenced by dentry.
*/
-int orangefs_setattr(struct dentry *dentry, struct iattr *iattr)
+int orangefs_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
+ struct iattr *iattr)
{
int ret;
gossip_debug(GOSSIP_INODE_DEBUG, "__orangefs_setattr: called on %pd\n",
dentry);
{
int ret;
gossip_debug(GOSSIP_INODE_DEBUG, "__orangefs_setattr: called on %pd\n",
dentry);
- ret = setattr_prepare(dentry, iattr);
+ ret = setattr_prepare(
&init_user_ns,
dentry, iattr);
if (ret)
goto out;
ret = __orangefs_setattr(d_inode(dentry), iattr);
if (ret)
goto out;
ret = __orangefs_setattr(d_inode(dentry), iattr);
@@
-890,8
+891,8
@@
out:
/*
* Obtain attributes of an object given a dentry
*/
/*
* Obtain attributes of an object given a dentry
*/
-int orangefs_getattr(
const struct path *path, struct kstat *stat
,
- u32 request_mask, unsigned int flags)
+int orangefs_getattr(
struct user_namespace *mnt_userns, const struct path *path
,
+
struct kstat *stat,
u32 request_mask, unsigned int flags)
{
int ret;
struct inode *inode = path->dentry->d_inode;
{
int ret;
struct inode *inode = path->dentry->d_inode;
@@
-903,7
+904,7
@@
int orangefs_getattr(const struct path *path, struct kstat *stat,
ret = orangefs_inode_getattr(inode,
request_mask & STATX_SIZE ? ORANGEFS_GETATTR_SIZE : 0);
if (ret == 0) {
ret = orangefs_inode_getattr(inode,
request_mask & STATX_SIZE ? ORANGEFS_GETATTR_SIZE : 0);
if (ret == 0) {
- generic_fillattr(inode, stat);
+ generic_fillattr(
&init_user_ns,
inode, stat);
/* override block size reported to stat */
if (!(request_mask & STATX_SIZE))
/* override block size reported to stat */
if (!(request_mask & STATX_SIZE))
@@
-919,7
+920,8
@@
int orangefs_getattr(const struct path *path, struct kstat *stat,
return ret;
}
return ret;
}
-int orangefs_permission(struct inode *inode, int mask)
+int orangefs_permission(struct user_namespace *mnt_userns,
+ struct inode *inode, int mask)
{
int ret;
{
int ret;
@@
-933,7
+935,7
@@
int orangefs_permission(struct inode *inode, int mask)
if (ret < 0)
return ret;
if (ret < 0)
return ret;
- return generic_permission(inode, mask);
+ return generic_permission(
&init_user_ns,
inode, mask);
}
int orangefs_update_time(struct inode *inode, struct timespec64 *time, int flags)
}
int orangefs_update_time(struct inode *inode, struct timespec64 *time, int flags)