Sage Weil
b659fd02d0
osd: only specify start version for Qeury::LOG
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-03 14:27:35 -07:00
Sage Weil
780ec44b1c
osd: use enum instead of const static int members
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-03 14:06:54 -07:00
Sage Weil
a5f352cc22
osd: leave recovery hooks in PG
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-05-03 14:06:51 -07:00
Samuel Just
48eb343ba2
OSD,PG: Peering refactor
...
Previously, peering was handled by a defacto state machine in do_peer
and related methods. Peering state will now be encapsulated in
RecoveryState, which uses boost::state_chart internally to enforce an
explicit state machine abstraction. OSD::handle_pg_* pass off to
PG::handle_*, which pass messages to the state machine.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2011-05-03 10:19:45 -07:00
Samuel Just
09f6d22d0c
OSD,PG: Move pg reset code from OSD::advance_map to PG
...
OSD::advance_map previously handled resetting the PG for peering. Now,
PG::acting_up_affected returns true if peering needs to be restarted and
PG::warm_restart takes care of restting the pg.
2011-05-03 10:19:45 -07:00
Josh Durgin
f06269de5e
PG: choose_log_location
...
Choosing the master log holder and deciding whether to generate a
backlog are now handled by choose_log_location.
2011-05-03 10:19:45 -07:00
Josh Durgin
21d8e72ad2
PG: Extract query map generation from recover_master_log
...
PgPriorSet::gen_query_map now generates the initial info query map.
2011-05-03 10:19:45 -07:00
Samuel Just
1477c06826
PG: Refactor build_prior into a PgPriorSet constructor.
2011-05-03 10:19:45 -07:00
Samuel Just
1b0dfcf53b
PG: Add gen_prefix method for generating the pg error prefix
...
This should make it easier to add dout macros for non-pg methods
2011-05-03 10:19:45 -07:00
Samuel Just
fe30d90aeb
TestSnaps.cc: default to testing with the data pool
2011-05-03 10:19:45 -07:00
Samuel Just
789b9672db
OSD.cc: handle_pg_create fix initial last_epoch_started value
...
last_epoch_started == same_acting_since should not be true before the pg
goes active for the first time.
2011-05-03 10:19:45 -07:00
Colin Patrick McCabe
a8a16c7106
obsync: only require --owner if --xuser is set
...
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-03 10:06:11 -07:00
Colin Patrick McCabe
441b54c101
obsync: implement --owner
...
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-02 18:41:31 -07:00
Colin Patrick McCabe
8bd2305d1c
obsync: implement user translation (--xuser)
...
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-02 16:54:44 -07:00
Colin Patrick McCabe
fa2da0c5e7
rgw: fix ACL XML generation
...
Put AccessControlPolicy in the http://s3.amazonaws.com/doc/2006-03-01/
namespace.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-02 15:57:06 -07:00
Colin Patrick McCabe
931b58044d
obsync: refactor LocalCopy
...
Combine LocalCopy, S3StoreLocalCopy, and RadosStoreLocalCopy into one
class called LocalCopy.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-05-02 14:47:10 -07:00
Greg Farnum
1701804d34
FileStore: use proper object names for linking
...
They were backward before, which broke EVERYTHING.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-05-02 13:47:23 -07:00
Greg Farnum
ac23196bc5
MDS: fix handle_client_rename use of path_traverse.
...
It was using the MDS_TRAVERSE_DISCOVERXLOCK flag, which allows
path_traverse to return success if it encounters a NULL dentry. When
we're looking for a source inode, though, that doesn't work out! We
want MDS_TRAVERSE_DISCOVER, which will go away and look for the dentry
on other inodes but requires a linked dentry, not a NULL one.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
2011-05-02 13:16:35 -07:00
Sage Weil
7d19f184c5
mds: trim non-auth swallowed subtrees during resolve
...
Consider:
- peer auth for /foo
- ambiguous import /foo/bar
- peer claims /foo, swallows /foo/bar.
- disambiguate_imports sees we didn't get /foo/bar, cancels ambiguous
import.
-> we are left with /foo/bar (and content) in cache, even tho it is
non-auth.
Fix by pulling the try_trim_non_auth_subtree() back out of
cancel_ambiguous_import, and trimming the containing subtree in the
disambiguate (resolve completion) case. (For the journal replay case the
subtree structure is deterministic and no such check is needed.)
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-29 17:46:24 -07:00
Sage Weil
9e4e345261
mds: fix replay of EFragment rollback
...
Remove from the uncommitted list.
Also, make uncommitted list updated unconditional: we need to do it even
if the inode wasn't already in our cache.
Also, journal the rollback with the same signedness as the prepare, so that
the descriptor/map key matches up. Adjust signs accordingly.
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-29 17:46:23 -07:00
Yehuda Sadeh
a09eb0c33f
rgw: log bytes received
2011-04-29 17:17:23 -07:00
Yehuda Sadeh
6a16019099
rgw: fix some logging problems
2011-04-29 16:15:23 -07:00
Yehuda Sadeh
03d82a3fec
rgw_admin: dump also user email
2011-04-29 16:15:23 -07:00
Tommi Virtanen
e97ce8ec87
test/ceph_crypto: Check that the shutdown/fork/init trick works for NSS.
...
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-04-29 14:48:30 -07:00
Yehuda Sadeh
e4cdc583fd
filestore: fiemap should close the fd
2011-04-29 14:09:30 -07:00
Tommi Virtanen
264829b5b1
common, cfuse: Hook into daemonization and shutdown/init NSS.
...
NSS cannot tolerate forks without this.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-04-29 13:19:17 -07:00
Tommi Virtanen
98b0877183
msgr, common: Refactor to extract daemonization out of messenger.
...
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-04-29 13:17:30 -07:00
Tommi Virtanen
0e6bacc6e7
msgr: Rename SimpleMessenger::start(daemonize, nonce) to start_with_nonce.
...
Otherwise, once we remove daemonize from the prototype,
all the existing ->start(false) calls will be taken
to mean nonce=0.
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-04-29 13:08:37 -07:00
Tommi Virtanen
84454c24d1
ceph_crypto: Assert that NSS initialization works.
...
Signed-off-by: Tommi Virtanen <tommi.virtanen@dreamhost.com>
2011-04-29 13:08:36 -07:00
Colin Patrick McCabe
4107e2966a
common_init: create common_init_daemonize
...
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-29 11:29:03 -07:00
Wido den Hollander
2d82fefc04
config: Update sample config with more examples
...
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
Signed-off-by: Wido den Hollander <wido@widodh.nl>
2011-04-29 10:39:04 -07:00
Colin Patrick McCabe
2047b59d65
common_init: set log_file, not log_dir, by default
...
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-29 10:23:10 -07:00
Colin Patrick McCabe
689a1bdd6e
common_init: don't modify log_per_instance
...
check it in DoutStreambuf instead.
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
2011-04-29 10:21:26 -07:00
Sage Weil
0a2d3f2505
msgr: remove dup .start() call check, remove cruft
...
There is now no ordering constraint wrt the daemonize bits; those can
safely be pulled out.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-29 09:49:05 -07:00
Jim Schutt
e0ec41380a
hadoop: cleanups for libceph type update
...
Signed-off-by: Jim Schutt <jaschut@sandia.gov>
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-29 08:43:04 -07:00
Sage Weil
c9712e4ffc
lfn: put lfn outside of user.ceph namesapce
...
This completely hides the lfn from the ObjectStore interface users.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2011-04-28 16:01:23 -07:00
Sage Weil
6e727a9bdd
Merge remote branch 'origin/master' into lfn
2011-04-28 15:45:19 -07:00
Sage Weil
3a146f07e0
mdsmap: show mds name in summary
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 15:55:20 -07:00
Sage Weil
f468742166
hadoop: update libceph types
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 15:52:07 -07:00
Sage Weil
347bc9f2b7
hypertable: update libceph types
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 15:52:01 -07:00
Sage Weil
101506aa6a
libceph: error out if USE_FILE_OFFSET64 not defined
...
Otherwise struct dirent will not match user code and badness on readdir
will ensure.
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 15:49:37 -07:00
Yehuda Sadeh
95cea34e8d
lfn: don't return ENOENT if it's not lfn in some cases
2011-04-28 15:44:28 -07:00
Sage Weil
e9fac67fe1
mds: ignore fragment_notify when dft state doesn't match
...
In particular, if there is a resolve in there somewhere, we may have found
out about this refragment from the src because they send resolve messages
to all nodes (to resolve ambiguous migrations). If that's the case we
can ignore the message.
Fixes crash like
2011-04-28 14:30:31.179106 7fe72e325710 -- 10.0.1.252:6805/22158 <== mds2 10.0.1.252:6803/25635 548 ==== fragment_notify(300000000b4#00* 1) v1 ==== 17+0+0 (2192211443 0 0) 0x2c9ec00 con 0x323d140
2011-04-28 14:30:31.179116 7fe72e325710 mds1.cache handle_fragment_notify fragment_notify(300000000b4#00* 1) v1 from mds2
2011-04-28 14:30:31.179149 7fe72e325710 mds1.cache adjust_dir_fragments 00* 1 on [inode 300000000b4 [...2,head] /syn.4114.0/dir.0/dir.0/dir.0/dir.0/dir.0/dir.5/dir.5/ auth{0=1,2=1} fragtree_t(*^2 00*^1) v188 ap=1 f(v0 m2011-04-28 14:23:59.074510 7=7+0) n(v2 rc2011-04-28 14:23:59.074510 15=14+1) (idft mix->lock g=0,2 dirty) (inest mix dirty) (ifile excl dirty) (ixattr excl) (iversion lock) caps={4114=pAsLsXsxFsx/-@1},l=4114(-1) | dirtyscattered dirfrag caps replicated dirty authpin 0x32bec70]
2011-04-28 14:30:31.179182 7fe72e325710 mds1.cache adjust_dir_fragments 00* bits 1 srcfrags 0x3080860,0x378da50 on [inode 300000000b4 [...2,head] /syn.4114.0/dir.0/dir.0/dir.0/dir.0/dir.0/dir.5/dir.5/ auth{0=1,2=1} fragtree_t(*^2 00*^1) v188 ap=1 f(v0 m2011-04-28 14:23:59.074510 7=7+0) n(v2 rc2011-04-28 14:23:59.074510 15=14+1) (idft mix->lock g=0,2 dirty) (inest mix dirty) (ifile excl dirty) (ixattr excl) (iversion lock) caps={4114=pAsLsXsxFsx/-@1},l=4114(-1) | dirtyscattered dirfrag caps replicated dirty authpin 0x32bec70]
2011-04-28 14:30:31.179218 7fe72e325710 mds1.cache new fragtree is fragtree_t(*^2 00*^1)
mds/MDCache.cc: In function 'void MDCache::adjust_dir_fragments(CInode*, std::list<CDir*, std::allocator<CDir*> >&, frag_t, int, std::list<CDir*, std::allocator<CDir*> >&, std::list<Context*, std::allocator<Context*> >&, bool)', in thread '0x7fe72e325710'
mds/MDCache.cc: 9254: FAILED assert(srcfrags.size() == 1)
ceph version 0.27-165-gaf908f8 (commit:af908f82924a67be3aeb2767eaa05ba04c145f42)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x53) [0xa5775e]
2: (MDCache::adjust_dir_fragments(CInode*, std::list<CDir*, std::allocator<CDir*> >&, frag_t, int, std::list<CDir*, std::allocator<CDir*> >&, std::list<Context*, std::allocator<Context*> >&, bool)+0x2dd) [0x888bbf]
3: (MDCache::adjust_dir_fragments(CInode*, frag_t, int, std::list<CDir*, std::allocator<CDir*> >&, std::list<Context*, std::allocator<Context*> >&, bool)+0x13d) [0x88817d]
4: (MDCache::handle_fragment_notify(MMDSFragmentNotify*)+0x199) [0x88bac5]
5: (MDCache::dispatch(Message*)+0x124) [0x8765ea]
6: (MDS::handle_deferrable_message(Message*)+0x1f5) [0x77a607]
7: (MDS::_dispatch(Message*)+0x784) [0x77ba90]
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 15:17:18 -07:00
Sage Weil
1c58f8069b
mds: do not send fragment_notify to <= recovering nodes
...
They will get sorted out during rejoin.
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 15:02:58 -07:00
Sage Weil
27ca30dc5f
mds: fix uninint warning on cur
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 14:57:45 -07:00
Sage Weil
4f39fae043
mds: handle import cancel while logging EImportStart
...
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 14:57:45 -07:00
Sage Weil
2614583882
client: do not send request to mds -1
...
If we can't find a target, or the chosen target isn't active, wait.
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 14:57:45 -07:00
Yehuda Sadeh
aee209732a
lfn: set hash and file name constants
2011-04-28 13:57:45 -07:00
Yehuda Sadeh
9b3c3aafb2
osd: remove warning about max object name length
2011-04-28 13:51:48 -07:00
Sage Weil
87efc95227
mds: try_trim_non_auth_subtree on any canceled import (including resolve)
...
We were trimming on journal replay of an import failure, but not on a
canceled ambiguous import during resolve. Fix that by moving the call into
the helper (and passing a CDir* instead of a dirfrag_t).
Signed-off-by: Sage Weil <sage@newdream.net>
2011-04-28 13:44:55 -07:00