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>
This commit is contained in:
Dwight Engen 2013-08-15 14:07:58 -04:00 committed by Ben Myers
parent 4bb928cdb9
commit c5eeb7ec3e

View File

@ -191,6 +191,32 @@ typedef __uint64_t __psunsigned_t;
#define MAX(a,b) (max(a,b))
#define howmany(x, y) (((x)+((y)-1))/(y))
/* Kernel uid/gid conversion. These are used to convert to/from the on disk
* uid_t/gid_t types to the kuid_t/kgid_t types that the kernel uses internally.
* The conversion here is type only, the value will remain the same since we
* are converting to the init_user_ns. The uid is later mapped to a particular
* user namespace value when crossing the kernel/user boundary.
*/
static inline __uint32_t xfs_kuid_to_uid(kuid_t uid)
{
return from_kuid(&init_user_ns, uid);
}
static inline kuid_t xfs_uid_to_kuid(__uint32_t uid)
{
return make_kuid(&init_user_ns, uid);
}
static inline __uint32_t xfs_kgid_to_gid(kgid_t gid)
{
return from_kgid(&init_user_ns, gid);
}
static inline kgid_t xfs_gid_to_kgid(__uint32_t gid)
{
return make_kgid(&init_user_ns, gid);
}
/*
* Various platform dependent calls that don't fit anywhere else
*/