diff options
author | Sam Lang <sam.lang@inktank.com> | 2012-12-28 21:56:46 +0400 |
---|---|---|
committer | Alex Elder <elder@inktank.com> | 2013-01-17 22:42:36 +0400 |
commit | 6e8575faa8fa680d59404a4d58d12190667be815 (patch) | |
tree | 702820d6f2acc31fcb8a6efd18471d390a54e962 /include/linux/ceph/ceph_features.h | |
parent | 79aec9844de339531f05b019644ccaf5dd777144 (diff) | |
download | linux-6e8575faa8fa680d59404a4d58d12190667be815.tar.xz |
ceph: Check for created flag in response from mds
The mds now sends back a created inode if the create request
performed the create. If the file already existed, no inode is
returned in the reply. This allows ceph to set the created flag
in atomic_open so that permissions are properly checked in the case
that the file wasn't created by the create call to the mds.
To ensure compability with previous kernels, a feature for sending
back the inode in the create reply was added, so that the mds will
only send back the inode if the client indicates it supports the
feature.
Signed-off-by: Sam Lang <sam.lang@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'include/linux/ceph/ceph_features.h')
-rw-r--r-- | include/linux/ceph/ceph_features.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/ceph/ceph_features.h b/include/linux/ceph/ceph_features.h index dad579b0c0e6..6b7c6acbb3bf 100644 --- a/include/linux/ceph/ceph_features.h +++ b/include/linux/ceph/ceph_features.h @@ -14,13 +14,16 @@ #define CEPH_FEATURE_DIRLAYOUTHASH (1<<7) /* bits 8-17 defined by user-space; not supported yet here */ #define CEPH_FEATURE_CRUSH_TUNABLES (1<<18) +/* bits 19-25 defined by user-space; not supported yet here */ +#define CEPH_FEATURE_REPLY_CREATE_INODE (1<<27) /* * Features supported. */ #define CEPH_FEATURES_SUPPORTED_DEFAULT \ (CEPH_FEATURE_NOSRCADDR | \ - CEPH_FEATURE_CRUSH_TUNABLES) + CEPH_FEATURE_CRUSH_TUNABLES | \ + CEPH_FEATURE_REPLY_CREATE_INODE) #define CEPH_FEATURES_REQUIRED_DEFAULT \ (CEPH_FEATURE_NOSRCADDR) |