aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_linux.h
diff options
context:
space:
mode:
authorDwight Engen <dwight.engen@oracle.com>2013-08-15 14:07:58 -0400
committerBen Myers <bpm@sgi.com>2013-08-15 15:17:34 -0400
commitc5eeb7ec3e1bb9884e97066bc293792ab57fb4ab (patch)
treed45db31136338ee54470c036e2056f9cf5b8a84b /fs/xfs/xfs_linux.h
parent4bb928cdb900d0614f4766d5f1ca5bc3844f7656 (diff)
xfs: create wrappers for converting kuid_t to/from uid_t
Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Gao feng <gaofeng@cn.fujitsu.com> Signed-off-by: Dwight Engen <dwight.engen@oracle.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_linux.h')
-rw-r--r--fs/xfs/xfs_linux.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h
index 3bc52b78f8b7..2dbabcb31a7d 100644
--- a/fs/xfs/xfs_linux.h
+++ b/fs/xfs/xfs_linux.h
@@ -191,6 +191,32 @@ typedef __uint64_t __psunsigned_t;
191#define MAX(a,b) (max(a,b)) 191#define MAX(a,b) (max(a,b))
192#define howmany(x, y) (((x)+((y)-1))/(y)) 192#define howmany(x, y) (((x)+((y)-1))/(y))
193 193
194/* Kernel uid/gid conversion. These are used to convert to/from the on disk
195 * uid_t/gid_t types to the kuid_t/kgid_t types that the kernel uses internally.
196 * The conversion here is type only, the value will remain the same since we
197 * are converting to the init_user_ns. The uid is later mapped to a particular
198 * user namespace value when crossing the kernel/user boundary.
199 */
200static inline __uint32_t xfs_kuid_to_uid(kuid_t uid)
201{
202 return from_kuid(&init_user_ns, uid);
203}
204
205static inline kuid_t xfs_uid_to_kuid(__uint32_t uid)
206{
207 return make_kuid(&init_user_ns, uid);
208}
209
210static inline __uint32_t xfs_kgid_to_gid(kgid_t gid)
211{
212 return from_kgid(&init_user_ns, gid);
213}
214
215static inline kgid_t xfs_gid_to_kgid(__uint32_t gid)
216{
217 return make_kgid(&init_user_ns, gid);
218}
219
194/* 220/*
195 * Various platform dependent calls that don't fit anywhere else 221 * Various platform dependent calls that don't fit anywhere else
196 */ 222 */