diff options
author | Sage Weil <sage@newdream.net> | 2010-11-08 07:28:52 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-11-08 07:29:05 -0800 |
commit | cb4276cca4695670916a82e359f2e3776f0a9138 (patch) | |
tree | 09695ba622771c933e045bafe63c1da1139266f3 /fs/ceph/mds_client.h | |
parent | cd045cb42a266882ac24bc21a3a8d03683c72954 (diff) | |
download | linux-stable-cb4276cca4695670916a82e359f2e3776f0a9138.tar.gz linux-stable-cb4276cca4695670916a82e359f2e3776f0a9138.tar.bz2 linux-stable-cb4276cca4695670916a82e359f2e3776f0a9138.zip |
ceph: fix uid/gid on resent mds requests
MDS requests can be rebuilt and resent in non-process context, but were
filling in uid/gid from current_fsuid/gid. Put that information in the
request struct on request setup.
This fixes incorrect (and root) uid/gid getting set for requests that
are forwarded between MDSs, usually due to metadata migrations.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/mds_client.h')
-rw-r--r-- | fs/ceph/mds_client.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.h b/fs/ceph/mds_client.h index d66d63c72355..9341fd4f1432 100644 --- a/fs/ceph/mds_client.h +++ b/fs/ceph/mds_client.h @@ -170,6 +170,8 @@ struct ceph_mds_request { union ceph_mds_request_args r_args; int r_fmode; /* file mode, if expecting cap */ + uid_t r_uid; + gid_t r_gid; /* for choosing which mds to send this request to */ int r_direct_mode; |