summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Makefile: fix /sbin vs /usr/sbin behaviorSage Weil2013-10-174-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of telling configure to put things in /sbin, explicitly put the two important items (mkcephfs and mount.fuse.ceph) in /sbin via an automake rule. This unbreaks FreeBSD 9.1 and probably others. Based on patches originally from Alan Somers <asomers@gmail.com>, modified for the current Makefile structure and applied to the specfile too. Fixes: #6456 Signed-off-by: Sage Weil <sage@inktank.com> Tested-by: Alan Somers <asomers@gmail.com>
* | OSD: check for splitting when processing recover/backfill reservationsSamuel Just2013-10-171-50/+59
| | | | | | | | | | | | Fixes: 6565 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | Merge pull request #691 from ceph/wip-dirfragGregory Farnum2013-10-1717-236/+611
|\ \ | | | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com> Partly-Reviewed-by: Sage Weil <sage@inktank.com>
| * | qa/workunits/misc/dirfrag: make it work on ubuntuYan, Zheng2013-10-141-5/+7
| | | | | | | | | | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: optimize map element dereferenceYan, Zheng2013-10-111-17/+24
| | | | | | | | | | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | qa/workunits: Add large number of files in a directory test scriptYan, Zheng2013-10-051-0/+46
| | | | | | | | | | | | | | | | | | Test the directory fragments feature Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: reduce verbosity of dir fragment loggingYan, Zheng2013-10-051-6/+6
| | | | | | | | | | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: fix bloom filter leaksYan, Zheng2013-10-052-2/+3
| | | | | | | | | | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: stop propagating rstat if freezing/frozen dirfrag is encountered.Yan, Zheng2013-10-052-5/+4
| | | | | | | | | | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: don't scatter gather update bare-bones dirfragsYan, Zheng2013-10-051-3/+3
| | | | | | | | | | | | | | | | | | | | | avoid adding bare-bones dirfrag that has not yet been fetched from the disk to the journal. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | fragtree_t: fix get_leaves_under()Yan, Zheng2013-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If fragtree is (*^1, 1*^1) and we want leaves under frag 000*. get_leaves_under() return frag 0*, frag 10* and frag 11*. This is obviously wrong. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | client: handle dirfrag mismatch when processing readdir replyYan, Zheng2013-10-052-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If client has outdated directory fragments information, it may request readdir an non-existent directory fragment. In this case, the MDS finds an approximate directory fragment and sends its contents back to the client. When receiving a reply with fragment that is different than the requested one, the client need to reset the 'readdir offset'. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | client: use dir_result_t::END as flagYan, Zheng2013-10-051-3/+3
| | | | | | | | | | | | | | | | | | | | | So we don't lose the latest readdir frag and offset after marking end of readdir. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: handle dirfrag mismatch when processing readdir requestYan, Zheng2013-10-051-12/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If client has outdated dirfrags information, readdir request from it may specify a non-existing dirfrag. Current method to handle this case is reply -EAGAIN and let client retry. When client receives the the -EAGAIN reply, it need to refresh its dirfrags information first, then re-send the readdir request. A better way to handle client request that specify a non-existing dirfrag is: MDS chooses a approximate dirfrag, then handle the request like normal. When client receives the readdir reply, it will also update its dirfrags information. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: fix CInode::get_dirfrags_under()Yan, Zheng2013-10-051-8/+0
| | | | | | | | | | | | | | | | | | | | | make sure it return true when all dirfrags under the given frag_t are found. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: fix MDCache::merge_dir()Yan, Zheng2013-10-051-1/+1
| | | | | | | | | | | | | | | | | | fragment 'bits' should be negative for the merging case. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: don't fragmentate stray directoriesYan, Zheng2013-10-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | the code that prepares and purges stray dentry assumes that we never freeze stray directories. So disable fragmentating stray directories temporarily. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: properly update rstat/fragstat when fragmentating directoryYan, Zheng2013-10-051-44/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stale rstat/dirstat check in CDir::merge() is wrong. dirfrag's rstat/fragstat is stale if the accounted rstat/fragstat version isn't equal to inode's rstat/dirstat version. For CDir::split(), no need to worry about if the rstat/fragstat of the origin dirfrag is stale. If it's stale, the rstat/fragstat of the resulting dirfrags are stale too. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: properly store fragmenting dirfragsYan, Zheng2013-10-051-2/+4
| | | | | | | | | | | | | | | | | | | | | fragmenting dirfrag does not exist on the object store. So all non-null dentries should be included when committing a fragmenting dirfrag. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: trim log segment after finishing uncommitted fragmentsYan, Zheng2013-10-054-5/+25
| | | | | | | | | | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: delete orphan dirfrags during MDS recoversYan, Zheng2013-10-053-36/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch make the MDS use following steps to fragmentate directory. 1. freeze the old dirfrags 2. journal EFragment::OP_PREPARE 3. store the new dirfrags 4. journal EFragment::OP_COMMIT 5. delete the old dirfrags 6. journal EFragment::OP_FINISH The newly introduced event EFragment::OP_FINISH indicates that all orphan frags have been deleted. The new process guarantees that orphan frags can be properly deleted if the MDS crashes while fragmentating directory. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: journal original dirfrags for rollbackYan, Zheng2013-10-054-18/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fragments with different 'bits' can be merged into one fragment. So we can't use 'basefrag' and 'bits' to calculate the original fragments when rolling back a merge operation. We also can't rely on MDCache::adjust_dir_fragments() to restore the original fragments' statistics during rolling back. This is because fragments are not always complete in the rollback case. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: delete orphan dirfrags after fragmentating directoryYan, Zheng2013-10-043-26/+115
| | | | | | | | | | | | | | | | | | delete old dirfrags after the EFragment::OP_COMMIT event is logged. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | mds: start internal MDS request for fragmentating directoryYan, Zheng2013-10-044-88/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | Start internal MDS request for fragmentating directory operation. With MDS request, we can easily acquire locks required by the fragmentating directory operation. (The old way to get locks is 'try lock' style, which is not reliable) Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
* | | Merge remote-tracking branch 'gh/next'Sage Weil2013-10-161-0/+1
|\ \ \ | | |/ | |/|
| * | .gitignore: ceph-kvstore-toolSage Weil2013-10-161-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge remote-tracking branch 'gh/next'Sage Weil2013-10-1618-135/+642
|\ \ \ | |/ /
| * | debian, specfile: fix ceph-kvstore-tool packagingSage Weil2013-10-162-2/+2
| | | | | | | | | | | | | | | | | | See da69fa09c8274585225471c68c1acc788a3881f4 Signed-off-by: Sage Weil <sage@inktank.com>
| * | Merge pull request #732 from ceph/wip-kvstore-toolSage Weil2013-10-163-14/+125
| |\ \ | | | | | | | | | | | | | | | | tools: ceph-kvstore-tool: Access & manipulate leveldb store using the KeyValueDB interface Reviewed-by: Sage Weil <sage@inktank.com>
| | * | ceph-kvstore-tool: copy one leveldb store to some other placeJoao Eduardo Luis2013-10-161-4/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Iterates over the provided source store's keys and copies them to the provided destination store. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | ceph-kvstore-tool: calc store crcJoao Eduardo Luis2013-10-161-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reuse 'list()' function to traverse the store and calc not only version's crcs, but also calc the store's crc. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | tools: move 'test_store_tool' to 'tools/ceph-kvstore-tool'Joao Eduardo Luis2013-10-163-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | ceph-kvstore-tool allows for lower-level access to leveldb stores. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | | Merge pull request #729 from ceph/wip-5716Josh Durgin2013-10-152-26/+60
| |\ \ \ | | | | | | | | | | | | | | | | | | | | rgw: gracefully handle bad root pool names Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * | | rgw: gracefully handle bad root pool nameswip-5716Yehuda Sadeh2013-10-152-26/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #5716 When invalid root pools specified (don't start with a period) we return with an error instead of asserting. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | test/filestore/run_seed_to.sh: avoid obsolete --filestore-xattr-use-omapSage Weil2013-10-151-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option no longer exists. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | MonCommands: note that pg dump options don't work in plaintextGreg Farnum2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | ceph_test_rados: fix snap remove vs rollback fixSage Weil2013-10-151-6/+7
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 55d279b98553ba4542219b126fc7159b20b18b1f we tried to fix a race between rollback and snap removal, but got the logic wrong: we need to prevent *snap removal* on in-use snaps, not prevent multiple rollbacks on the same snap. Fixes: #6254 (again) Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | os/LevelDBStore: handle deletion race when checking store sizeSage Weil2013-10-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the fix in 64774e5792f136df2bc78db686440fc2f3a7643f which mixed up the return value and errno. Fixes: #6550 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | | Merge pull request #718 from ceph/wip-6553Sage Weil2013-10-151-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | rgw: fix authenticated users acl group check Reviewed-by: Sage Weil <sage@inktank.com>
| | * | | rgw: fix authenticated users acl group checkwip-6553Yehuda Sadeh2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6553 Backport: bobtail, cuttlefish, dumpling Authenticated users group acl bit was not working correctly. Check to test whether user is anonymous was wrong. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | rgw: change default log levelYehuda Sadeh2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6554 Backport: cuttlefish, dumpling Default log level was just too high, bring it down a bit. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | Merge pull request #720 from liewegas/wip-6521Sage Weil2013-10-152-1/+5
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | mon/PGMonitor: set floor below which we do not warn about objects/pg Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | | mon/PGMonitor: set floor below which we do not warn about objects/pgSage Weil2013-10-152-1/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a cluster has very few objects, do not generate warnings when the objects/pg for a pool diverges from the cluster average. This avoids spurious errors when you have a relatively empty cluster and a lone pool with a modest number of objects is too far off the (mostly meaningless) cluster-wide average. Also include a per-pool min so we ignore mostly-empty pools. Fixes: #6521 Signed-off-by: Sage Weil <sage@inktank.com>
| * | | Merge pull request #596 from ceph/wip-6147Sage Weil2013-10-145-77/+433
| |\ \ \ | | | | | | | | | | | | | | | | | | | | mon: keep track of per-pool stats Reviewed-by: Sage Weil <sage@inktank.com>
| | * | | mon: OSDMonitor: add 'osd pool stats' commandJoao Eduardo Luis2013-10-152-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6147 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | | mon: PGMap: rework client IO rate calc and outputJoao Eduardo Luis2013-10-152-33/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a function so we can use the same format when outputting per-pool stats Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | | mon: PGMap: reuse existing summary functions to output pool statsJoao Eduardo Luis2013-10-153-25/+71
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | | mon: PGMap: keep track of per-pool stats deltasJoao Eduardo Luis2013-10-153-19/+181
| |/ / / | | | | | | | | | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* | | | Merge pull request #655 from ceph/wip-cache-crcSage Weil2013-10-1612-16/+1207
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | buffer: cache crc values in buffer::raw Reviewed-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | common/buffer: behave when cached crc stats don't start at 0Sage Weil2013-10-161-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, this helps when we set CEPH_BUFFER_TRACK=true Signed-off-by: Sage Weil <sage@inktank.com>