diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-12-23 09:48:41 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-12-23 09:48:41 +0100 |
commit | 26e20a108caca6231c6a5ec659f815a866904751 (patch) | |
tree | 36932c208a9e8994bfd7ed4eaf48b9c33f71fbe3 /fs/ceph/mds_client.h | |
parent | 691513f70d3957939a318da970987b876c720861 (diff) | |
parent | 90a8a73c06cc32b609a880d48449d7083327e11a (diff) | |
download | linux-stable-26e20a108caca6231c6a5ec659f815a866904751.tar.gz linux-stable-26e20a108caca6231c6a5ec659f815a866904751.tar.bz2 linux-stable-26e20a108caca6231c6a5ec659f815a866904751.zip |
Merge commit 'v2.6.37-rc7' into x86/security
Diffstat (limited to 'fs/ceph/mds_client.h')
-rw-r--r-- | fs/ceph/mds_client.h | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/fs/ceph/mds_client.h b/fs/ceph/mds_client.h index d66d63c72355..aabe563b54db 100644 --- a/fs/ceph/mds_client.h +++ b/fs/ceph/mds_client.h @@ -42,26 +42,37 @@ struct ceph_mds_reply_info_in { }; /* - * parsed info about an mds reply, including information about the - * target inode and/or its parent directory and dentry, and directory - * contents (for readdir results). + * parsed info about an mds reply, including information about + * either: 1) the target inode and/or its parent directory and dentry, + * and directory contents (for readdir results), or + * 2) the file range lock info (for fcntl F_GETLK results). */ struct ceph_mds_reply_info_parsed { struct ceph_mds_reply_head *head; + /* trace */ struct ceph_mds_reply_info_in diri, targeti; struct ceph_mds_reply_dirfrag *dirfrag; char *dname; u32 dname_len; struct ceph_mds_reply_lease *dlease; - struct ceph_mds_reply_dirfrag *dir_dir; - int dir_nr; - char **dir_dname; - u32 *dir_dname_len; - struct ceph_mds_reply_lease **dir_dlease; - struct ceph_mds_reply_info_in *dir_in; - u8 dir_complete, dir_end; + /* extra */ + union { + /* for fcntl F_GETLK results */ + struct ceph_filelock *filelock_reply; + + /* for readdir results */ + struct { + struct ceph_mds_reply_dirfrag *dir_dir; + int dir_nr; + char **dir_dname; + u32 *dir_dname_len; + struct ceph_mds_reply_lease **dir_dlease; + struct ceph_mds_reply_info_in *dir_in; + u8 dir_complete, dir_end; + }; + }; /* encoded blob describing snapshot contexts for certain operations (e.g., open) */ @@ -170,6 +181,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; |