summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: allow setting preferred placement for new bucketswip-2169Yehuda Sadeh2012-12-136-5/+21
| | | | | | | | Setting HTTP_X_RGW_PLACEMENT with name of preferred pool, will try to use it for placement, if it has been part of the placement pool set. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* rgw_op: enforce minimum part size in multi-part uploadscaleb miles2012-12-133-0/+13
| | | | Signed-off-by: caleb miles <caleb.miles@inktank.com>
* mds: document EXCL -> (MIX or SYNC) transition decisionSage Weil2012-12-131-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously (in w26f6a8e48ae575f17c850e28e969d55bceefbc0f), for reasons that are somewhat obscured by passage of time, we did + if ((other_wanted & (CEPH_CAP_GRD|CEPH_CAP_GWR)) || But then we noticed that the loner may want to RD/WR and we are losing the loner status for some other reason. So just recently in b48dfeba3f99451815a5e2a538bea15cd87220d2 we changed it to + if (((other_wanted|loner_wanted) & (CEPH_CAP_GRD|CEPH_CAP_GWR)) || Then we noticed that a non-loner wanting to read and a loner wanting to read (i.e., no writers!) would lead to MIX, even when we want SYNC. So in 07b36992da35e8b54acf76af6c893a0d86f048fb we changed to + if (((other_wanted|loner_wanted) & CEPH_CAP_GWR) || This appears to be correct. The possible choices (wrt caps wanted): loner other want R R SYNC R R|W MIX R W MIX R|W R MIX R|W R|W MIX R|W W MIX W R MIX W R|W MIX W W MIX Which means any writer -> we want MIX. We only want SYNC when there is nobody who wants to write. Because you can't write in SYNC. Which in retrospect seems obvious. Signed-off-by: Sage Weil <sage@inktank.com>
* Merge remote branch 'origin/next'Josh Durgin2012-12-1313-20/+175
|\
| * qa: echo commands run by rbd map-unmap workunitJosh Durgin2012-12-131-1/+1
| | | | | | | | | | | | It's hard to figure out what failed without this. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| * auth: guard decode_decrypt with try blockSage Weil2012-12-121-2/+7
| | | | | | | | | | | | | | | | | | | | This will catch buffer decoding errors (maybe the block is empty) and return an error string. May fix (or possibly paper over) #3459. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * mount.fuse.ceph: strip out noauto optionSage Weil2012-12-121-3/+9
| | | | | | | | | | | | | | | | | | mount -a uses this, but also passes it to mount.fuse.ceph, and libceph complains: fuse: unknown option `noauto' Signed-off-by: Sage Weil <sage@inktank.com>
| * mount.fuse.ceph: add ceph-fuse mount helperSage Weil2012-12-124-2/+26
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * /etc/init.d/ceph: fs_type assignment syntax errorDan Mick2012-12-121-1/+1
| | | | | | | | | | | | | | | | This handles the remainder of 3581; it's a lot like the problem in mkcephfs, but it isn't mkcephfs. Fixes: #3581 Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * docs: better documentation of new rgw featureYehuda Sadeh2012-12-121-1/+1
| | | | | | | | | | | | Document rgw_extended_http_attrs config option. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: configurable list of object attributesYehuda Sadeh2012-12-125-14/+114
| | | | | | | | | | | | | | | | | | Fixes: #3535 New object attributes are now configurable. A list can be specified via the 'rgw extended http attrs' config param. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: option to provide alternative s3 put obj success codeYehuda Sadeh2012-12-122-0/+16
| | | | | | | | | | | | | | | | | | | | Fixes: #3529 Added a new option: rgw_s3_success_create_obj_status. Expected values are 0, 200, 201, 204. A value of 0 will skip the special handling altogether. Any value other than the specified will default to 200. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * doc: document swift compatibilityYehuda Sadeh2012-12-123-1/+75
| | | | | | | | | | | | Add a table that specifies swift features compatibility Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * docs: add rgw POST object as supported featureYehuda Sadeh2012-12-121-1/+1
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * docs: fix spacing in radosgw config-refYehuda Sadeh2012-12-111-0/+4
| | | | | | | | | | | | Needed to add an extra empty line between header and properties. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | filestore: Don't keep checking for syncfs if foundSam Lang2012-12-121-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Valgrind outputs a warning for unrecognized system calls, and does so for the syscall(__SYS_syncfs,...) and syscall(__NR_syncfs, ...) calls. This patch avoids making those calls (and the warning, when run in valgrind) if the syncfs libc call is available. INFO:teuthology.task.ceph.osd.1.err:--10568-- WARNING: unhandled syscall: 306 INFO:teuthology.task.ceph.osd.1.err:--10568-- You may be able to write your own handler. INFO:teuthology.task.ceph.osd.1.err:--10568-- Read the file README_MISSING_SYSCALL_OR_IOCTL. INFO:teuthology.task.ceph.osd.1.err:--10568-- Nevertheless we consider this a bug. Please report INFO:teuthology.task.ceph.osd.1.err:--10568-- it at http://valgrind.org/support/bug_reports.html. Signed-off-by: Sam Lang <sam.lang@inktank.com>
* | doc: Updated per comments in the mailing list.John Wilkins2012-12-121-3/+2
| | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | qa: exclude some more xfstestsJosh Durgin2012-12-111-2/+4
| | | | | | | | | | | | These worked on a newer kernel, but I forgot I had not updated it for the final image. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* | Merge branch 'next'Josh Durgin2012-12-113-5/+29
|\ \ | |/
| * Merge remote branch 'origin/wip-double-notify' into nextJosh Durgin2012-12-113-5/+29
| |\ | | | | | | | | | Reviewed-by: Sage Weil <sage.weil@inktank.com>
| | * st_rados_watch: tolerate extra notifiesJosh Durgin2012-12-111-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | With retries, it's possible for notifies to be received more than once when they are resent to different OSDs, since the OSDs only track them in memory. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
| | * objecter: don't use new tid when retrying notifiesJosh Durgin2012-12-112-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Watches update the on-disk state in the OSD, and aren't idempotent, so refreshing them must be treated as a separate transaction by the OSD. Notifies are just in-memory state, and resending them will result in acceptable behavior: - if it's the same osd, the resent op will be recognized as a duplicate - if it's a different osd, a new notify will be triggered since the new osd can't tell whether the original notify was received by any watchers Using a new tid for each resend can cause some unecessary extra work, as the first case turns into the second. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* | | Merge branch 'next'Sage Weil2012-12-1134-139/+1464
|\ \ \ | |/ /
| * | os/JournalingObjectStore: un-break op quiescing during journal replaySage Weil2012-12-111-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d9dce4e9273adb4279519d65a0d8bfdfecb5c516 broke journal replay because the commit thread may try to do a commit, and the ops are not being applied via the normal work queue. Add back in a simpler form of the old op quiescing (simpler because there is a single thread doing the replay). Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | mds: shutdown cleanly if can't authenticateYehuda Sadeh2012-12-112-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #3590 This was triggered when tried to run mds with cephx enabled against a mon without cephx support. We didn't handle the returned error at all, so this one fixes it. It also makes sure that we don't continue initialization until rotating keys are in place (as the osd does). Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | Merge remote-tracking branch 'gh/wip-conf' into nextSage Weil2012-12-113-8/+6
| |\ \ | | | | | | | | | | | | Reviewed-by: Greg Farnu <greg@inktank.com>
| | * | config: do not always print config file missing errorsSage Weil2012-12-103-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not generate errors each time we fail to open a config file; only generate one at the end if a search path was specified and none were usable, right before we (already) exit. This avoids spamming stderr about each path we tried in the search list before we found a good one. Signed-off-by: Sage Weil <sage@inktank.com>
| | * | config: always complain about config parse errorsSage Weil2012-12-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Complain about config parsing errors even when it is the default config file. We may also want to fail instead of continuing, but that is a separate issue. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | mds: fix journaling issue regarding rstat accountingYan, Zheng2012-12-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename operation can call predirty_journal_parents() several times. So a directory fragment's rstat can also be modified several times. But only the first modification is journaled because EMetaBlob::add_dir() does not update existing dirlump. For example: when hanlding 'mv a/b/c a/c', Server::_rename_prepare may first decrease directory a and b's nested files count by one, then increases directory a's nested files count by one. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
| * | | fix build of unittest_formatterDanny Al-Gaaf2012-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CRYPTO_CXXFLAGS to unittest_formatter_CXXFLAGS to find pk11pub.h to be included in src/common/ceph_crypto.h. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | | include/atomic.h: add stdlib.h for size_tDanny Al-Gaaf2012-12-111-0/+2
| | |/ | |/| | | | | | | | | | | | | Include missing stdlib.h needed for size_t. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * | Merge remote-tracking branch 'upstream/wip_split2' into nextSamuel Just2012-12-1025-119/+1417
| |\ \ | | |/ | |/| | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| | * OSD: get_or_create_pg doesn't need an op passed inSamuel Just2012-12-102-7/+5
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * LFNIndex: fix move_subdir commentsSamuel Just2012-12-101-2/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * HashIndex: fix typo in reset_attr documentationSamuel Just2012-12-101-1/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * HashIndex: init exists in col_split_level and reset_attrSamuel Just2012-12-101-2/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * PrioritizedQueue: increment ret when removing items from listSamuel Just2012-12-101-0/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * PrioritizedQueue: move if check out of loop in filter_list_pairsSamuel Just2012-12-101-4/+4
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * OSD: store current pg epoch in info and load at that epochSamuel Just2012-12-063-9/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to split, this did not matter. With split, however, it's crucial that a pg go through advance_pg() for the map causing the split. During operation, a PG lags the OSD superblock epoch. If the OSD dies after the OSD epoch passes the split but before the pg epoch passes the split, the PG will be reloaded at the OSD epoch and won't see the split operation. The PG collection might after that point contain incorrect objects which should have been split into a child. Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * OSD: account for split in project_pg_historySamuel Just2012-12-061-0/+7
| | | | | | | | | | | | | | | | | | split causes a new interval. Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * PG: update info.last_update_started in split_intoSamuel Just2012-12-061-0/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * OSDMonitor: require --allow-experimental-feature to increase pg_numSamuel Just2012-12-061-2/+7
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * PG: set child up/acting in split_intoSamuel Just2012-12-061-0/+5
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * OSD: do _remove_pg in add_newly_split_pg is pool if goneSamuel Just2012-12-061-0/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * osd/: dirty info and log on child during splitSamuel Just2012-12-062-0/+6
| | | | | | | | | | | | | | | | | | Otherwise, the log may not get written out. Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * osd/: mark info.stats as invalid after split, fix in scrubSamuel Just2012-12-064-1/+17
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * PG: split ops for child objects into childSamuel Just2012-12-066-3/+111
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * OSD: add initial split supportSamuel Just2012-12-063-24/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PGs are split after updating to the map on which they split. OSD::activate_map populates the set of currently "splitting" pgs. Messages for those pgs are delayed until the split is complete. We add the newly split children to pg_map once the transaction populating their on-disk state completes. Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * PG: add split_into to populate child membersSamuel Just2012-12-054-0/+134
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| | * osd/: splitting a pg now triggers a new intervalSamuel Just2012-12-055-6/+22
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>