Source kernel commit:
ba8adad5d036733d240fa8a8f4d055f3d4490562
Remove the XFS wrappers for converting from and to the kuid/kgid types.
Mostly this means switching to VFS i_{u,g}id_{read,write} helpers, but
in a few spots the calls to the conversion functions is open coded.
To match the use of sb->s_user_ns in the helpers and other file systems,
sb->s_user_ns is also used in the quota code. The ACL code already does
the conversion in a grotty layering violation in the VFS xattr code,
so it keeps using init_user_ns for the identity mapping.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
struct timespec i_ctime;
};
+static inline uint32_t i_uid_read(struct inode *inode)
+{
+ return inode->i_uid;
+}
+static inline uint32_t i_gid_read(struct inode *inode)
+{
+ return inode->i_gid;
+}
+static inline void i_uid_write(struct inode *inode, uint32_t uid)
+{
+ inode->i_uid = uid;
+}
+static inline void i_gid_write(struct inode *inode, uint32_t gid)
+{
+ inode->i_gid = gid;
+}
+
typedef struct xfs_inode {
struct cache_node i_node;
struct xfs_mount *i_mount; /* fs mount struct ptr */
#define xfs_icreate_log(tp, agno, agbno, cnt, isize, len, gen) ((void) 0)
#define xfs_sb_validate_fsb_count(sbp, nblks) (0)
-#define xfs_uid_to_kuid(uid) (uid)
-#define xfs_gid_to_kgid(gid) (gid)
-#define xfs_kuid_to_uid(kuid) (kuid)
-#define xfs_kgid_to_gid(kgid) (kgid)
-
/*
* Prototypes for kernel static functions that are aren't in their
* associated header files.
}
to->di_format = from->di_format;
- inode->i_uid = xfs_uid_to_kuid(be32_to_cpu(from->di_uid));
- inode->i_gid = xfs_gid_to_kgid(be32_to_cpu(from->di_gid));
+ i_uid_write(inode, be32_to_cpu(from->di_uid));
+ i_gid_write(inode, be32_to_cpu(from->di_gid));
to->di_flushiter = be16_to_cpu(from->di_flushiter);
/*
to->di_version = from->di_version;
to->di_format = from->di_format;
- to->di_uid = cpu_to_be32(xfs_kuid_to_uid(inode->i_uid));
- to->di_gid = cpu_to_be32(xfs_kgid_to_gid(inode->i_gid));
+ to->di_uid = cpu_to_be32(i_uid_read(inode));
+ to->di_gid = cpu_to_be32(i_gid_read(inode));
to->di_projid_lo = cpu_to_be16(from->di_projid & 0xffff);
to->di_projid_hi = cpu_to_be16(from->di_projid >> 16);