Commit Graph

18686 Commits

Author SHA1 Message Date
Sage Weil
d0e8f148a6 doc: update list of debian dists
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-21 06:30:43 -07:00
Sage Weil
a608a8fef6 Merge branch 'stable' 2012-03-21 06:28:15 -07:00
Samuel Just
7236178452 Objecter: resend linger_ops on any change
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
2012-03-20 17:51:28 -07:00
Samuel Just
3019d4604d TestRados: Add watch
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
2012-03-20 17:51:17 -07:00
Yehuda Sadeh
4760536fe5 rgw: keep pool placement info also in cacheable location
Mirror the pools placement info, so that we can cache it.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 17:20:03 -07:00
Yehuda Sadeh
2998368a7e rgw: remove unused definition
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 17:20:03 -07:00
Samuel Just
f1563a6657 Revert "Objecter: add op->resend_on_any_change"
This reverts commit c53194d753.

recalc_linger_op_target is used for linger_ops

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 17:00:43 -07:00
Samuel Just
fc7a1bda1f ReplicatedPG: return -EBUSY on delete for objects with watchers
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 16:11:08 -07:00
Samuel Just
c53194d753 Objecter: add op->resend_on_any_change
lingers must be resent even if the primary does not change.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 16:11:08 -07:00
Samuel Just
2daff0e9d2 ReplicatedPG: osd_max_notify_timeout -> osd_default_notify_timeout
This setting should not override user specified timeout.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-20 16:11:08 -07:00
Yehuda Sadeh
6a5cbec38b rgw: replace bucket_id generation
bucket_id is now string: <global instance id>.<num> where
num is increasing monotonically within the current rgw
instance.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 15:15:09 -07:00
Sage Weil
cdd5298d27 v0.44 2012-03-20 11:41:08 -07:00
Yehuda Sadeh
e42fbb70be rgw: process default alt args before processing conf file
this fixes #2189

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:59:52 -07:00
Yehuda Sadeh
e0b8f7a033 rgw: process default alt args before processing conf file
this fixes #2189

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:52:14 -07:00
Yehuda Sadeh
51a0733962 rgw: incrase socket backlog
20 is too small

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:37:35 -07:00
Yehuda Sadeh
5b3319870e rgw: fix internal cache api
This fixes issue #2190

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-20 10:25:59 -07:00
Samuel Just
f923b840ed OSD: do not hold obc lock in disconnect_session_watches
ObjectContext::lock is used only for implementing read_lock and
write_lock.  PG::lock is used to protect the ObjectContexts
belonging to a pg.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
2012-03-19 16:10:25 -07:00
Samuel Just
fd85130400 ReplicatedPG: there should be no object_contexts during on_activate
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-18 09:09:02 -07:00
Sage Weil
6c17a7b39f Merge branch 'next' 2012-03-18 09:08:55 -07:00
Sage Weil
77c08f866a osd: fix object_info.size mismatch file due to truncate_seq on new object
If the first write that creates an object includes a truncate_seq and
truncate_size, we were taking the truncte patch and doing a truncate op
in our transaction prior to the write, and then setting the object_info
size appropriately.  However, if the object doesn't exist, the truncate
op fails even though the oi.size gets set.

Later, this turns up as a scrub error (see #2080).

Fix this by skipping the truncate if it is a new object.  Instead, we
should just initialize our truncate_{seq,size} metadata so that we're all
up to date for any later writes.

Alternatively, we could touch the object and then truncate it (up) to the
large size, but this is sort of a waste; data beyond a short object eof is
defined to be zeros, so all we would accomplish is making recovery work
harder by copying zeros around.

Fixes: #2080
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Reviewed-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-18 09:08:41 -07:00
Sage Weil
619fe7302f .gitignore: xattr_bench
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-16 16:59:49 -07:00
Sage Weil
3a6c085e82 heartbeatmap: use utimes(2) instead of futimens(2)
For poor users with ancient glibc.  We don't much care about rename races
here anyway.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
2012-03-16 15:06:06 -07:00
Sage Weil
63ec06b349 osd: remove special handline for head recovery from clone
This breaks because:

 - we don't have the head or current snapset
 - get_object_context() creates a new snapset, which is wrong

We probably can only do this if we are certain we can construct/modify
the old snapset and end up with the correct one.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 14:36:38 -07:00
Sage Weil
d8bcc1b3df config: fix recursive locking of md_config_t::lock
Signed-off-by: Sage Weil <sage@newdream.net>
Reviewed-by: Greg Farnum <gregory.farnum@dreamhost.com>
2012-03-16 13:49:36 -07:00
Sage Weil
15d85af4ce osd: explicitly create new object,snap contexts on push
We specifically want to use this during recovery to avoid loading the obc
or ssc for a previous version of the object and populating the watchers.
We know we won't have any existing obc here because it is missing (old or
dne).

For the snapset context, we provide it explicitly when we recover the head
or snapset object (which we always do first).  For clones, we re-use the
existing get_snapset_context(), which will either have the ssc open or
can load it from the head/snapset object.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 13:30:51 -07:00
Sage Weil
d4addf5798 osd: re-use create_object_context() in get_object_context()
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 13:30:51 -07:00
Sage Weil
58c5d5a033 osd: ReplicatedPG::create_object_context()
New helper that creates a new object context.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 13:30:51 -07:00
Sage Weil
96780bd196 osd: create_snapset_context()
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 13:04:59 -07:00
Sage Weil
872bdd0d74 osd: ensure we don't clobber other *contexts when registering new ones
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 12:15:06 -07:00
Samuel Just
9791035d93 Merge branch 'wip_omap_xattrs' 2012-03-16 11:52:10 -07:00
Samuel Just
a49a1972d5 ReplicatedPG,FileStore: clone should copy xattrs as well
_make_clone (called from make_writeable) and _rollback_to included
attr reads from head or a clone.  In that case, an ondisk read
lock would be necessary.  Now, clone also handles xattrs, so the
attr read should not be necessary.

Signed-off-by: Samuel Just <sam.just@dreamhost.com>
2012-03-16 11:40:18 -07:00
Samuel Just
2a593dda33 RadosModel: test xattrs with omap
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:40:18 -07:00
Samuel Just
14506dc601 FileStore: add support for omap xattrs
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:40:14 -07:00
Sage Weil
a5f143d2a1 Merge branch 'wip-msgr4'
Reviewed-by: Greg Farnum <gregory.farnum@dreamhost.com>
2012-03-16 11:31:13 -07:00
Samuel Just
b09fb15dc4 ObjectMap: use Index object for locking rather than path object
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:29:00 -07:00
Samuel Just
ecd875febe tests/: Added xattr bench
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:29:00 -07:00
Samuel Just
8fc4317927 config_opts.h: opts for omap_xattrs
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:29:00 -07:00
Samuel Just
fdb92748d2 test_object_map: update unit test for xattr
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:29:00 -07:00
Samuel Just
d8325e50d1 DBObjectMap: implement xattr interface
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:29:00 -07:00
Samuel Just
983fd19010 ObjectMap: add interface for storing xattrs
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:29:00 -07:00
Samuel Just
9fd4a12a08 DBObjectMap: add support for storing xattrs
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 11:28:57 -07:00
Sage Weil
0904c7b73d configure: fix warnings
Finally!

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 10:39:39 -07:00
Samuel Just
f2e6b8d750 ReplicatedPG: populate_object_context during handle_pull_response
A cached objectcontext should always have its watchers populated.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
2012-03-16 10:04:41 -07:00
Sage Weil
4cfc34f817 leveldb: .gitignore TAGS
Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 09:43:02 -07:00
Sage Weil
5db6902b82 leveldb: un-revert
Accidentally reverted by c2af646b38.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-16 09:40:37 -07:00
Sage Weil
89ccd95a1b osd: maybe clear DEGRADED on recovery completion
We set degraded if we don't have enough "active" replicas, which excludes
the backfill target.  We need to recheck that when we finish recovery and
the backfill target is now complete.

Fixes: #2160
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Reviewed-by: Josh Durgin <josh.durgin@dreamhost.com>
2012-03-15 10:35:40 -07:00
Yehuda Sadeh
826d30f1c4 rgw: remove extra layer of RGWAccess
Not needed, now that we got rid of RGWFS

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
2012-03-14 17:16:05 -07:00
Sage Weil
80e2a5e837 msgr: switch all users over to abstract interface
This will let us transparently swap implementations out.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-14 16:33:39 -07:00
Sage Weil
1e1453c17f msgr: introduce static Messenger::create() function
Create a new messenger, with whatever implementation is appropriate.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-14 16:29:19 -07:00
Sage Weil
d26feffd61 msgr: promote more methods to abstract Messenger interface
This will be everything that people actually use.

Signed-off-by: Sage Weil <sage@newdream.net>
2012-03-14 16:29:16 -07:00