summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* osd: do not use temp_coll for single-step pusheswip-osd-pushSage Weil2013-06-041-8/+17
| | | | | | | | If we are recovering an object in a single step, there is no need to write it to temp and then move it. Avoiding that is a very good thing when the FileStore has to do an fsync() for non-btrfs fs's. Signed-off-by: Sage Weil <sage@inktank.com>
* osd: call submit_push_complete from submit_push_dataSage Weil2013-06-042-7/+9
| | | | | | | | | | | Every call to submit_push_data is followed by an if (complete) submit_push_complete(...) So, call it directly and pass in the complete flag. Signed-off-by: Sage Weil <sage@inktank.com>
* dev/rbd-diff: make formats into bullet lists (solves linebreak probs)Dan Mick2013-06-041-21/+16
| | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
* Merge pull request #346 from ceph/wip-5233Sage Weil2013-06-041-7/+7
|\ | | | | | | rados.py: correct some C types
| * rados.py: correct some C typesJosh Durgin2013-06-041-7/+7
| | | | | | | | | | | | | | | | | | trunc was getting size_t instead of uint64_t, leading to bad results in 32-bit environments. Explicitly cast to the desired type everywhere, so it's clear the correct type is being used. Fixes: #5233 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* | doc: Removed ceph-deploy git, and added ceph-deploy packages.John Wilkins2013-06-041-41/+7
| | | | | | | | | | | | fixes: #5253 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | doc: Modified pre-flight checklist for ceph-deploy packages.John Wilkins2013-06-041-35/+4
| | | | | | | | fixes: #5253
* | doc: Added title. Suppresses no title warning messages.John Wilkins2013-06-041-0/+4
|/ | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* Revert "mds: initialize rejoins_pending"Sage Weil2013-06-041-1/+0
| | | | | | This reverts commit 05a57bdd1289a63dcf2d4ca2f0dd3d73aff684ac. Supplanted by d7fb9b173a163eb2318af5832456f0f236f716fd.
* mds: allow purging "dirty parent" stray inodeYan, Zheng2013-06-041-1/+4
| | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
* mds: initialize some member variables of MDCacheYan, Zheng2013-06-041-0/+5
| | | | | | | | I added some member variables to class MDCache, but forget to initialize them. Fixes: #5236 Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
* Merge remote-tracking branch 'gh/next'Sage Weil2013-06-045-36/+44
|\
| * Revert "mds: allow purging "dirty parent" stray inode"Sage Weil2013-06-041-4/+1
| | | | | | | | This reverts commit b8f1cb978944a616b69150fdbb3a6b978d75b1dc.
| * mds: initialize rejoins_pendingSage Weil2013-06-041-0/+1
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * Revert "mds: initialize some member variables of MDCache"Sage Weil2013-06-041-5/+0
| | | | | | | | This reverts commit 2d655bde8de9ad255d63718768558399cacd7068.
| * os/LevelDBStore: only remove logger if non-nullSage Weil2013-06-041-1/+2
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * test_librbd: use correct type for varargs snap testJosh Durgin2013-06-041-5/+5
| | | | | | | | | | | | | | | | uint64_t is passed in, but int was extracted. This fails on 32-bit builds. Fixes: #5220 Signed-off-by: Josh Durgin <josh.durgin@inktank.com> (cherry picked from commit 17029b270dee386e12e5f42c2494a5feffd49b08)
| * mds: allow purging "dirty parent" stray inodeYan, Zheng2013-06-031-1/+4
| | | | | | | | Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * mds: initialize some member variables of MDCacheYan, Zheng2013-06-031-0/+5
| | | | | | | | | | | | | | | | I added some member variables to class MDCache, but forget to initialize them. Fixes: #5236 Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * ceph: Add missing usage "ceph osd blacklist ls"David Zafman2013-06-031-0/+1
| | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * ceph-fuse: create finisher threads after fork()Sage Weil2013-06-021-28/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | The ObjectCacher and MonClient classes both instantiate Finisher threads. We need to make sure they are created *after* the fork(2) or else the process will fail to join() them on shutdown, and the threads will not exist while fuse is doing useful work. Put CephFuse on the heap and move all this initalization into the child block, and make sure errors are passed back to the parent. Fix-proposed-by: Alexandre Marangone <alexandre.maragone@inktank.com> Signed-off-by: Sage Weil <sage@inktank.com>
| * vstart.sh: make client logs uniqueSage Weil2013-06-021-1/+1
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * os/LevelDBStore: fix merge loopSage Weil2013-06-021-6/+7
| | | | | | | | | | | | | | We were double-incrementing p, both in the for statement and in the body. While we are here, drop the unnecessary else's. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #340 from dachary/wip-5213athanatos2013-06-044-4/+566
|\ \ | | | | | | | | | | | | PGLog::merge_old_entry unit tests Reviewed-by: Sam Just <sam.just@inktank.com>
| * | unit tests for PGLog::merge_old_entryLoic Dachary2013-06-042-0/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests covers 100% of the LOC of merge_old_entry. It is broken down in 13 cases to enumerate all the situations it must address. Each case is isolated in a independant code block where the conditions are reproduced. For instance: info.last_backfill = hobject_t(); info.last_backfill.hash = 1; oe.soid.hash = 2; creates the conditions where merge_log_entry is expected to silently ignore entries containing an object that is greater than last_backfill. PGLogTest is derived from PGLog to get access to the protected members. Signed-off-by: Loic Dachary <loic@dachary.org>
| * | merge_old_entry arguments info and oe are changed to const becauseLoic Dachary2013-06-022-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | there is no side effect. The PGLog::clear function is added to reset all data members to the same state they have after the object is constructed. Signed-off-by: Loic Dachary <loic@dachary.org>
* | | Merge pull request #327 from dachary/wip-pg_missing_t-testsathanatos2013-06-041-13/+319
|\ \ \ | | | | | | | | | | | | | | | | unit tests for pg_missing_t Reviewed-by: Sam Just <sam.just@inktank.com>
| * | | unit tests for pg_missing_tLoic Dachary2013-05-311-13/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All lines of code are tested. The conditions under which some methods could corrupt the content of a pg_missing_t object have not been investigated. Since the data members are public, the caller is ultimately responsible for the consistency of the object and the methods have no way to enforce it. The semantics of is_missing have been discussed in http://thread.gmane.org/gmane.comp.file-systems.ceph.devel/15280 Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | test_filestore_idempotent: make newly created objects globally uniqueSamuel Just2013-06-042-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The filestore requires hobjects to be globally unique. Fixes: #5240 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | | Merge pull request #344 from ceph/wip-5220Sage Weil2013-06-041-5/+5
|\ \ \ \ | | | | | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | test_librbd: use correct type for varargs snap testJosh Durgin2013-06-031-5/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | uint64_t is passed in, but int was extracted. This fails on 32-bit builds. Fixes: #5220 Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* | | | messages/MClientCapRelease: fix string outputSage Weil2013-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the vector size, not what is in the header, which is not yet filled in for outgoing messages. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | Merge pull request #337 from dalgaaf/wip-da-CID-medium.v2Sage Weil2013-06-027-22/+65
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix several medium impact CID issues V2 Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | .gitignore: add directory from coverity toolsDanny Al-Gaaf2013-05-311-0/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Server.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716927 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "diri->snaprealm" to function "SnapRealm::resolve_snapname(std::string const & Make sure not to dereference diri->snaprealm. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Server.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716926 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing "mdr" to function "Server::apply_allocated_inos(MDRequest *)", which dereferences null "mdr->session". Add assert for 'mdr' and assert for session in apply_allocated_inos(). Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Server.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add assert to fix: CID 716925 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "straydn" to function "CDentry::get_dir() const", which dereferences it. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Migrator.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add asserts to check for 'dir' to fix: CID 716924 (#1-5 of 5): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "dir" to function "operator <<(std::ostream &, CDir &)", which dereferences it. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Migrator.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add assert for 'le' to fix: CID 716923 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "le" to function "LogEvent::get_start_off() const", which dereferences it. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/MDCache.cc: fix dereference null return valueDanny Al-Gaaf2013-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add assert to fix: CID 716994 (#1 of 1): Dereference null return value (NULL_RETURNS) dereference: Dereferencing a pointer that might be null "dir" when calling "CDir::mark_dirty(version_t, LogSegment *)". Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/MDCache.cc: fix dereference null return valueDanny Al-Gaaf2013-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716993 (#1 of 2): Dereference null return value (NULL_RETURNS) dereference: Dereferencing a pointer that might be null "in" when calling "operator <<(std::ostream &, CInode &)". Add assert for 'in'. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/MDCache.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add assert for 'parent' before call assert on parent->is_auth(). CID 716922 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "parent" to function "MDSCacheObject::is_auth() const", which dereferences it. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/MDCache.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716921 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "dir" to function "operator <<(std::ostream &, CDir &)", which dereferences it. CID 716992 (#1 of 1): Dereference null return value (NULL_RETURNS) dereference: Dereferencing a pointer that might be null "dir" when calling "MDSCacheObject::is_auth() const". Add assert for 'dir' before use it. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Locker.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716919 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "cap" to function "Capability::inc_suppress()", which dereferences it. Check for 'cap' before use it as in other places of the function. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Locker.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716918 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "in" to function "MDSCacheObject::state_test(unsigned int) const", which dereferences it. Add assert for 'in == NULL' before use it. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Locker.cc: fix dereference after null checkDanny Al-Gaaf2013-05-311-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716917 (#1 of 1): Dereference after null check (FORWARD_NULL) var_deref_model: Passing null pointer "in" to function "MDSCacheObject::state_test(unsigned int) const", which dereferences it. Add assert for in == NULL before using it. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | bench/dumb_backend.cc: check return value of lseek()Danny Al-Gaaf2013-05-311-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 743395 (#1 of 1): Unchecked return value from library (CHECKED_RETURN) check_return: Calling function "lseek(fd, offset, 0)" without checking return value. This library function may fail and return an error code. unchecked_value: No check of the return value of "lseek(fd, offset, 0)". Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | bench/dumb_backend.cc: check return value of posix_fadvise()Danny Al-Gaaf2013-05-311-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 743396 (#1 of 1): Unchecked return value from library (CHECKED_RETURN) check_return: Calling function "posix_fadvise(fd, offset, bl->length(), 4)" without checking return value. This library function may fail and return an error code. unchecked_value: No check of the return value of "posix_fadvise(fd, offset, bl->length(), 4)". Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | small_io_bench_fs.cc: check return value of FileStore::mkfs/mount()Danny Al-Gaaf2013-05-311-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 743398 (#1 of 1): Unchecked return value (CHECKED_RETURN) check_return: Calling function "FileStore::mount()" without checking return value (as is done elsewhere 4 out of 5 times). unchecked_value: No check of the return value of "fs.FileStore::mount()" Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | | mds/Locker.cc: fix explicit null dereferencedDanny Al-Gaaf2013-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CID 716916 (#1 of 1): Explicit null dereferenced (FORWARD_NULL) var_deref_model: Passing null pointer "in" to function "CInode::is_head()", which dereferences it. Add assert. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>