ceph/src
Haomai Wang d70efe9889 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>
2014-01-30 11:01:33 -08:00
..
arch ARCH: add variable for sse2 register 2013-12-18 11:16:52 +01:00
auth mon: implement --key for --mkfs 2014-01-01 11:07:42 +01:00
bash_completion
civetweb@041bebf7a3 civetweb: fix warning 2014-01-28 21:08:03 -08:00
client libc++: use ceph:: namespaced data types 2014-01-18 14:03:20 -08:00
cls cls_user: init cls_user_list_buckets_op fields 2014-01-28 20:08:18 -08:00
common Merge remote-tracking branch 'gh/next' 2014-01-29 06:59:23 -08:00
crush inttypes: detect and define missing integer types 2014-01-02 11:03:48 -08:00
doc
global
gtest gtest: disable tr1/tuple 2013-12-29 13:32:00 -08:00
include doc: cls moved to subdirectory 2014-01-30 15:26:04 +01:00
java
jobs
json_spirit json_spirit: don't build json_spirit_value.cpp 2013-12-30 12:58:37 -08:00
key_value_store kvstore: only build on linux 2013-12-29 13:31:59 -08:00
librados Merge pull request #1106 from ceph/wip-rgw-contention 2014-01-17 13:17:48 -08:00
librbd rbd: don't forget to call close_image() if remove_child() fails 2014-01-30 14:47:45 +02:00
libs3@9dc3a9c683
log log: use on exit manager to flush logs on exit 2014-01-04 12:54:03 -08:00
mds libc++: use ceph:: namespaced data types 2014-01-18 14:03:20 -08:00
messages mon: do not use CEPH_FEATURES_ALL for things that touch the disk 2014-01-24 12:33:56 -08:00
mon Merge pull request #1148 from ceph/wip-7215-quorum-features 2014-01-29 07:22:19 -08:00
mount remove spurious executable permissions on files 2014-01-09 08:57:00 -07:00
msg libc++: use ceph:: namespaced data types 2014-01-18 14:03:20 -08:00
objclass src/: add CEPH_OSD_OP_READ_SYNC 2014-01-22 14:39:16 -08:00
objsync
ocf
os FileStore: avoid leveldb check for xattr when possible 2014-01-30 11:01:33 -08:00
osd OSDMap: fix deepish_copy_from 2014-01-28 18:46:37 -08:00
osdc libc++: use ceph:: namespaced data types 2014-01-18 14:03:20 -08:00
perfglue
pybind Merge pull request #1159 from ceph/wip-rbd-rm-watchers 2014-01-30 10:52:50 -08:00
rbd_fuse
rgw rgw: fix multipart min part size 2014-01-28 12:16:59 -08:00
script
test Merge pull request #1159 from ceph/wip-rbd-rm-watchers 2014-01-30 10:52:50 -08:00
tools libc++: use ceph:: namespaced data types 2014-01-18 14:03:20 -08:00
upstart upstart: add rbdmap script 2013-12-18 14:20:24 +01:00
.gitignore add autotools-generated files to .gitignore 2014-01-03 16:47:23 -07:00
btrfs_ioc_test.c
ceph_common.sh
ceph_fuse.cc
ceph_mds.cc mds: add CEPH_FEATURE_EXPORT_PEER and bump the protocal version 2013-12-16 12:15:25 +08:00
ceph_mon.cc Merge pull request #1011 from dachary/wip-mon-daemonize 2013-12-31 17:12:39 -08:00
ceph_osd.cc ceph_osd: add EC to OSD's supported features used by the messenger 2013-12-19 02:20:01 +00:00
ceph_syn.cc
ceph_ver.c
ceph-clsinfo
ceph-coverage.in
ceph-create-keys
ceph-crush-location.in
ceph-debugpack.in
ceph-disk ceph-disk: run the right executables from udev 2014-01-28 17:27:21 -08:00
ceph-disk-activate
ceph-disk-prepare
ceph-disk-udev
ceph-post-file.in
ceph-rbdnamer
ceph-rest-api
ceph-run
ceph.conf.twoosds
ceph.in
cephfs.cc
check_version
cls_acl.cc
cls_crypto.cc
cmonctl
fetch_config
init-ceph.in init-ceph: pass config file path when adjust crush position 2014-01-02 16:52:14 -08:00
init-radosgw
init-radosgw.sysv radosgw: increase nofiles ulimit on sysvinit machines 2013-12-12 14:53:13 +01:00
init-rbdmap
libcephfs.cc inttypes: use portable types in public headers 2013-12-29 13:35:58 -08:00
librados-config.cc
loadclass.sh
logrotate.conf
make_version
Makefile-env.am keyutils: handle non-linux platform 2014-01-04 09:18:04 -08:00
Makefile.am make: add libcommon for missing symbols 2013-12-21 13:13:09 -06:00
mkcephfs.in
mount.fuse.ceph
multi-dump.sh
ps-ceph.pl
push_to_qemu.pl
rbd.cc libc++: use ceph:: namespaced data types 2014-01-18 14:03:20 -08:00
rbdmap
README
sample.ceph.conf updated "sample.ceph.conf": 2014-01-14 14:23:11 +11:00
stop.sh vstart/stop: do not loop forever on kill 2013-12-23 21:44:38 +01:00
TODO
unittest_bufferlist.sh
valgrind.supp
verify-mds-journal.sh
vstart.sh mon: favor 'mds set max_mds' over 'mds set_max_mds' 2014-01-15 19:02:23 -08:00
yasm-wrapper

Sage Weil <sage@newdream.net>
Ceph - scalable distributed storage system