Commit Graph

16505 Commits

Author SHA1 Message Date
Josh Durgin 683f4dca79 rbd.py: add class and method documentation
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-30 11:37:15 -07:00
Josh Durgin 1c1785da3e rbd.py: use a dict to translate error codes
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-30 11:37:15 -07:00
Josh Durgin faeecd817b rbd.py: allow setting an image to no snapshot
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-30 11:37:15 -07:00
Josh Durgin da61e1e757 rbd.py: turn EROFS into an exception
This is returned when trying to write to a snapshot.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-30 11:37:15 -07:00
Samuel Just 79fddd2097 Cond.h: adjust nlock during waits
Previously, is_locked could erroneously return true if there were any
threads waiting on a cond on that lock.  In particular, any lock
associated with a timer would always return true for is_locked if any
events were scheduled on the timer.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-09-29 12:04:34 -07:00
Samuel Just d38b9a53b1 ReplicatedPG: dump_watchers in do_osd_op_effects
dump_watchers requires the osd watch_lock.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-09-29 12:04:21 -07:00
Samuel Just 1eb1ce4d36 librados: Make notify a linger op
Notifies must be refreshed when the mapping changes.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-09-29 12:04:21 -07:00
Sage Weil 2269dc255a test_async_snap: loop a finite number of times.
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-29 11:50:01 -07:00
Sage Weil 697e664cc5 qa: btrfs: test_async_snap
Hammer on the btrfs async sync/snap create/remove ioctls.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-29 11:48:00 -07:00
Hannes Reinecke bd9144408d Use LIBEDIT_LIBS in Makefile.am
The editline library might require some additional libs, so
instead of hardcoding '-ledit' we should be using LIBEDIT_LIBS
in Makefile.am

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-28 08:49:14 -07:00
Sage Weil aa20f0d6ca Merge branch 'wip-dotnames' 2011-09-27 21:47:03 -07:00
Sage Weil a1521ae82c clientN -> client.N
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:46:26 -07:00
Sage Weil 214e7b199d monN -> mon.N
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:43:59 -07:00
Sage Weil f5fd7f19f3 mdsN -> mds.N
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:42:35 -07:00
Sage Weil 4b09c1ad45 osdN -> osd.N
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:34:44 -07:00
Sage Weil 594180adc7 msgr: print entity_name_t with a .
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 21:29:22 -07:00
Sage Weil fa2fdd9c32 osd: fix leak of src_obc references
We never moved the src_obc map from the local var into the RepGather
member!

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:28:27 -07:00
Sage Weil fc2df62300 test-rados-api: test tmap rm
Make sure we get ENOENT if the entry doesn't exist.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:19:48 -07:00
Sage Weil 21aa6d5834 osd: error out current op only on tmap ENOENT
If an individual op in do_osd_ops() fails, set result, and continue to the
end of the loop.  Normally we'll return the error then, but if the ignore
error flag is set we'll continue.

Fix the tmap error handling so that we don't modify the tmap if the op
failed.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:16:38 -07:00
Sage Weil 532c594cbc osd: some PgPriorSet comments, trivial cleanups, new FIXME
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:03:28 -07:00
Sage Weil ce086ff35e osd: skip replay phase if osd_replay_window=0
The replay phase is only useful if there are clients waiting for ACK (but
not COMMIT) and expect ordering to be preserved across OSD failures.
Currently nobody does that except the client in sync io mode (shared
writers).  For installations where we don't care (e.g., using rados only),
we can disable replay altogether.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-09-27 21:03:28 -07:00
Samuel Just 390b790517 ReplicatedPG: remove assert in remove_watcher
notif is not in notif->session->notifs.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-09-27 15:50:13 -07:00
Samuel Just a28047b48a ReplicatedPG: clean up watched objects on role change
Also removes inconsistent watch handling in handle_notify_timeout.
We will need to handle watch timeouts elsewhere.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-09-27 14:10:40 -07:00
Sage Weil e63b86d750 ceph-authtool: fix -C
Fixes: #1578
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 13:09:59 -07:00
Sage Weil 607634f601 ceph.spec.in: radosgw init script
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 13:08:13 -07:00
Sage Weil b690475c5a mon: auth: implement 'auth print-key <name>'
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 13:06:02 -07:00
Sage Weil 3a73606b84 mon: fix error return codes for 'auth ...'
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 13:06:02 -07:00
Josh Durgin edb2587a92 ceph.spec.in: add rbd python bindings
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-27 12:34:37 -07:00
Josh Durgin 951ce29ef2 debian: make python-ceph depend on librbd
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-27 12:34:32 -07:00
Josh Durgin 58003d235a pybind: fix errors found by pyflakes
Unused imports, typos, and unused variables.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-27 12:31:54 -07:00
Sage Weil 25ff9fdf83 debian: move ceph and ceph-authtool into ceph-common
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 12:41:32 -07:00
Sage Weil 9be9f916a4 mon: auth: generate random key on 'auth add ...' if no keyring is provided
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 12:41:11 -07:00
Sage Weil 1a14a23da0 debian: ceph-client-tools -> ceph-common, now required, w/ ceph-conf etc.
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 10:02:47 -07:00
Sage Weil 9e2edce24a osdmap: remove dead code
Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-27 09:15:37 -07:00
Sage Weil 9045b3f5a5 Merge branch 'stable' 2011-09-26 21:49:12 -07:00
Sage Weil d340e8e742 radosgw: fix content-length checks
Ignore content-length check if the REQUEST_URI has a trailing ?acl.

(The object_str.find() check was wrong because object_str has the ?whatever
stripped off, and because it returns std::string::npos on failure.)

Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-26 21:48:54 -07:00
Sage Weil e47c11cf5d radosgw: tolerate race creating .rgw* metadata pools
There may be multiple people trying to create these pools.  That's just
fine.

Signed-off-by: Sage Weil <sage@newdream.net>
2011-09-26 21:47:42 -07:00
Josh Durgin 916e49d710 librbd: fix end_block calculation for read_iterate
All end block calculations match now.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin d71bf04f3f test_rbd.py: Add large read and write tests
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin 8ca79a96c8 librbd: don't zero negative lengths
They are past the end of the buffer (and wrap around).

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin 4bb553b9f7 rados.py: be paranoid about strings
This prevents bad conversions (i.e. from int to char *).

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin a28eea8547 rbd.py: remove useless version object
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin 10157d2ef7 rbd.py: be paranoid about strings
This prevents bad conversions (i.e. from int to char *).

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin 5cd6fad4b2 rbd.py: explicitly cast strings to c_char_p for type clarity
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin e8d476da79 rbd.py: pass 0 for the default order, not NULL
librbd expects the order pointer to be valid - if it points to 0, the
default order is used.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:40 -07:00
Josh Durgin 69a5e795bb rados.py: make exceptions inherit from a base class
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:39 -07:00
Josh Durgin c53d05af6a rados.py: allow configuring rados through constructor options
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:39 -07:00
Josh Durgin c60abe1b48 rbd.py: make Image a context manager
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:39 -07:00
Josh Durgin c34e87d098 rados.py: make Rados and Ioctx objects context managers
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:39 -07:00
Josh Durgin a381294e92 rbd.py: make exceptions inherit from a base class
This way you can catch them all.
Also remove the unused NoData exceptions
- this was just useful for xattrs in librados.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
2011-09-26 18:10:39 -07:00