Commit Graph

25267 Commits

Author SHA1 Message Date
Danny Al-Gaaf
547972373e rgw/rgw_cors.cc: use empty() instead of size() == 0
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-02 14:47:54 +02:00
Danny Al-Gaaf
e1babf4734 rgw/rgw_bucket.cc: prefer prefix ++operator for iterator
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-02 14:43:36 +02:00
Danny Al-Gaaf
c9be9fff1b rgw/rgw_bucket.cc: remove unused variable
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-02 14:42:58 +02:00
Danny Al-Gaaf
42109d319b rgw/rgw_user.h: initialize some bool variables in constructor
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-02 14:41:56 +02:00
Danny Al-Gaaf
a5ce2461d6 rgw/rgw_user.h: move initialization in initialization list
Move initialization of some variables from constructor body to
the initialization list.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-02 14:39:24 +02:00
Danny Al-Gaaf
9b5f8a4f9d rbd.cc: use static_cast instead of C-Style cast
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-02 14:24:28 +02:00
Danny Al-Gaaf
07be36c92b mds/Migrator.cc: prefer prefix ++operator for iterator
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-04-02 14:01:24 +02:00
caleb miles
dd19d693e6 rgw: Create RESTful endpoint for user and bucket administration.
Expose the following operations through a RESTful endpoint:
    user create
    user modify
    user remove
    subuser create
    subuser modify
    subuser remove
    key create
    key remove
    bucket list
    bucket stats
    bucket link
    bucket unlink
    bucket check
    bucket remove
    remove object

building on the existing /{admin} endpoint.

Signed-off-by caleb miles <caleb.miles@inktank.com>
2013-04-01 21:44:45 -04:00
Sage Weil
aa14da20ed doc/release-notes: v0.60
Signed-off-by: Sage Weil <sage@inktank.com>
2013-04-01 18:17:27 -07:00
Gary Lowell
6ffadce67e Merge branch 'next' 2013-04-01 17:57:45 -07:00
athanatos
f861d54c17 Merge pull request #181 from ceph/wip_4510
Scrub/repair should correctly handle truncation and EIO

Fixes #4510
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-04-01 16:32:34 -07:00
Samuel Just
fc13f1111c PG::_scan_list: assert if error is neither -EIO nor -ENOENT
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 16:27:34 -07:00
Samuel Just
3fa3b676f9 FileStore: rename debug_delete_obj to debug_obj_on_delete
This should make the method intent less confusing.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 16:27:34 -07:00
Samuel Just
40070cef3f PG: _scan_list can now handle EIO on read, stat, get_omap_header
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 16:27:34 -07:00
Samuel Just
fcec1a06dd ObjectStore: add allow_eio to read, stat, get_omap_header
This will allow enlightened callers to handle EIO.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 16:27:31 -07:00
João Eduardo Luís
0e1f504234 Merge pull request #183 from ceph/wip-4313-b
qa: workunits: mon: test 'config-key' store

Reviewed-by: Sage Weil <sage@inktank.com>
2013-04-01 15:57:04 -07:00
Sage Weil
76ad956330 librados: test empty ObjectWriteOperation
Tests that #2673 is fixed.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-04-01 15:35:17 -07:00
Sage Weil
15bd980246 Merge pull request #182 from ceph/wip-no-cors-without-rgw
Makefile.am: disable building ceph_test_cors when radosgw is not enabled
2013-04-01 14:56:30 -07:00
Josh Durgin
690e4df19a Makefile.am: disable building ceph_test_cors when radosgw is not enabled
This test depends on radosgw. Trying to build it without radosgw will
result in a compile error.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-04-01 14:05:05 -07:00
Gary Lowell
f26f7a3902 v0.60 2013-04-01 12:22:53 -07:00
Sage Weil
db7a09507e Merge remote-tracking branch 'gh/next' 2013-04-01 11:52:46 -07:00
Sage Weil
557685f391 Merge pull request #169 from ceph/wip-rbd-diff
rbd incremental backup/restore

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-04-01 11:26:16 -07:00
Josh Durgin
267ce0d90b librados: don't use lockdep for AioCompletionImpl
This is a quick workaround for the next branch. A more complete fix
will be done for the master branch. This does not affect correctness,
just what qa runs with lockdep enabled do.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Reviewed-by: Sage Weil <sage.weil@inktank.com>
2013-04-01 11:17:41 -07:00
Greg Farnum
78acc5c214 test: fix signed/unsigned comparison in test_cors
Signed-off-by: Greg Farnum <greg@inktank.com>
Acked-by: Sage Weil <sage@inktank.com>
2013-04-01 10:04:32 -07:00
Samuel Just
d5b797022a PG: don't compare auth with itself
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 09:38:12 -07:00
Samuel Just
39d1a3fbce PG: pass authoritative scrub map to _scrub
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 09:38:11 -07:00
Samuel Just
a838965ca3 PG: read_error should trigger a repair in _compare_scrub_objects
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 09:38:11 -07:00
Samuel Just
1940cf3e3f FileStore,OSD: add mechanism for injecting EIO, truncating obj
This will be used in testing repair.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 09:38:11 -07:00
Samuel Just
83dbfaea7d PG::_select_auth_object: prefer a peer which did not hit a read error
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 09:38:08 -07:00
Samuel Just
e61c94e2f6 PG: make _select_auth_object smarter
Previously, we just picked the first one to have the object in
question.  Now, we will attempt to choose one that has as
much of the following as possible:
1) has the object (there must be one)
2) has an object_info attr
3) has a valid object_info attr
4) has an object_info whose size matches the scrubbed size

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-04-01 09:38:04 -07:00
Greg Farnum
5d11c20140 Merge branch 'wip-mds' 2013-04-01 09:31:37 -07:00
Greg Farnum
a77eaec852 mds: bump the protocol version.
We've changed quite a lot of the restart behavior, as well as one
of the message encodings. This is cheaper and easier than using feature bits,
and CephFS is still a tech preview or whatever, so let's cover them using this.

Signed-off-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:27:27 -07:00
Yan, Zheng
93ab1edd10 mds: don't roll back prepared table updates
When table server is recovering, it re-sends 'agree' messages for
prepared table updates. It is possible table client receives an
'agree' messages before it commits the corresponding update. Don't
send 'rollback' message back to the server in this case.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
2b0f03cbf8 mds: clear scatter dirty if replica inode has no auth subtree
This avoids sending superfluous scatterlock state to recovering MDS

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
3d3d85d845 mds: don't replicate purging dentry
open_remote_ino is racy, it's possible someone deletes the inode's
last linkage while the MDS is discovering the inode.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
44db980253 mds: eval inodes with caps imported by cache rejoin message
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
9939ced468 mds: try merging subtree after clear EXPORTBOUND
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
5ceae8caab mds: clear dirty inode rstat if import fails
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
d1602b3b7e mds: don't open dirfrag while subtree is frozen
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
fcf170b81b mds: notify bystanders if export aborts
So bystanders know the subtree is single auth earlier.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
7278f644a9 mds: fix export cancel notification
The comment says that if the importer is dead, bystanders thinks the
exporter is the only auth, as per mdcache->handle_mds_failure(). But
there is no such code in MDCache::handle_mds_failure().

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:24 -07:00
Yan, Zheng
27438db5fa mds: unfreeze subtree if import aborts in PREPPED state
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
4d532cb6d9 mds: check MDS peer's state through mdsmap
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
b4395889d7 mds: avoid double auth pin for file recovery
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
e072d34fb7 mds: add dirty imported dirfrag to LogSegment
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
a4ed7ea8b8 mds: send lock action message when auth MDS is in proper state.
For rejoining object, don't send lock ACK message because lock states
are still uncertain. The lock ACK may confuse object's auth MDS and
trigger assertion.

If object's auth MDS is not active, just skip sending NUDGE, REQRDLOCK
and REQSCATTER messages. MDCache::handle_mds_recovery() will take care
of them.

Also defer caps release message until clientreplay or active

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
7ad7c347d4 mds: issue caps when lock state in replica become SYNC
because client can request READ caps from non-auth MDS.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
10b1a5663f mds: share inode max size after MDS recovers
The MDS may crash after journaling the new max size, but before sending
the new max size to the client. Later when the MDS recovers, the client
re-requests the new max size, but the MDS finds max size unchanged. So
the client waits for the new max size forever. This issue can be avoided
by checking client cap's last_sent, share inode max size if it is zero.
(reconnected cap's last_sent is zero)

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
b2342a9c31 mds: take object's versionlock when rejoinning xlock
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
2013-04-01 09:26:23 -07:00
Yan, Zheng
6862fe7a14 mds: reqid for rejoinning authpin/wrlock need to be list
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
2013-04-01 09:26:00 -07:00