OSDN Git Service

ceph: Translate between uid and gids in cap messages and kuids and kgids
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 31 Jan 2013 10:56:19 +0000 (02:56 -0800)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 12 Feb 2013 11:19:24 +0000 (03:19 -0800)
commit05cb11c17e892f0e131b6c2ba25d63221aafbd11
treee69d457b623ae7e7566191c5cc3323554870a810
parenteea553c21fbfa486978c82525ee8256239d4f921
ceph: Translate between uid and gids in cap messages and kuids and kgids

- Make the uid and gid arguments of send_cap_msg() used to compose
  ceph_mds_caps messages of type kuid_t and kgid_t.

- Pass inode->i_uid and inode->i_gid in __send_cap to send_cap_msg()
  through variables of type kuid_t and kgid_t.

- Modify struct ceph_cap_snap to store uids and gids in types kuid_t
  and kgid_t.  This allows capturing inode->i_uid and inode->i_gid in
  ceph_queue_cap_snap() without loss and pssing them to
  __ceph_flush_snaps() where they are removed from struct
  ceph_cap_snap and passed to send_cap_msg().

- In handle_cap_grant translate uid and gids in the initial user
  namespace stored in struct ceph_mds_cap into kuids and kgids
  before setting inode->i_uid and inode->i_gid.

Cc: Sage Weil <sage@inktank.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/ceph/caps.c
fs/ceph/super.h