Commit Graph

10859 Commits

Author SHA1 Message Date
Sage Weil
2483096e66 osd: wait for non-existant pools (w/o crashing); clean up handle_op()
Make sure the pool exists before calling OSDMap::raw_pg_to_pg().  Fixes
crash on operations shortly after pg pools are created.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-20 10:25:34 -07:00
Yehuda Sadeh
a0cd80cfbf rgw: fix copy 2010-07-19 17:20:53 -07:00
Yehuda Sadeh
925e209248 rgw: get/put read and write by chunks 2010-07-19 16:50:43 -07:00
Sage Weil
1e30deaaa1 osd: refactor push code
- send_push_op() does a push, nothing else
- push_start() starts a primary->replica push, tracks state
- push_to_replica() ensures we push head first, calculates cloning, etc.
2010-07-19 16:22:52 -07:00
Yehuda Sadeh
eed7f726c5 rgw: lay groundwork for chunky read/write 2010-07-19 16:20:54 -07:00
Sage Weil
1d2018320d osd: recover degraded objects _before_ modifying it
This will slow down writes to degraded objects because we will wait for it
to recover before applying the write.  OTOH it will be robust in the case
of large objects.  We can optimize the small object update (and overwrite)
cases later.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-19 14:44:09 -07:00
Sage Weil
2e521b82cc osd: make client op version actual at_version
I.e. this should take into account any cloning.  So set it after we call
prepare_transaction, not before.
2010-07-19 13:42:31 -07:00
Sage Weil
f7cc6e8f9d osd: fix subop version in snaptrimmer
The at_version should end equal to last_update, not +1.
2010-07-19 13:42:30 -07:00
Sage Weil
71ff557f32 osd: observe osd_recovery_max_chunk when pulling objects to primary 2010-07-19 13:08:10 -07:00
Sage Weil
be8359ad22 intervalset: implement span_of() 2010-07-19 13:06:48 -07:00
Sage Weil
2e137c9a0f osd: clean out temp pg on startup 2010-07-19 10:48:48 -07:00
Sage Weil
e0b6255750 osd: create temp collection during mkfs 2010-07-19 10:44:11 -07:00
Sage Weil
a108774e03 osd: give coll_t an explicit type in {meta,temp,pg} 2010-07-19 10:40:12 -07:00
Sage Weil
b4b6a82432 osd: add osd_recovery_max_chunk 2010-07-19 10:15:04 -07:00
Sage Weil
0b366744ae mon: check command length on osdmon
Fixes crash on 'ceph osd tell'.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-19 10:13:36 -07:00
Yehuda Sadeh
bf8aa18d48 rbd: add removal of snapshots 2010-07-19 10:20:43 -07:00
Greg Farnum
9810f7eab7 librados: don't read attributes until the callback is done! 2010-07-16 16:18:44 -07:00
Greg Farnum
7315f4fc84 rgw: rgw_rest: Properly return the content-length.
From wido.
2010-07-16 16:18:44 -07:00
Greg Farnum
344c43184c rgw: rgw_rados: initialize the position in list_buckets_init! 2010-07-16 16:18:44 -07:00
Sage Weil
bee69c8802 monc: be quiet about 'continuing hunt' too 2010-07-16 14:03:47 -07:00
Yehuda Sadeh
f00992c9c7 librados: librados.hpp should be standalone
removed references to object_t, declared librados::SnapContext
2010-07-16 14:05:59 -07:00
Sage Weil
0656d0f0a4 mds: small EMetablob fixup
Push to the back, update the back.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 12:03:26 -07:00
Sage Weil
fdd79de60b osd: always set snapset context if can_create
The most common code paths loaded it, but not the case where the obc was
already loaded.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 12:02:25 -07:00
Sage Weil
8ea9cd5956 mds: journal dirty items in order
There was some weird thing where dirty items were added to the front of
the list in the EMetaBlob, dating from 2007.  I have no idea why.  But it
was breaking rename, which dirties the same inode twice in some cases
(same src and dst dir).  Since it would replay in reverse, the inode would
end up with an older state.  If that happened to be the last time the inode
was modified in the journal prior to an mds restart+replay, we'd get bad
dirstat/rstat metadata.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 11:43:42 -07:00
Sage Weil
1ac265f8b3 mds: helpful journal replay debug output
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 11:43:42 -07:00
Sage Weil
63642224df client: drop unnecessary #include
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 11:43:42 -07:00
Sage Weil
74e3d79681 mds: simplify rstat/dirstat debug printing
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 11:43:42 -07:00
Sage Weil
00fae3a258 mds: remove bogus 'oldest snap' floor on lssnap result
I suspect the intent was to exclude snaps from parents from before we
existed.  However, get_snap_info() already does that intelligently.  And
get_oldest_snap() was wrong: this dirs snaps have little to do with
the nested snaprealms, old_inodes isn't a good indicator of birth time,
etc.

This fixes a bug where we couldn't see a snap in .snaps, but after the mds
restart could (because old_inodes included more old versions after
replay).

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-16 11:43:42 -07:00
Christian Brunner
eb1738703d lower loglevel for successfull mon hunting
I'm receving log output on every rados_initialize (... found mon0).
Since this makes the qemu-iotests fail, I'd suggest to lower the loglevel.

Christian
2010-07-16 11:38:19 -07:00
Greg Farnum
cf02db4288 messages: fix MClientRequest::is_write(), rename to may_write().
Also remove unused can_forward(), auth_is_best().
2010-07-16 09:56:40 -07:00
Sage Weil
2d358a4c4c msgr: use in6addr_any extern for is_blank_addr()
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 14:51:29 -07:00
Sage Weil
0d9b998d18 msgr: put brackets around ipv6 addrs
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 14:51:29 -07:00
Sage Weil
5f6d077abb mds: throw std::bad_alloc on boost:pool<> depletion
A bit more informative than a segfault from this=NULL in the constructor.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 14:51:29 -07:00
Yehuda Sadeh
1f7e11aaf0 rbd: fix usage 2010-07-15 14:50:33 -07:00
Yehuda Sadeh
d565ae3d04 rbd: rbd tool can parse embedded snapshots name
also update man page
2010-07-15 14:35:04 -07:00
Yehuda Sadeh
b0a5cc2db2 rbd: update man page, other external tools 2010-07-15 14:35:04 -07:00
Sage Weil
851a734122 mon: limit size of MOSDMap messages when subscribing
Send multiple MOSDMap messages (max of 100 incrementals per) when
clients who are way behind subscribe.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 11:05:16 -07:00
Sage Weil
17a31fd598 debug: fix append to log file
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 10:54:09 -07:00
Sage Weil
cf6cc8b41c osd: oops, fix pool thing
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 10:51:46 -07:00
Sage Weil
787ecb8f98 osd: MOSDOp: print snapc if snap_seq != 0, not when snap list is empty
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 10:43:55 -07:00
Sage Weil
e8991f1952 osd: use client or pool snapc based on _pool_ snap mode, not client op
The pool snap mode determines where the snapc should come from.  In
particular, if the client specifies no snap seq, but the pool is in
unmanaged snap mode, then use the client (empty) snapc, and do not generate
one from the pool.

The pool might have a snap seq that is > 0, leading to and totally
invalid(!) snapc like 2=[], e.g., because the pool seq was bumped to create
an unmanaged snapc by another client.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-15 10:43:31 -07:00
Greg Farnum
af65f15b85 rgw: delete bucket objects from root pool on destruction.
This allows a bucket with that name to be created later.
2010-07-15 08:23:57 -07:00
Yehuda Sadeh
27bd901898 rbdtool: rename rbdtool to 'rbd' tool and change usage 2010-07-14 16:59:12 -07:00
Greg Farnum
145429118d cfuse: return EROFS when attempting to modify snapshots 2010-07-14 13:19:29 -07:00
Greg Farnum
9c90f7b794 mds: Check all write ops to make sure they aren't in a snapshot; return EROFS if they are. 2010-07-13 11:35:00 -07:00
Yehuda Sadeh
4884f7429c rbdtool: fix add-snap 2010-07-09 17:07:47 -07:00
Yehuda Sadeh
8b96c3ca44 rbdtool: rearrange usage 2010-07-09 16:24:18 -07:00
Yehuda Sadeh
2b02afd68c rbdtool: rename should first check source
that is, source image doesn't exist error should have priority
over destination already exists.
2010-07-09 16:24:18 -07:00
Sage Weil
e61ceee1de debian: override lintian warning unstripped-binary-or-object 2010-07-09 15:51:25 -07:00
Sage Weil
d19f05a4f3 debug: fix debug rank symlink rotate when log_per_instance
Signed-off-by: Sage Weil <sage@newdream.net>
2010-07-09 15:51:25 -07:00