Commit Graph

23585 Commits

Author SHA1 Message Date
Yan, Zheng
6714497375 mds: allow journaling multiple root inodes in EMetaBlob
In some cases (rename, rmdir, subtree map), we may need journal multiple
root inodes (/, mdsdir) in one EMetaBlob. This patch modifies EMetaBlob
format to support journaling multiple root inodes.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-01-28 10:18:15 +08:00
Yan, Zheng
919df3bf72 mds: lock remote inode's primary dentry during rename
commit 1203cd2110 (mds: allow open_remote_ino() to open xlocked dentry)
makes Server::handle_client_rename() xlocks remote inodes' primary
dentry so witness MDS can open xlocked dentry. But I added remote inodes'
projected primary dentries to the xlock list. This is wrong because
projected dentries are invisible for path traverse.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-01-28 10:18:15 +08:00
Yan, Zheng
5176cb7100 mds: check deleted directory in Server::rdlock_path_xlock_dentry
Commit b03eab22e4 (mds: forbid creating file in deleted directory)
is not complete, mknod, mkdir and symlink are missed. Move the ckeck
into Server::rdlock_path_xlock_dentry() fixes the issue.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-01-28 10:18:15 +08:00
Yan, Zheng
6bd676ea79 mds: fix end check in Server::handle_client_readdir()
commit 1174dd3188 (don't retry readdir request after issuing caps)
introduced an bug that wrongly marks 'end' in the the readdir reply.
The code that touches existing dentries re-uses an iterator, and the
iterator is used for checking if readdir is end.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-01-28 10:18:15 +08:00
Joao Eduardo Luis
c547816185 mon: Elector: reset the acked leader when the election finishes and we lost
Failure to do so will mean that we will always ack the same leader during
an election started by another monitor.  This had been working so far
because we were still acking the existing leader if he was supposed to
still be the leader; or we were acking a new potentially leader; or we
would eventually fall behind on an election and start a new election
ourselves, thus resetting the previously acked leader.  While this wasn't
something that mattered much until now, the timechecks code stumbled into
this tiny issue and was failing hard at completing a round because there
wouldn't be a reset before the election started -- timechecks are bound
to election epochs.

Fixes: #3854

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-01-27 18:12:13 +00:00
Joao Eduardo Luis
d74b31b24d mon: Monitor: force timecheck cleanup on finish_election()
Fixes: #3854

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
2013-01-27 14:15:23 +00:00
Danny Al-Gaaf
fa421cf5f5 configure: remove -m4_include(m4/acx_pthread.m4)
Since we use already AC_CONFIG_MACRO_DIR, no need to include m4/acx_pthread.m4
extra.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-26 22:35:15 -08:00
Danny Al-Gaaf
32276e9afb configure: fix RPM_RELEASE
Use git to get RPM_RELEASE only if this is a git repo
clone and if the git command is available on the system.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-01-26 22:34:58 -08:00
Sage Weil
341e676015 osdmaptool: fix clitests
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-26 20:49:47 -08:00
Sage Weil
54c392e00f osd: dump/display pool min_size
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-26 19:33:20 -08:00
Sage Weil
1ba4c80bcf qa/workunits/rbd/copy.sh: use non-deprecated --image-format option
--format is deprecated.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-26 13:46:12 -08:00
Sage Weil
bbb86ec794 mon: safety interlock for pool deletion
Require that the pool name be passed twice along with an force option
before we irreversibly delete an entire pool of objects.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-26 13:45:12 -08:00
Sage Weil
700bcede4d Revert "mon: implement safety interlock for deleting pools"
This reverts commit c993ac9b1f.

This is too hard to test.  Requiring the pool name twice along with
--yes-i-really-really-mean-it should be sufficient.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-26 13:26:27 -08:00
Dan Mick
2a6dcabf7f rbd-fuse: add simple RBD FUSE client
Currently written in C on FUSE hi-level interfaces, so error reporting
could be better.  No serious work done for performance.  But it's
usable as it stands.

Specify -c <conf> and a mountpoint, and images show up as files in
that mountpoint.  You can create new images; they'll be created
with attributes stored in xattrs:

	user.rbdfuse.imagesize: default 1GB
	user.rbdfuse.imageorder: default 22
	user.rbdfuse.imagefeatures: default 1 (layering)

Images may be truncated or extended by rewriting.  Currently
once an image is opened, it's not closed, so it can't be deleted
or changed outside of the fuse path.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-01-25 21:27:53 -08:00
Andreas Bluemle
7daf372488 rbd-fuse: Original code from Andreas Bluemle
Signed-off-by: Andreas Bluemle <andreas.bluemle@itxperts.de>
2013-01-25 21:27:53 -08:00
Dan Mick
aec2a4742c s3/php: update to 1.5? version of API
Something like v1.5 of the Amazon PHP library requires the AmazonS3
constructor to be given an array of parameters rather than using
the globals.  More research needs to happen, and particularly
about the v2 API, but this might solve someone's problem with
v1.5 while we do that research.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-01-25 21:25:45 -08:00
tamil
b2a473be92 workunit for iogen
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2013-01-25 18:07:22 -08:00
Sage Weil
b98da75a62 Merge branch 'wip-osd-msgr'
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-01-25 17:59:19 -08:00
Joao Eduardo Luis
17cd549aed mon: Monitor: timecheck: only output report to dout once
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-25 17:58:29 -08:00
Joao Eduardo Luis
13fb1726dd mon: Monitor: track timecheck round state and report on health
Fixes: #3854

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-01-25 17:56:52 -08:00
John Wilkins
b49440bc6a doc: Added new, more comprehensive OSD/PG monitoring doc.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-25 16:16:28 -08:00
John Wilkins
5f2105051c doc: Trimmed some detail and added a x-ref to detailed osd/pg monitoring doc.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-25 16:15:52 -08:00
John Wilkins
95cfdd460f doc: Added osd/pg monitoring section to the index.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-25 16:14:38 -08:00
John Wilkins
d36a208cf4 doc: Added x-ref links.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-25 16:14:12 -08:00
John Wilkins
89386856ec Merge branch 'master' of https://github.com/ceph/ceph 2013-01-25 14:25:06 -08:00
John Wilkins
1af3578ef2 doc: fixed description for pg in control section.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-25 14:24:37 -08:00
Ross Turk
248835d483 doc: wider sidebar, larger font, cleaned tip CSS
The sidebar is now about a hundred pixels wider and the fonts
are larger throughout.  This works a lot better when you get
deep into the doc structure - it used to wrap horribly.

I also fixed how literals look inside .tip and .important.

Signed-off-by: Ross Turk <ross@inktank.com>
2013-01-25 12:48:31 -08:00
Samuel Just
037900dc7a sharedptr_registry: remove extaneous Mutex::Locker declaration
For some reason, the lookup() retry loop (for when happened to
race with a removal and grab an invalid WeakPtr) locked
the lock again.  This causes the #3836 crash since the lock
is already locked.  It's rare since it requires a lookup between
invalidation of the WeakPtr and removal of the WeakPtr entry.

Fixes: #3836
Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-25 11:41:20 -08:00
John Wilkins
8bd306b92e doc: Added Subdomain section.
fixes: #3778

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-25 10:54:07 -08:00
Sage Weil
8fef6fa385 osd/PG: include map epoch in query results
Currently you can only infer it from the info.history.* fields.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-25 09:40:07 -08:00
Sage Weil
e359a86219 osd: kill unused addr-based send_map()
Not used, old API, bad.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-25 09:38:43 -08:00
Sage Weil
5e2fab54a4 osd: share incoming maps via Connection*, not addrs
Kill a set of parallel methods that are using the old addr/inst-based
msgr APIs, and instead use Connection handles.  This is much safer and gets
us closer to killing the old msgr API.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-25 09:38:39 -08:00
Sage Weil
1bc419a7af osd: pass new maps to dead osds via existing Connection
Previously we were sending these maps to dead osds via their old addrs
using a new outgoing connection and setting the flags so that the msgr
would clean up.  That mechanism is possibly buggy and fragile, and we can
avoid it entirely if we just reuse the existing heartbeat Connection.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-25 09:38:36 -08:00
Sage Weil
76705ace2e osd: requeue osdmaps on heartbeat connections for cluster connection
If we receive an OSDMap on the cluster connection, requeue it for the
cluster messenger, and process it there where we normally do.  This avoids
any concerns about locking and ordering rules.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-25 09:38:33 -08:00
Sage Weil
a7059eb3f3 msgr: add get_loopback_connection() method
Return the Connection* for ourselves, so we can queue messages for
ourselves.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-25 09:38:30 -08:00
Sage Weil
a6ed62e324 common: fix cli tests on usage
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-24 21:48:26 -08:00
Sage Weil
5f9ab930fc Revert "filestore: disable extra committing queue allowance"
This reverts commit 44dca5c8c5058acf9bc391303dc77893793ce0be.

The allowance is not only added for btrfs as of commit
e639254a0c5f8e3528fa8f2b2b451296653556bc, which makes us happy
for both non-btrfs (lower latency) and btrfs (better small io
throughput, no big stall during commit).

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-24 21:06:46 -08:00
Sage Weil
38871e27ec os/FileStore: only adjust up op queue for btrfs
We only need to adjust up the op queue limits during commit for btrfs,
because the snapshot initiation (async create) is currently
high-latency and the op queue is quiesced during that period.

This lets us revert 44dca5c, which disabled the extra allowance because
it is generally bad for non-btrfs writeahead mode.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-24 21:06:46 -08:00
Dan Mick
d95b4313de adminops.rst: revert changes for as-yet-unimplemented features
See wip-admin-api for the new specification

Fixes: #3724
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-01-24 21:00:04 -08:00
Dan Mick
bb860e49a7 rados: remove unused "check_stdio" parameter
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2013-01-24 19:43:56 -08:00
Sage Weil
234becd344 rados: obey op_size for 'get'
Otherwise we try to read the whole object in one go, which doesn't bode
well for large objects (either non-optimal or simply broken).

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
2013-01-24 17:54:57 -08:00
Samuel Just
0c1cc687b6 FileStore: ping TPHandle after each operation in _do_transactions
Each completed operation in the transaction proves thread
liveness, a stuck thread should still trigger the timeouts.

Fixes: #3928
Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-24 17:25:08 -08:00
Samuel Just
e0511f4f47 OSD: use TPHandle in peering_wq
Implement _process overload with TPHandle argument and use
that to ping the hb map between pgs and between map epochs
when advancing a pg.  The thread will still timeout if
genuinely stuck at any point.

Fixes: 3905
Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-24 17:25:08 -08:00
Samuel Just
4f653d2399 WorkQueue: add TPHandle to allow _process to ping the hb map
Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-01-24 17:25:08 -08:00
Noah Watkins
79d599cfb6 java: remove extra whitespace
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-01-24 16:20:23 -08:00
Sage Weil
6f0e11371c libcephfs-java test: use provided environment
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-24 15:13:37 -08:00
Sage Weil
40ae8ceab5 common: only show -d, -f options for daemons
Fixes: #3073
Signed-off-by: Sage Weil <sage@inktank.com>
2013-01-24 13:31:43 -08:00
John Wilkins
7e7130daf4 doc: Syntax fixes.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-24 13:13:03 -08:00
John Wilkins
b51bfdf0d6 doc: Updated usage for Bobtail.
fixes: #3831

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-24 12:58:29 -08:00
John Wilkins
1d71d052aa doc: Updated usage for Bobtail.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2013-01-24 12:57:14 -08:00