]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agov0.29.1 v0.29.1
Sage Weil [Thu, 16 Jun 2011 20:10:59 +0000 (13:10 -0700)]
v0.29.1

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agolibrbd: fix block_completion race condition
Josh Durgin [Tue, 14 Jun 2011 19:38:14 +0000 (12:38 -0700)]
librbd: fix block_completion race condition

If block completions finished before all of them were scheduled, the
pending_count could reach 0, and the callback could be called more
than once. This caused the reference counting to be off, so the next
call to the callback passed an invalid pointer, resulting in crashes
like this (or more mysterious ones):

common/Mutex.h: In function 'void Mutex::Lock(bool)', in thread '0x7f5f37e62700'
common/Mutex.h: 118: FAILED assert(r == 0)
 1: (librbd::RBD::AioCompletion::get_return_value()+0x19c) [0x7f5f408835bc]
 2: /usr/bin/kvm() [0x4629fd]
 3: (librbd::AioCompletion::complete_block(librbd::AioBlockCompletion*, long)+0x13c) [0x7f5f4088ab5c]
 4: (librbd::rados_aio_sparse_read_cb(void*, void*)+0x8d) [0x7f5f4088b40d]
 5: (librados::RadosClient::C_aio_sparse_read_Ack::finish(int)+0x12e) [0x7f5f4050beee]
 6: (Objecter::handle_osd_op_reply(MOSDOpReply*)+0x783) [0x7f5f40517863]
 7: (librados::RadosClient::_dispatch(Message*)+0x3c) [0x7f5f404ffe8c]
 8: (librados::RadosClient::ms_dispatch(Message*)+0x33) [0x7f5f404fff53]
 9: (SimpleMessenger::dispatch_entry()+0x69d) [0x7f5f405bf5bd]
 10: (SimpleMessenger::DispatchThread::entry()+0x1c) [0x7f5f4050052c]
 11: (()+0x6d8c) [0x7f5f40c9dd8c]
 12: (clone()+0x6d) [0x7f5f3e0b904d]

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: add AioCompletion debugging
Josh Durgin [Wed, 15 Jun 2011 19:04:23 +0000 (12:04 -0700)]
librbd: add AioCompletion debugging

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agolibrbd: fix AioCompletion race condition
Josh Durgin [Tue, 14 Jun 2011 19:38:14 +0000 (12:38 -0700)]
librbd: fix AioCompletion race condition

If block completions finished before all of them where scheduled, the
pending_count would reach 0, and the AioCompletion would be destroyed
since the refcount would also reach 0. To fix this, hold a reference
to the AioCompletion while scheduling more block completions.

This caused a crash like this when running qemu:

1: ceph::__ceph_assert_fail (assertion=<value optimized out>, file=<value optimized out>, line=<value optimized out>, func=<value optimized out>) at common/assert.cc:86
2: Lock (ictx=0x7f83d0001f00, off=5368705024, len=0, buf=0x2fac000 "", c=0x2cebe00) at common/Mutex.h:118
3: add_block_completion (ictx=0x7f83d0001f00, off=5368705024, len=0, buf=0x2fac000 "", c=0x2cebe00) at librbd.cc:159
4: librbd::aio_read (ictx=0x7f83d0001f00, off=5368705024, len=0, buf=0x2fac000 "", c=0x2cebe00) at librbd.cc:1368
5: rbd_aio_rw_vector (bs=<value optimized out>, sector_num=10485752, qiov=<value optimized out>, nb_sectors=<value optimized out>, cb=<value optimized out>, opaque=<value optimized out>, write=0) at block/rbd.c:626
6: qemu_rbd_aio_readv (bs=<value optimized out>, sector_num=<value optimized out>, qiov=<value optimized out>, nb_sectors=<value optimized out>, cb=<value optimized out>, opaque=<value optimized out>) at block/rbd.c:649
7: bdrv_aio_readv (bs=0x2ce92e0, sector_num=10485752, qiov=0x2de08f0, nb_sectors=8, cb=<value optimized out>, opaque=<value optimized out>)

Fixes: #998
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoPG: clear scrub_received_maps in scrub_clear_state
Samuel Just [Mon, 13 Jun 2011 20:32:18 +0000 (13:32 -0700)]
PG: clear scrub_received_maps in scrub_clear_state

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoReplicatedPG: make_writeable, use correct size for clone_size entry
Samuel Just [Thu, 9 Jun 2011 17:51:49 +0000 (10:51 -0700)]
ReplicatedPG: make_writeable, use correct size for clone_size entry

Previously, we used obs.oi.size for the clone size, but obs refers to
new_obs.  The clone's size should be the old size,
ctx->obc->obs.oi.size.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoman: update cosd man page to include info on flush-journal option.
Greg Farnum [Thu, 9 Jun 2011 18:10:57 +0000 (11:10 -0700)]
man: update cosd man page to include info on flush-journal option.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agomkcephfs: fix ceph.conf reference
Sage Weil [Thu, 9 Jun 2011 16:02:32 +0000 (09:02 -0700)]
mkcephfs: fix ceph.conf reference

It's $conf (which is $dir/conf).

Reported-by: biyan chen <riby.chen@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMakefile: remove ancient comment
Sage Weil [Wed, 8 Jun 2011 23:35:49 +0000 (16:35 -0700)]
Makefile: remove ancient comment

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomon: weaken pool creation caps check
Sage Weil [Wed, 8 Jun 2011 21:55:00 +0000 (14:55 -0700)]
mon: weaken pool creation caps check

Allow a pool creation if we specify an auid but are allowed to create
buckets as anybody.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomoncaps: whitespace
Sage Weil [Wed, 8 Jun 2011 21:53:22 +0000 (14:53 -0700)]
moncaps: whitespace

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoFix typo in usage output for --num-osds
Sam Lang [Wed, 8 Jun 2011 17:59:12 +0000 (12:59 -0500)]
Fix typo in usage output for --num-osds

This patch fixes the typo in the usage description to match the actual argument string.

Signed-off-by: Sam Lang <samlang@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoFix segfault caused by invalid argument string.
Sam Lang [Wed, 8 Jun 2011 17:59:11 +0000 (12:59 -0500)]
Fix segfault caused by invalid argument string.

This patchset includes minor fixes to the crushtool utility.  If an invalid bucket type is speicifed on the command line, the code was iterating through bucket_types for the length of the static array, but the last entry in that array has null (0) values, which was causing a segfault.  This patch just checks that bucket_types[i].name is non-null instead.  Also, if the wrong bucket type or algorithm is specified, prints the usage string on exit.

Signed-off-by: Sam Lang <samlang@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agov0.29 v0.29
Sage Weil [Mon, 6 Jun 2011 16:59:38 +0000 (09:59 -0700)]
v0.29

14 years agoremove dumpjournal
Greg Farnum [Mon, 6 Jun 2011 18:46:07 +0000 (11:46 -0700)]
remove dumpjournal

This code has suffered a great deal of bitrot and is superceded
by the cmds --dump-journal functionality anyway, which
is much more full-featured.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agoMerge remote branch 'origin/stable' into next
Sage Weil [Mon, 6 Jun 2011 16:57:41 +0000 (09:57 -0700)]
Merge remote branch 'origin/stable' into next

14 years agoMerge remote branch 'origin/filestore_debugging' into next
Sage Weil [Mon, 6 Jun 2011 16:56:45 +0000 (09:56 -0700)]
Merge remote branch 'origin/filestore_debugging' into next

14 years agoSimpleMessenger: Keep a disposable flag for use in reset
Samuel Just [Fri, 3 Jun 2011 16:15:18 +0000 (09:15 -0700)]
SimpleMessenger: Keep a disposable flag for use in reset

pipes marked disposable must not inherit the lossy policy on reconnect.
Also, in Pipe::writer, when sent.empty() && close_on_empty, mark as
lossy to ensure that fault will close the connection.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agorados_bencher: re-add written objects constraint to read benchmark.
Greg Farnum [Fri, 3 Jun 2011 18:53:10 +0000 (11:53 -0700)]
rados_bencher: re-add written objects constraint to read benchmark.

Somehow, in the last major change, the constraints that kept the
bencher from trying to read non-existent objects got removed. Put
a check back in the main bench loop to fix that.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agofilestore: compare dentry->d_type against d_type constant
Josh Durgin [Fri, 3 Jun 2011 01:17:29 +0000 (18:17 -0700)]
filestore: compare dentry->d_type against d_type constant

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agofilestore: stat to test for file type if d_type is unsupported
Josh Durgin [Thu, 2 Jun 2011 23:59:22 +0000 (16:59 -0700)]
filestore: stat to test for file type if d_type is unsupported

This only affects list_collections. Previously, when using an FS that
does not support d_type, like xfs, load_pgs would fail to find any
pgs, since list_collections skipped all files.

This made clients hang because all pgs were considered non-existent by
the osd.

Reported-by: Yoshiaki Tamura <yoshi@midokura.jp>
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoosd, filestore: debug collection listing
Josh Durgin [Thu, 2 Jun 2011 01:45:40 +0000 (18:45 -0700)]
osd, filestore: debug collection listing

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
14 years agoRemove unneeded libcrush1 files
Laszlo Boszormenyi [Sun, 29 May 2011 19:19:52 +0000 (21:19 +0200)]
Remove unneeded libcrush1 files

14 years agomds: journal parents of srci when srcdn is remote
Sage Weil [Thu, 2 Jun 2011 22:13:42 +0000 (15:13 -0700)]
mds: journal parents of srci when srcdn is remote

If srcdn is a remote dentry, we will be journaling the src inode to update
the mtime, but we need to ensure the parent dirs are in the metablob.

Fixes: #1132
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agojournaler: also initialize safe_pos
Sage Weil [Thu, 2 Jun 2011 21:51:20 +0000 (14:51 -0700)]
journaler: also initialize safe_pos

on reread_head.  Keep consistent across the two methods.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agojournaler: fix trim crash after standby-replay -> active
Sage Weil [Thu, 2 Jun 2011 21:50:45 +0000 (14:50 -0700)]
journaler: fix trim crash after standby-replay -> active

The reread_head method needs to initialize trimming_pos (like read_head
does) or else we get confused later.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: cleanup rename_prepare a bit
Sage Weil [Thu, 2 Jun 2011 21:14:15 +0000 (14:14 -0700)]
mds: cleanup rename_prepare a bit

Use *srci tmp.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agovstart.sh: turn down debug ms
Sage Weil [Thu, 2 Jun 2011 20:57:55 +0000 (13:57 -0700)]
vstart.sh: turn down debug ms

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: pin inode while one renamed_files list
Sage Weil [Thu, 2 Jun 2011 20:14:48 +0000 (13:14 -0700)]
mds: pin inode while one renamed_files list

Make sure the inode is pinned while it is on the LogSegment::renamed_files
list.  Avoids a crash when an inode on that list is wrongly trimmed.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agofilestore: fix fallback/slow do_clone_range
Sage Weil [Thu, 2 Jun 2011 16:17:02 +0000 (09:17 -0700)]
filestore: fix fallback/slow do_clone_range

We need to seek to the appropriate offsets on the src and destination
fd's for this to do the right thing.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomon: make sure osd paxos is writeable before doing timeouts
Sage Weil [Thu, 2 Jun 2011 04:20:58 +0000 (21:20 -0700)]
mon: make sure osd paxos is writeable before doing timeouts

The osd paxos machine has to be writeable before we can update it.

Fixes: #1130
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoOSD: don't keep old connection over new one in update_heartbeat_peers
Samuel Just [Thu, 2 Jun 2011 00:04:21 +0000 (17:04 -0700)]
OSD: don't keep old connection over new one in update_heartbeat_peers

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoMerge branch 'stable' into next
Sage Weil [Wed, 1 Jun 2011 23:28:17 +0000 (16:28 -0700)]
Merge branch 'stable' into next

14 years agoAllow embedded '\0' in bufferlists when copying to std::string.
Tommi Virtanen [Wed, 1 Jun 2011 16:36:12 +0000 (09:36 -0700)]
Allow embedded '\0' in bufferlists when copying to std::string.

Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
14 years agodebian: depend on libboost-dev >= 1.34
Sage Weil [Tue, 31 May 2011 19:58:35 +0000 (12:58 -0700)]
debian: depend on libboost-dev >= 1.34

for statechart.  Partially fixes #1124.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: don't leak Connection reference
Sage Weil [Wed, 25 May 2011 23:22:19 +0000 (16:22 -0700)]
osd: don't leak Connection reference

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: ignore old/stale heartbeat messages
Sage Weil [Wed, 25 May 2011 23:22:06 +0000 (16:22 -0700)]
osd: ignore old/stale heartbeat messages

If we get heartbeat messages from old epochs from peers that are not
current, drop them and mark the connection down.  Even if they are peers
we _should_ have (because we haven't gotten a notify yet to learn about
a pg we should have but don't yet) we have a newer map epoch and will learn
about them shortly, reopening the connection.

Fixes: #1107
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: fix map sharing due to heartbeats
Sage Weil [Wed, 25 May 2011 23:20:26 +0000 (16:20 -0700)]
osd: fix map sharing due to heartbeats

- share the map with the cluster addr
- use the new {note,get}_peer_epoch helpers to do it sanely
- don't share if we're booting; see 818fa33a661

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: protect recovery_wq ops with the recovery lock
Greg Farnum [Fri, 27 May 2011 19:55:22 +0000 (12:55 -0700)]
osd: protect recovery_wq ops with the recovery lock

We were calling recovery_item.remove_myself() without holding the
recoveryWQ::lock. Naughty naughty!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
14 years agocrushtool: add -v verbose for --test mode
Sage Weil [Mon, 30 May 2011 19:37:31 +0000 (12:37 -0700)]
crushtool: add -v verbose for --test mode

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoAdd content to obsync package
Laszlo Boszormenyi [Sun, 29 May 2011 19:42:54 +0000 (21:42 +0200)]
Add content to obsync package

14 years agov0.28.2 v0.28.2
Sage Weil [Sat, 28 May 2011 16:14:31 +0000 (09:14 -0700)]
v0.28.2

14 years agohadoop: track Hadoop API changes
Colin Patrick McCabe [Fri, 27 May 2011 21:46:19 +0000 (14:46 -0700)]
hadoop: track Hadoop API changes

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoSimpleMessenger: allow multiple calls to shutdown
Colin Patrick McCabe [Fri, 27 May 2011 21:04:36 +0000 (14:04 -0700)]
SimpleMessenger: allow multiple calls to shutdown

Fixes a case where radostool crashed on an error shutdown.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agocommon/Thread.h: const cleanup
Colin Patrick McCabe [Fri, 27 May 2011 21:01:45 +0000 (14:01 -0700)]
common/Thread.h: const cleanup

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMerge branch 'wip-obsync'
Colin Patrick McCabe [Fri, 27 May 2011 17:59:21 +0000 (10:59 -0700)]
Merge branch 'wip-obsync'

14 years agomkcephfs: pass config to osdmaptool
Sage Weil [Fri, 27 May 2011 04:37:03 +0000 (21:37 -0700)]
mkcephfs: pass config to osdmaptool

This lets OSDMap::create_simple() see g_conf.osd_pool_default_size when
creating the initial data, metadata, and rbd pools.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agodrop useless cm.txt
Sage Weil [Fri, 27 May 2011 04:31:18 +0000 (21:31 -0700)]
drop useless cm.txt

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosdmap: take default pool size from config
Sage Weil [Fri, 27 May 2011 04:20:55 +0000 (21:20 -0700)]
osdmap: take default pool size from config

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agocrushtool: update help
Sage Weil [Thu, 26 May 2011 22:07:37 +0000 (15:07 -0700)]
crushtool: update help

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobysnc: rgw target: validate all users
Colin Patrick McCabe [Thu, 26 May 2011 20:28:39 +0000 (13:28 -0700)]
obysnc: rgw target: validate all users

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMerge branch 'wip-obsync'
Colin Patrick McCabe [Thu, 26 May 2011 20:17:03 +0000 (13:17 -0700)]
Merge branch 'wip-obsync'

14 years agomon: remove pg_temp mappings when we delete pools
Sage Weil [Thu, 26 May 2011 20:17:12 +0000 (13:17 -0700)]
mon: remove pg_temp mappings when we delete pools

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agotest-obsync: test sync directly from s3->rgw
Colin Patrick McCabe [Thu, 26 May 2011 20:15:50 +0000 (13:15 -0700)]
test-obsync: test sync directly from s3->rgw

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agocrushtool: fix --add-item weight being zero when parent bucket(s) created
Sage Weil [Thu, 26 May 2011 20:12:04 +0000 (13:12 -0700)]
crushtool: fix --add-item weight being zero when parent bucket(s) created

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobsync: fix bucket creation through rgw target
Colin Patrick McCabe [Thu, 26 May 2011 18:21:23 +0000 (11:21 -0700)]
obsync: fix bucket creation through rgw target

The rgw: target can now create buckets. Add a test.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMerge branch 'stable'
Sage Weil [Thu, 26 May 2011 18:04:03 +0000 (11:04 -0700)]
Merge branch 'stable'

14 years agotest-obsync: test big objects, user-defined xattr
Colin Patrick McCabe [Thu, 26 May 2011 17:25:40 +0000 (10:25 -0700)]
test-obsync: test big objects, user-defined xattr

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomkcephfs: set rdir for local mon setup
Sage Weil [Thu, 26 May 2011 17:19:04 +0000 (10:19 -0700)]
mkcephfs: set rdir for local mon setup

Fixes: #1113
Reported-by: Bernard Grymonpon <bernard@openminds.be>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoinit-ceph: ssh
Sage Weil [Thu, 26 May 2011 16:55:37 +0000 (09:55 -0700)]
init-ceph: ssh

Another bell/whistle.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobysnc: fix content-type on RGWStore
Colin Patrick McCabe [Thu, 26 May 2011 00:48:02 +0000 (17:48 -0700)]
obysnc: fix content-type on RGWStore

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotest-obsync: compare_directory now compares xattrs
Colin Patrick McCabe [Thu, 26 May 2011 00:36:36 +0000 (17:36 -0700)]
test-obsync: compare_directory now compares xattrs

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoceph-pybind-test: test embedded NULLs in data
Colin Patrick McCabe [Wed, 25 May 2011 22:55:22 +0000 (15:55 -0700)]
ceph-pybind-test: test embedded NULLs in data

Test embedded nulls in rados data. Fix a bug in rados.Object.__str__

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobsync: more fixes for RgwStore
Colin Patrick McCabe [Wed, 25 May 2011 22:49:10 +0000 (15:49 -0700)]
obsync: more fixes for RgwStore

* Fix content-type handling

* add vvprint and use it in Object::equals.

* support RgwStore::prefix

* more tests

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agopybind/rados: correctly return data with NULLs
Colin Patrick McCabe [Wed, 25 May 2011 22:48:31 +0000 (15:48 -0700)]
pybind/rados: correctly return data with NULLs

Correctly handle returning data with embedded NULLs in it.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agopybind/rados.py: throw NoData on ENODATA
Colin Patrick McCabe [Wed, 25 May 2011 22:21:37 +0000 (15:21 -0700)]
pybind/rados.py: throw NoData on ENODATA

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomds: fix canceled lock attempt
Sage Weil [Wed, 25 May 2011 21:54:15 +0000 (14:54 -0700)]
mds: fix canceled lock attempt

If client tries to lock a file, has to wait, and then cancels the attempt,
the client will send an unlock request to unwind its state.

 - the unlock now removes the waiting lock attempt from the wait list
 - when the lock request retries and finds it is no longer on the wait
   list it will fail.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agopybind/rados.py: rados.Object.key should be string
Colin Patrick McCabe [Wed, 25 May 2011 21:22:51 +0000 (14:22 -0700)]
pybind/rados.py: rados.Object.key should be string

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobysnc: RgwStore: make sure destination users exist
Colin Patrick McCabe [Wed, 25 May 2011 19:58:39 +0000 (12:58 -0700)]
obysnc: RgwStore: make sure destination users exist

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoobsync: fix DST_OWNER
Colin Patrick McCabe [Wed, 25 May 2011 19:36:37 +0000 (12:36 -0700)]
obsync: fix DST_OWNER

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorgw: return EACCES if acl xattr doesn't exist
Yehuda Sadeh [Wed, 25 May 2011 19:32:50 +0000 (12:32 -0700)]
rgw: return EACCES if acl xattr doesn't exist

14 years agoobsync: Add boto_retries, remove rgw_store.prefix
Colin Patrick McCabe [Wed, 25 May 2011 19:05:15 +0000 (12:05 -0700)]
obsync: Add boto_retries, remove rgw_store.prefix

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorados python bindings: handle xattrs with NULL
Colin Patrick McCabe [Wed, 25 May 2011 18:01:16 +0000 (11:01 -0700)]
rados python bindings: handle xattrs with NULL

Handle extended attributes that contain NULL bytes correctly, rather
than treating everything as zero-terminated C strings.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoPG: fix race in _activate_committed
Samuel Just [Wed, 25 May 2011 17:54:27 +0000 (10:54 -0700)]
PG: fix race in _activate_committed

Previously, _activate_committed would access the osdmap epoch racing
with handle_osd_map's osdmap update.  This would allow a message to be
sent from a replica to the primary tagged with the same epoch as
last_warm_restart, though the event actually occured before
last_warm_restart.  Thus the primary would fail to ignore the event and
transition to crashed.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
14 years agoRgwStore: fix some ACL issues
Colin Patrick McCabe [Wed, 25 May 2011 17:50:15 +0000 (10:50 -0700)]
RgwStore: fix some ACL issues

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotest-obysnc.py: support librgw testing
Colin Patrick McCabe [Tue, 24 May 2011 22:39:58 +0000 (15:39 -0700)]
test-obysnc.py: support librgw testing

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoRename RadosStore to RgwStore
Colin Patrick McCabe [Tue, 24 May 2011 21:15:53 +0000 (14:15 -0700)]
Rename RadosStore to RgwStore

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agotest-obsync: refactor a little bit
Colin Patrick McCabe [Thu, 19 May 2011 23:33:13 +0000 (16:33 -0700)]
test-obsync: refactor a little bit

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoProper ACL support for rados targets
Colin Patrick McCabe [Wed, 18 May 2011 23:39:18 +0000 (16:39 -0700)]
Proper ACL support for rados targets

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomds: do not shift to EXCL or MIX while rdlocked
Sage Weil [Wed, 18 May 2011 04:29:33 +0000 (21:29 -0700)]
mds: do not shift to EXCL or MIX while rdlocked

There was an old change in file_eval() that was allowing us to switch from
SYNC to MIX or EXCL while there were rdlocks, which either caused lots of
lock thrashing or could (I think) hang things up completely.  This was
from ea10a672, an ancient fix for something related that appears to have
taken out the rdlocked check by accident.

In my tests (one writer, one stat-er), this took things from long stalls
(up to 20 seconds) to very responsive stats.  Yay!

Fixes: #791
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agocrushtool: clean up add-item a bit; don't add item to same bucket twice
Sage Weil [Wed, 25 May 2011 04:14:59 +0000 (21:14 -0700)]
crushtool: clean up add-item a bit; don't add item to same bucket twice

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agocrushtool: fix remove-item
Sage Weil [Wed, 25 May 2011 04:05:47 +0000 (21:05 -0700)]
crushtool: fix remove-item

Scan all buckets instead of doing a tree traverse.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoradosgw_admin: update clitest
Sage Weil [Wed, 25 May 2011 03:30:38 +0000 (20:30 -0700)]
radosgw_admin: update clitest

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agomkcephfs.in: print out usage if no actions given
Colin Patrick McCabe [Wed, 25 May 2011 01:16:08 +0000 (18:16 -0700)]
mkcephfs.in: print out usage if no actions given

If the user didn't specify any actions, print out a usage message rather
than silently exiting.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agorgw: Fix RGWAccess::init_storage_provider
Colin Patrick McCabe [Wed, 25 May 2011 00:50:24 +0000 (17:50 -0700)]
rgw: Fix RGWAccess::init_storage_provider

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agomkcephfs: error out on bad usage
Sage Weil [Wed, 25 May 2011 00:05:30 +0000 (17:05 -0700)]
mkcephfs: error out on bad usage

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomake: fix build for rgw
Yehuda Sadeh [Tue, 24 May 2011 23:40:12 +0000 (16:40 -0700)]
make: fix build for rgw

14 years agorgw_admin: clean warning
Yehuda Sadeh [Tue, 24 May 2011 23:33:11 +0000 (16:33 -0700)]
rgw_admin: clean warning

14 years agoMerge commit 'origin/master' into rgw-multiuser
Yehuda Sadeh [Tue, 24 May 2011 22:30:17 +0000 (15:30 -0700)]
Merge commit 'origin/master' into rgw-multiuser

14 years agorgw_admin: add key create
Yehuda Sadeh [Tue, 24 May 2011 21:29:50 +0000 (14:29 -0700)]
rgw_admin: add key create

14 years agorgw_admin: subuser and key removal
Yehuda Sadeh [Tue, 24 May 2011 21:17:59 +0000 (14:17 -0700)]
rgw_admin: subuser and key removal

14 years agojournaler: tolerate ENOENT when prezeroing
Sage Weil [Wed, 11 May 2011 04:35:50 +0000 (21:35 -0700)]
journaler: tolerate ENOENT when prezeroing

ENOENT is okay and expected.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agotest_common.sh: skip rm before put
Colin Patrick McCabe [Tue, 24 May 2011 19:36:07 +0000 (12:36 -0700)]
test_common.sh: skip rm before put

The rm before the put is unecessary and actually incorrect now.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoradostool: rados put should use write_full
Colin Patrick McCabe [Tue, 24 May 2011 19:34:56 +0000 (12:34 -0700)]
radostool: rados put should use write_full

If "rados put" uses write instead of write_full, the resulting object on
the server may be a mismash of old and new objects, if the old object
was longer than the new one. This is fairly counterintuitive behavior
for radostool, so remove it.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agoMerge branch 'wip_ceph_context'
Colin Patrick McCabe [Tue, 24 May 2011 19:22:30 +0000 (12:22 -0700)]
Merge branch 'wip_ceph_context'

14 years agoCreate a libcommon service thread
Colin Patrick McCabe [Mon, 23 May 2011 23:25:57 +0000 (16:25 -0700)]
Create a libcommon service thread

Create a libcommon service thread. Use it to handle SIGHUP.

Handle it by means of a flag that gets set. Using a queue would raise
the complicated question of what to do when the queue was full.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
14 years agolibrados: len should be size_t
Sage Weil [Tue, 24 May 2011 17:00:23 +0000 (10:00 -0700)]
librados: len should be size_t

Unsigned, and size_t because it's a buffer size.

Fixes signedness warning in testrados.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
14 years agoosd: add ability to explicitly mark unfound as lost
Sage Weil [Tue, 24 May 2011 16:47:06 +0000 (09:47 -0700)]
osd: add ability to explicitly mark unfound as lost

Instead of automatically marking unfound objects lost (once we've tried
every location we can think of), do it when the administator explicitly
says to.  This avoids marking things wrong incorrectly when there are
peering issues, and also allows the administrator to decide whether there
may be offline osds that are worth bringing online.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: make automatically marking of unfound as lost optional
Sage Weil [Tue, 24 May 2011 16:42:39 +0000 (09:42 -0700)]
osd: make automatically marking of unfound as lost optional

We may not want to do this automatically until we have more confidense in
the recovery code.  Even then, possible not.  In particular, the OSDs may
believe they have contact all possible homes for the data even though there
is some long-lost OSD that has the data on disk that if offline.

For now, we make the marking process explicit so that the administrator can
make the call.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: clean up get_or_create_stray
Sage Weil [Tue, 24 May 2011 16:26:40 +0000 (09:26 -0700)]
mds: clean up get_or_create_stray

Signed-off-by: Sage Weil <sage@newdream.net>