summaryrefslogtreecommitdiffstats
path: root/include/linux/ceph/striper.h
diff options
context:
space:
mode:
authorIlya Dryomov2019-06-05 19:25:11 +0200
committerIlya Dryomov2019-07-08 14:01:45 +0200
commit22e8bd51bb0469d1a524130a057f894ff632376a (patch)
tree1cf2eaf3fac621e7154f58a7915e94db5851744e /include/linux/ceph/striper.h
parentrbd: call rbd_dev_mapping_set() from rbd_dev_image_probe() (diff)
downloadkernel-qcow2-linux-22e8bd51bb0469d1a524130a057f894ff632376a.tar.gz
kernel-qcow2-linux-22e8bd51bb0469d1a524130a057f894ff632376a.tar.xz
kernel-qcow2-linux-22e8bd51bb0469d1a524130a057f894ff632376a.zip
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.h2
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