ceph/ceph — pull request #1176 by liewegas (2014-02-03 01:35:05+00:00)
Title: 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 Signed-off-by: Sage Weil