]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
FileStore: avoid leveldb check for xattr when possible
authorHaomai Wang <haomaiwang@gmail.com>
Thu, 30 Jan 2014 03:11:12 +0000 (19:11 -0800)
committerSage Weil <sage@inktank.com>
Thu, 30 Jan 2014 19:01:33 +0000 (11:01 -0800)
commitd70efe98894258f387d5ad54eaabdd5de9dd5ba7
treeb579e18b01a84fc5af1fd25e1624485ef47e640e
parent7b179119b214e078cffbb46f6826de055e746b95
FileStore: avoid leveldb check for xattr when possible

Maintain an internal xattr called "spill_out" that indicates whether we
(may) have xattrs stored in omap.  If attribute is set, it will indicate
that we should or should not look in omap.  If the attribute is not
present, then we do not know and will also need to check.

For new stores, this will avoid the overhead of consulting omap in the
general case until a particular objects gets enough (or big) xattrs and
spills over.

For old stores, we will effectively fall back to the previous behavior
of always checking.

Implements #7059

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
src/os/FileStore.cc