Commit Graph

22848 Commits

Author SHA1 Message Date
Yehuda Sadeh
3a95d97648 rgw: configurable list of object attributes
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>
2012-12-12 13:45:21 -08:00
Yehuda Sadeh
8708724557 rgw: option to provide alternative s3 put obj success code
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>
2012-12-12 13:45:21 -08:00
Yehuda Sadeh
bece012caa doc: document swift compatibility
Add a table that specifies swift features compatibility

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-12 13:08:05 -08:00
Yehuda Sadeh
88229a49d9 docs: add rgw POST object as supported feature
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-12 13:08:04 -08:00
Yehuda Sadeh
54618afab2 docs: fix spacing in radosgw config-ref
Needed to add an extra empty line between header and properties.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-11 17:49:34 -08:00
Josh Durgin
326dd34726 Merge remote branch 'origin/wip-double-notify' into next
Reviewed-by: Sage Weil <sage.weil@inktank.com>
2012-12-11 16:39:59 -08:00
Sage Weil
caea0cbf9f os/JournalingObjectStore: un-break op quiescing during journal replay
Commit d9dce4e927 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>
2012-12-11 17:15:56 -08:00
Josh Durgin
3950182268 st_rados_watch: tolerate extra notifies
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>
2012-12-11 15:44:32 -08:00
Yehuda Sadeh
29307d3b32 mds: shutdown cleanly if can't authenticate
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>
2012-12-11 15:08:58 -08:00
Sage Weil
6007088c53 Merge remote-tracking branch 'gh/wip-conf' into next
Reviewed-by: Greg Farnu <greg@inktank.com>
2012-12-11 15:07:38 -08:00
Josh Durgin
c3107009f6 objecter: don't use new tid when retrying notifies
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>
2012-12-11 11:13:17 -08:00
Yan, Zheng
9a40ef0131 mds: fix journaling issue regarding rstat accounting
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>
2012-12-11 09:06:52 -08:00
Danny Al-Gaaf
b9d717cd34 fix build of unittest_formatter
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>
2012-12-11 08:44:11 -08:00
Danny Al-Gaaf
be372765b2 include/atomic.h: add stdlib.h for size_t
Include missing stdlib.h needed for size_t.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2012-12-11 08:44:09 -08:00
Samuel Just
bcf1461c7e Merge remote-tracking branch 'upstream/wip_split2' into next
Reviewed-by: Greg Farnum <greg@inktank.com>
2012-12-10 22:00:36 -08:00
Samuel Just
1699b7dc5e OSD: get_or_create_pg doesn't need an op passed in
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-10 19:03:55 -08:00
Samuel Just
6a4fa89afa LFNIndex: fix move_subdir comments
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-10 17:45:02 -08:00
Samuel Just
fdcdca7d68 HashIndex: fix typo in reset_attr documentation
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-10 17:40:10 -08:00
Samuel Just
7eac96827e HashIndex: init exists in col_split_level and reset_attr
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-10 17:39:13 -08:00
Samuel Just
12673c24f2 PrioritizedQueue: increment ret when removing items from list
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-10 17:31:44 -08:00
Samuel Just
80cca214b9 PrioritizedQueue: move if check out of loop in filter_list_pairs
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-10 17:30:59 -08:00
Sage Weil
a50c7d3b2f config: do not always print config file missing errors
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>
2012-12-10 16:41:19 -08:00
Sage Weil
6fb9a5580e config: always complain about config parse errors
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>
2012-12-10 14:44:16 -08:00
Sage Weil
e4d0aeace1 Merge remote-tracking branch 'gh/wip-filestore2' into next
Reviewed-by: Sam Just <sam.just@inktank.com>
2012-12-10 14:34:07 -08:00
Samuel Just
788992bbf5 config_opts.h: adjust recovery defaults
osd max backfills: 5 was too low for a default, 10
 seems to work better in testing.  The message
 priority system should minimize disruption of
 push and pull operations anyway.

osd recovery max chunk: 1MB was too small for a
 default.  8MB is reasonable for a single push
 and will allow us to recover an rbd block in
 one push rather then 4 reducing client io
 latency during log-based recovery.

osd recovery op priority: 10 rather than 30 will
 further reduce the client io latency impact of
 push and pull operations.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-12-10 13:53:10 -08:00
Sage Weil
45865285e7 Merge remote-tracking branch 'gh/wip-3559' into next
Reviewed-by: Sage Weil <sage@inktank.com>
2012-12-10 12:55:14 -08:00
Sage Weil
333b3f43b5 mon: fix leak of pool op reply data
We pass a pointer because it is an optional argument, but we shouldn't
put the bufferlist on the heap or else we have to manage it's life
cycle, and that's fragile (and previously broken).

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 21:44:54 -08:00
Sage Weil
f66fe7783e os/JournalingObjectStore: simplify op_submitting sanity check
A list is overkill; just use a seq and make sure it increments to ensure
the op_submit_finish calls are in order.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 09:32:47 -08:00
Sage Weil
a88b584933 os/JournalingObjectStore: remove unused ops_submitting
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 09:32:47 -08:00
Sage Weil
ad4158d1ab os/JourningObjectStore: drop now-useless max_applying_seq
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 09:32:47 -08:00
Sage Weil
d9dce4e927 filestore: simplify op quescing
The delicate balancing with op_apply_start() and that fact that it can
block was making it very hard to determine how long commit_start() should
wait, since requests in the workqueue threads could op_apply_start() in
any order.  For example,

 threadA: gets osr1 from wq
 threadA: gets osr2 from wq
 threadA: dequeue seq 11 from osr1, op_apply_start
 threadC: commit_start on 11
 threadA: op_apply_finish on seq 11
 threadC: commit_started, commit_finish
 threadB: dequeue seq 10 from osr2
   <failed assert, badness>

Instead, rip out all this code, and use the ThreadPool pause() method to
quiesce operations.  Keep some of the (now unnecessary) fields around
for sanity checks (blocked, open_ops, max_applying_seq, etc.).

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 09:32:47 -08:00
Sage Weil
25ea06969f osd: make pool_stat_t encoding backward compatible with v0.41 and older
In particular, this is the encoding that is used in precise.

Fixes: #3212
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 09:24:38 -08:00
Sage Weil
81e567c90d Merge remote-tracking branch 'gh/wip-ceph-test' into next 2012-12-08 09:18:21 -08:00
Sage Weil
e227c70945 crush/CrushWrapper: do not crash if you move an item with no current home
This will let us take an existing orphan and place it somewhere.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 09:17:51 -08:00
Joao Eduardo Luis
1acb691008 mon: Elector: init elector before each election
Fixes: #3587

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2012-12-08 09:16:02 -08:00
Sage Weil
42d21937fb Merge branch 'testing' into next 2012-12-08 09:12:21 -08:00
Sage Weil
f3029833c3 init-ceph: =, not ==
Reported-by: v@alan.lt
Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-08 09:12:07 -08:00
Dan Mick
8816b39aad debian: add ceph.postinst to remove /etc/init/ceph.conf on update
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2012-12-07 23:11:39 -08:00
Samuel Just
fc58299eea PG: remove last_epoch_started asserts in proc_primary_info
These asserts are valid for a uniform cluster, but they won't hold
for a replica running a version without the info.last_epoch_started
patch.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 0756052cff)
2012-12-07 22:36:36 -08:00
Yehuda Sadeh
81fdea135c auth: set default auth_client_required
Fixes: #3578
Set auth_client_required to default to "cephx, none".

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-07 22:33:31 -08:00
Peter Reiher
a3908a6898 auth: changed order of test for legacy and new authentication
Changed order of test for legacy and new configuration options
in several places.

Signed-off-by: Peter Reiher <reiher@inktank.com>
2012-12-07 22:33:27 -08:00
Yehuda Sadeh
907da185a8 auth: improve logging
Add some logging around failure cases.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-12-07 22:32:59 -08:00
Dan Mick
8355733027 rbd: use ExportContext for progress, not cerr
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-07 16:41:04 -08:00
Sage Weil
07b36992da mds: move from EXCL to SYNC if nobody wants to write
We were moving to the MIX even if nobody wanted to write; that is not
useful, since if we only want to read SYNC will let us cache those reads.
SYNC is also a more friendly place (all things equal) to be.

Signed-off-by: Sage Weil <sage@inktank.com>
2012-12-07 10:18:40 -10:00
Sam Lang
636048db61 mds/locker: Add debugging for excl->mix trans
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-12-07 10:18:40 -10:00
Sam Lang
fa5a46c75e test/libcephfs: Add a test for validating caps
Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-12-07 10:18:35 -10:00
Sam Lang
10bf150990 client: Add routine to get caps of file/fd
In order to properly validate the client capabilities,
we need to be able to access them from libcephfs.

Signed-off-by: Sam Lang <sam.lang@inktank.com>
2012-12-07 10:18:26 -10:00
Josh Durgin
efc6614883 librbd: change internal order parameter to pass-by-value
It doesn't change in any of these places.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-07 10:37:51 -08:00
Josh Durgin
57d5c69985 librbd: clean up after errors in create
Split format 1 and 2 image creation into separate functions for better
readability. Format 2 requires more error handling.

Fixes: #2677
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-07 10:37:51 -08:00
Josh Durgin
c1bf2291e8 librbd: bump version for new functions
copy2, clone2, and create3 are new.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-12-07 10:37:51 -08:00