summaryrefslogtreecommitdiff
path: root/fs/ceph/mds_client.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-11-08 18:28:52 +0300
committerSage Weil <sage@newdream.net>2010-11-08 18:29:05 +0300
commitcb4276cca4695670916a82e359f2e3776f0a9138 (patch)
tree09695ba622771c933e045bafe63c1da1139266f3 /fs/ceph/mds_client.h
parentcd045cb42a266882ac24bc21a3a8d03683c72954 (diff)
downloadlinux-cb4276cca4695670916a82e359f2e3776f0a9138.tar.xz
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.h2
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;