summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* test/osd/TestPGLog: %s/dirty()/is_dirty()wip-log-rewrite-samSamuel Just2013-06-171-38/+38
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: check for dirty_to != eversion_t() and dirty_from != eversion_t::max()Samuel Just2013-06-171-5/+7
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: rename dirty() to is_dirty()Samuel Just2013-06-172-2/+2
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: only iterate over dirty portions of the logSamuel Just2013-06-171-11/+21
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog,PG: use normal log dirtying and writing for append and trimSamuel Just2013-06-175-12/+20
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: add debug check on written keys, verify on writeSamuel Just2013-06-172-13/+55
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* test/osd/TestPGLog: fix pglog unittests for dirty_log and ondisklogSamuel Just2013-06-172-129/+70
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PG,PGLog: remove dirty_log argumentsSamuel Just2013-06-174-23/+14
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: replace dirty_log with mark_dirty_*Samuel Just2013-06-171-3/+3
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PG: move instances of log dirtying in PG into PGLogSamuel Just2013-06-172-5/+3
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: track dirty_to and dirty_from for logSamuel Just2013-06-172-15/+101
| | | | | | | This allows the log to only write out/clear the keys which have actually changed. Signed-off-by: Samuel Just <sam.just@inktank.com>
* osd_types: move code for pg_log_entry_t::get_key_name into eversion_tSamuel Just2013-06-172-3/+12
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: remove OndiskLogSamuel Just2013-06-172-87/+0
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: remove other ondisklog referencesSamuel Just2013-06-173-19/+18
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: pass only divergent_priors, not ondisklogSamuel Just2013-06-172-7/+12
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PG: remove ondisklog usages from PGSamuel Just2013-06-171-65/+5
| | | | | | ondisklog is now only relevant for the divergent priors mapping. Signed-off-by: Samuel Just <sam.just@inktank.com>
* FileStore: add rmkeyrangeSage Weil2013-06-173-0/+52
| | | | | | | Handling it in DBObjectMap really only has efficiency advantages if the object is a clone. Signed-off-by: Samuel Just <sam.just@inktank.com>
* PGLog: clear missing on backfill resetSamuel Just2013-06-173-0/+11
| | | | | | | | When backfill is reset, the missing set should be cleared since all objects are >last_backfill. Fixes: #5320 Signed-off-by: Samuel Just <sam.just@inktank.com>
* *: always include rados.h using types.hSamuel Just2013-06-176-8/+3
| | | | | | | | types.h redefines __le* to ceph_le* to ensure endian safety. Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* Merge branch 'next'Samuel Just2013-06-174-17/+24
|\
| * OSD: we need to check pg ?.0 for resurrectionSamuel Just2013-06-171-1/+3
| | | | | | | | | | | | | | Fixes: #5269 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * rgw: escape prefix correctly when listing objectsYehuda Sadeh2013-06-171-2/+6
| | | | | | | | | | | | | | | | | | | | | | Fixes: #5362 When listing objects prefix needs to be escaped correctly (the same as with the marker). Otherwise listing objects with prefix that starts with underscore doesn't work. Backport: bobtail, cuttlefish Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * client: fix ancient typo in caps revocation pathSage Weil2013-06-171-1/+1
| | | | | | | | | | | | | | | | | | If we have dropped all references to a revoked capability, send the ack to the MDS. This typo has been there since v0.7 (early 2009)! Backport: cuttlefish Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * mon: make mark_me_down asserts match checkSage Weil2013-06-161-13/+14
| | | | | | | | | | | | | | | | The OSD may have sent a request where the message source does not match the target in the message. Verify that the target matches so that it matches the assert. Signed-off-by: Sage Weil <sage@inktank.com>
* | libcephfs: add a couple multiclient testsSage Weil2013-06-172-1/+98
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | client: fix sync read zeroing at EOFSage Weil2013-06-171-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | If we have a read that hits EOF, we need to do a short read. Previously we would zero the buffer if we were completely withing the file, but we also need to zero things if we overlap with EOF. This fixes a hang of mpi-fsx on ceph-fuse. Triggered/tested by LibCephFS.MulticlientHoleEOF. Fixes: #5368 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* | Merge branch 'next'Sage Weil2013-06-162-16/+11
|\ \ | |/
| * ceph: remove space when prefix is blankSage Weil2013-06-161-4/+4
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph: fix return code for multi-target commandsSage Weil2013-06-161-1/+1
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph: error out properly when failing to get commandsSage Weil2013-06-161-4/+1
| | | | | | | | | | | | | | If we make ret positive here we miss the failure check below. Instead, just set outs appropriately. Signed-off-by: Sage Weil <sage@inktank.com>
| * test/admin_socket/objecter_requests: fix testSage Weil2013-06-161-1/+1
| | | | | | | | | | | | | | Commit 2bda9db1c24530cbaaa161b7ff0a80efa913aa78 added command_ops to the result. Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph: do not print status to output file when talking to old monsSage Weil2013-06-161-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The old cli would send the status message to stdout instead of stderr; we try to emulate that behavior when talking to old monitors because they send some useful data to outs instead of the data payload. However, when outputting to a *file*, the outs would still go to stdout. Maintain that so that, e.g., ceph mon getmap -o /tmp/foo doesn't prefix the monmap with 'got latest monmap\n'. Signed-off-by: Sage Weil <sage@inktank.com>
* | osd/ReplicatedPG: length 0 writes are allowedSage Weil2013-06-161-3/+0
| | | | | | | | | | | | From f1b6bd7988ab964c9167eff7bea51a49573f5175. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge branch 'next'Sage Weil2013-06-152-6/+12
|\ \ | |/
| * common/Preforker: fix broken recursion on exit(3)Sage Weil2013-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we exit via preforker, call exit(3) and not recursively back into Preforker::exit(r). Otherwise you get a hang with the child blocked at: Thread 1 (Thread 0x7fa08962e7c0 (LWP 5419)): #0 0x000000309860e0cd in write () from /lib64/libpthread.so.0 #1 0x00000000005cc906 in Preforker::exit(int) () #2 0x00000000005c8dfb in main () and the parent at #0 0x000000309860eba7 in waitpid () from /lib64/libpthread.so.0 #1 0x00000000005cc87a in Preforker::parent_wait() () #2 0x00000000005c75ae in main () Backport: cuttlefish Signed-off-by: Sage Weil <sage@inktank.com>
| * osd/OSDMap: fix is_blacklisted()Sage Weil2013-06-151-4/+10
| | | | | | | | | | | | | | | | You can only call set_port() if is_ip() is true (there is an assert in the accessor). Fixes: #5366 Signed-off-by: Sage Weil <sage@inktank.com>
* | qa/workunits/misc/multiple_rsync.sh: wtfSage Weil2013-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-06-15T12:55:29.808 INFO:teuthology.task.workunit.client.0.err:+ rsync -auv --exclude local/ /usr/ usr.1 2013-06-15T12:55:29.808 INFO:teuthology.task.workunit.client.0.err:+ tee a 2013-06-15T12:55:29.820 INFO:teuthology.task.workunit.client.0.out:sending incremental file list 2013-06-15T12:56:46.019 INFO:teuthology.task.workunit.client.0.out: 2013-06-15T12:56:46.020 INFO:teuthology.task.workunit.client.0.out:sent 1452634 bytes received 7485 bytes 19086.52 bytes/sec 2013-06-15T12:56:46.020 INFO:teuthology.task.workunit.client.0.out:total size is 3205063225 speedup is 2195.07 2013-06-15T12:56:46.020 INFO:teuthology.task.workunit.client.0.err:+ wc -l a 2013-06-15T12:56:46.021 INFO:teuthology.task.workunit.client.0.out:4 a 2013-06-15T12:56:46.022 INFO:teuthology.task.workunit.client.0.err:+ wc -l a 2013-06-15T12:56:46.022 INFO:teuthology.task.workunit.client.0.err:+ grep 4 2013-06-15T12:56:46.023 INFO:teuthology.task.workunit.client.0.out:4 a 2013-06-15T12:56:46.024 INFO:teuthology.task.workunit.client.0.err:+ rsync -auv --exclude local/ /usr/ usr.2 2013-06-15T12:56:46.024 INFO:teuthology.task.workunit.client.0.err:+ tee a 2013-06-15T12:56:46.112 INFO:teuthology.task.workunit.client.0.out:sending incremental file list 2013-06-15T12:57:17.172 INFO:teuthology.task.workunit.client.0.out: 2013-06-15T12:57:17.174 INFO:teuthology.task.workunit.client.0.out:sent 1452634 bytes received 7485 bytes 46352.98 bytes/sec 2013-06-15T12:57:17.174 INFO:teuthology.task.workunit.client.0.out:total size is 3205063225 speedup is 2195.07 2013-06-15T12:57:17.175 INFO:teuthology.task.workunit.client.0.err:+ wc -l a 2013-06-15T12:57:17.175 INFO:teuthology.task.workunit.client.0.out:3 a Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge remote-tracking branch 'gh/next'Sage Weil2013-06-147-23/+69
|\ \ | |/
| * ceph: pass --format=foo to old monitorsSage Weil2013-06-141-0/+4
| | | | | | | | | | | | | | And --threshold too, although.. really. Signed-off-by: Sage Weil <sage@inktank.com> Reviwed-by: Dan Mick <dan.mick@inktank.com>
| * ceph: add newline when using old monitorsSage Weil2013-06-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | The old tool would print a newline after outs, e.g. from 'ceph osd create'. Do the same when we are talking to old monitors. Also, put outs at the top, not the bottom! Tweak the json code to not add the newline again if we already did so above. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
| * ceph.in: zero-arg invocation was broken (check array length)Dan Mick2013-06-141-2/+2
| | | | | | | | | | | | Also remove stray comment char Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * rules: Don't disable tcmalloc on ARM (and other non-intel)Gary Lowell2013-06-141-7/+0
| | | | | | | | | | | | Fixes #5342 Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
| * udev: drop useless --mount argument to ceph-diskSage Weil2013-06-142-4/+4
| | | | | | | | | | | | It doesn't mean anything anymore; drop it. Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph-disk-udev: activate-journalSage Weil2013-06-141-0/+2
| | | | | | | | | | | | Trigger 'ceph-disk activate-journal' from the alt udev rules. Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph-disk: do not use mount --move (or --bind)Sage Weil2013-06-141-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel does not let you mount --move when the parent mount is shared (see, e.g., https://bugzilla.redhat.com/show_bug.cgi?id=917008 for another person this also confused). We can't use --bind either since that (on RHEL at least) screws up /etc/mtab so that the final result looks like /var/lib/ceph/tmp/mnt.HNHoXU /var/lib/ceph/osd/ceph-0 none rw,bind 0 0 Instead, mount the original dev in the final location and then umount from the old location. Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph.spec: include by-partuuid udev workaround rulesSage Weil2013-06-141-0/+2
| | | | | | | | | | | | | | These are need for old or buggy udev. Having them for new and unbroken udev is harmless. Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph.spec: add missing ceph_test_rados_api_cmd to packageSage Weil2013-06-141-0/+1
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * ceph: flush stderr, stdout for sane output; add prefixSage Weil2013-06-141-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aie. e.g., ceph tell mon.* injectargs '--debug-ms 1' mon.a: injectargs:debug_ms=1/1 mon.b: injectargs:debug_ms=1/1 mon.c: injectargs:debug_ms=1/1 or osd.0: debug_ms=1/1 osd.1: debug_ms=1/1 osd.2: Problem getting command descriptions from ('osd', '2'), ENXIO osd.3: Problem getting command descriptions from ('osd', '3'), ENXIO osd.4: Problem getting command descriptions from ('osd', '4'), ENXIO osd.5: Problem getting command descriptions from ('osd', '5'), ENXIO Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
| * ceph-disk: work around buggy rhel/centos partedSage Weil2013-06-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | parted on RHEL/Centos prefixes the *machine readable output* with 1b 5b 3f 31 30 33 34 68 Note that the same thing happens when you 'import readline' in python. Work around it! Signed-off-by: Sage Weil <sage@inktank.com>
| * mon: OSDMonitor: don't ignore apply_incremental()'s return on UfP [1]Joao Eduardo Luis2013-06-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | apply_incremental() may return -EINVAL. Don't ignore it. [1] UfP = Update from Paxos Fixes: #5343 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>