diff options
author | Ilya Dryomov <idryomov@gmail.com> | 2019-06-05 19:25:11 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2019-07-08 14:01:45 +0200 |
commit | 22e8bd51bb0469d1a524130a057f894ff632376a (patch) | |
tree | 1cf2eaf3fac621e7154f58a7915e94db5851744e /include/linux/ceph/striper.h | |
parent | da5ef6be3467eb2d293790dea69b5b562490715a (diff) |
rbd: support for object-map and fast-diff
Speed up reads, discards and zeroouts through RBD_OBJ_FLAG_MAY_EXIST
and RBD_OBJ_FLAG_NOOP_FOR_NONEXISTENT based on object map.
Invalid object maps are not trusted, but still updated. Note that we
never iterate, resize or invalidate object maps. If object-map feature
is enabled but object map fails to load, we just fail the requester
(either "rbd map" or I/O, by way of post-acquire action).
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'include/linux/ceph/striper.h')
-rw-r--r-- | include/linux/ceph/striper.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ceph/striper.h b/include/linux/ceph/striper.h index cbd0d24b7148..3486636c0e6e 100644 --- a/include/linux/ceph/striper.h +++ b/include/linux/ceph/striper.h @@ -66,4 +66,6 @@ int ceph_extent_to_file(struct ceph_file_layout *l, struct ceph_file_extent **file_extents, u32 *num_file_extents); +u64 ceph_get_num_objects(struct ceph_file_layout *l, u64 size); + #endif |