summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* client: fix invalid iterator dereference in Client::trim_caps()wip-6599Yan, Zheng2013-10-202-5/+18
| | | | | | | | | | | | trimming inode drops a reference to the inode's parent, it may cause the inode's parent also be trimmed. If the cap iterator 'p' happens to point to the inode's parent and the inode's parent is trimmed, the cap iterator 'p' become invalid. Fix the issue by delaying removing cap from the seesion cap list. (similar to what the kclient does) Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
* Merge pull request #734 from kri5/masterSage Weil2013-10-181-3/+7
|\ | | | | | | | | ceph: Remove unavailable option with clang Reviewed-by: Sage Weil <sage@inktank.com>
| * ceph: Remove unavailable option with clangChristophe Courtaut2013-10-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Some options are unavailable in clang. (-Wstrict-null-sentinel, -rdynamic) They were reintroduced by this commit https://github.com/ceph/ceph/commit/6949d221ada12e6be4b5ebf94b58edd17288fb16 This patch fixes it. Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
* | Merge pull request #741 from hjwsm1989/masterLoic Dachary2013-10-181-0/+7
|\ \ | | | | | | ceph.spec.in: Add erasure-code related files.
| * | ceph.spec.in: Add erasure-code related files.huangjun2013-10-181-0/+7
| | | | | | | | | | | | Signed-off-by: huangjun <hjwsm1989@gmail.com>
* | | Merge pull request #742 from atwardowski/patch-1John Wilkins2013-10-181-1/+1
|\ \ \ | | | | | | | | Update ceph-authtool.rst - Fix typo
| * | | Update ceph-authtool.rstAdam Twardowski2013-10-181-1/+1
| |/ / | | | | | | Fix typo
* | | doc: Removed references to Chef.John Wilkins2013-10-181-40/+2
| | | | | | | | | | | | | | | | | | fixes: #6464 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | doc/release-notes: missed mds snapsSage Weil2013-10-181-0/+1
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | doc/release-notes: v0.71Sage Weil2013-10-182-24/+75
|/ / | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #722 from ceph/wip-6475Sage Weil2013-10-174-19/+9
|\ \ | | | | | | | | | | | | radosgw: create /var/log/radosgw in package, not init script Reviewed-and-tested-by: Gary Lowell <gary.lowell@inktank.com>
| * | ceph.spec.in: Need to cread radosgw log directory.wip-6475-glGary Lowell2013-10-171-1/+1
| | | | | | | | | | | | Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
| * | radosgw: create /var/log/radosgw in package, not init scriptSage Weil2013-10-164-18/+8
| | | | | | | | | | | | | | | Fixes: #6475 Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge branch 'next'Gary Lowell2013-10-182-1/+7
|\ \ \
| * | | v0.71v0.71lastGary Lowell2013-10-172-1/+7
| | | |
* | | | Merge pull request #737 from xarses/6127Josh Durgin2013-10-171-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | Add Redhat init script option Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | | | Add Redhat init script optionAndrew Woodward2013-10-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Resolves: 6127 Signed-off-by: Andrew Woodward <awoodward@mirantis.com>
* | | | | Merge pull request #738 from ceph/wip-cache-crcSage Weil2013-10-171-12/+17
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | fix cached crc, bug #6583 Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | | common/buffer: invalidate crc on zero, copy_inSage Weil2013-10-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does not capture users who - calc a crc - use c_str() to modify the buffer content - (re)calc a crc Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | common/buffer: fix crc_map typesSage Weil2013-10-171-8/+8
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | common/buffer: drop unused fieldsSage Weil2013-10-171-4/+2
|/ / / / | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | | qa/workunits/rest/test.py: fix mds {add,remove}_data_pool testSage Weil2013-10-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Arg name changed from poolid to pool in e2602c54. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | doc/release-notes: link ot the changelogSage Weil2013-10-171-0/+2
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | | doc/release-notes: v0.61.9Sage Weil2013-10-172-0/+604
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | | 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>