]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
13 years agoOSD: do not hold obc lock in disconnect_session_watches
Samuel Just [Mon, 19 Mar 2012 23:06:40 +0000 (16:06 -0700)]
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>
13 years agoReplicatedPG: there should be no object_contexts during on_activate
Samuel Just [Fri, 16 Mar 2012 20:58:54 +0000 (13:58 -0700)]
ReplicatedPG: there should be no object_contexts during on_activate

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoMerge branch 'next'
Sage Weil [Sun, 18 Mar 2012 16:08:55 +0000 (09:08 -0700)]
Merge branch 'next'

13 years agoosd: fix object_info.size mismatch file due to truncate_seq on new object
Sage Weil [Sun, 18 Mar 2012 16:08:15 +0000 (09:08 -0700)]
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>
13 years ago.gitignore: xattr_bench
Sage Weil [Fri, 16 Mar 2012 23:59:49 +0000 (16:59 -0700)]
.gitignore: xattr_bench

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoheartbeatmap: use utimes(2) instead of futimens(2)
Sage Weil [Fri, 16 Mar 2012 22:05:55 +0000 (15:05 -0700)]
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>
13 years agoosd: remove special handline for head recovery from clone
Sage Weil [Fri, 16 Mar 2012 21:36:38 +0000 (14:36 -0700)]
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>
13 years agoconfig: fix recursive locking of md_config_t::lock
Sage Weil [Fri, 16 Mar 2012 20:49:36 +0000 (13:49 -0700)]
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>
13 years agoosd: explicitly create new object,snap contexts on push
Sage Weil [Fri, 16 Mar 2012 20:07:25 +0000 (13:07 -0700)]
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>
13 years agoosd: re-use create_object_context() in get_object_context()
Sage Weil [Fri, 16 Mar 2012 19:14:44 +0000 (12:14 -0700)]
osd: re-use create_object_context() in get_object_context()

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: ReplicatedPG::create_object_context()
Sage Weil [Fri, 16 Mar 2012 20:05:54 +0000 (13:05 -0700)]
osd: ReplicatedPG::create_object_context()

New helper that creates a new object context.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: create_snapset_context()
Sage Weil [Fri, 16 Mar 2012 20:03:42 +0000 (13:03 -0700)]
osd: create_snapset_context()

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: ensure we don't clobber other *contexts when registering new ones
Sage Weil [Fri, 16 Mar 2012 19:09:44 +0000 (12:09 -0700)]
osd: ensure we don't clobber other *contexts when registering new ones

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge branch 'wip_omap_xattrs'
Samuel Just [Fri, 16 Mar 2012 18:52:10 +0000 (11:52 -0700)]
Merge branch 'wip_omap_xattrs'

13 years agoReplicatedPG,FileStore: clone should copy xattrs as well
Samuel Just [Fri, 16 Mar 2012 05:13:09 +0000 (22:13 -0700)]
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>
13 years agoRadosModel: test xattrs with omap
Samuel Just [Wed, 14 Mar 2012 21:09:34 +0000 (14:09 -0700)]
RadosModel: test xattrs with omap

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoFileStore: add support for omap xattrs
Samuel Just [Wed, 14 Mar 2012 00:38:46 +0000 (17:38 -0700)]
FileStore: add support for omap xattrs

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoMerge branch 'wip-msgr4'
Sage Weil [Fri, 16 Mar 2012 18:31:13 +0000 (11:31 -0700)]
Merge branch 'wip-msgr4'

Reviewed-by: Greg Farnum <gregory.farnum@dreamhost.com>
13 years agoObjectMap: use Index object for locking rather than path object
Samuel Just [Tue, 13 Mar 2012 16:43:21 +0000 (09:43 -0700)]
ObjectMap: use Index object for locking rather than path object

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agotests/: Added xattr bench
Samuel Just [Tue, 13 Mar 2012 04:22:04 +0000 (21:22 -0700)]
tests/: Added xattr bench

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoconfig_opts.h: opts for omap_xattrs
Samuel Just [Tue, 13 Mar 2012 22:31:21 +0000 (15:31 -0700)]
config_opts.h: opts for omap_xattrs

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agotest_object_map: update unit test for xattr
Samuel Just [Tue, 13 Mar 2012 00:43:14 +0000 (17:43 -0700)]
test_object_map: update unit test for xattr

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoDBObjectMap: implement xattr interface
Samuel Just [Tue, 13 Mar 2012 00:09:03 +0000 (17:09 -0700)]
DBObjectMap: implement xattr interface

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoObjectMap: add interface for storing xattrs
Samuel Just [Mon, 12 Mar 2012 23:52:58 +0000 (16:52 -0700)]
ObjectMap: add interface for storing xattrs

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoDBObjectMap: add support for storing xattrs
Samuel Just [Mon, 12 Mar 2012 22:10:44 +0000 (15:10 -0700)]
DBObjectMap: add support for storing xattrs

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoconfigure: fix warnings
Sage Weil [Fri, 16 Mar 2012 17:39:39 +0000 (10:39 -0700)]
configure: fix warnings

Finally!

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoReplicatedPG: populate_object_context during handle_pull_response
Samuel Just [Fri, 16 Mar 2012 17:01:03 +0000 (10:01 -0700)]
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>
13 years agoleveldb: .gitignore TAGS
Sage Weil [Fri, 16 Mar 2012 16:43:02 +0000 (09:43 -0700)]
leveldb: .gitignore TAGS

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoleveldb: un-revert
Sage Weil [Fri, 16 Mar 2012 16:40:37 +0000 (09:40 -0700)]
leveldb: un-revert

Accidentally reverted by c2af646b38995ba005140e748a21baba4263e53f.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoosd: maybe clear DEGRADED on recovery completion
Sage Weil [Thu, 15 Mar 2012 17:35:40 +0000 (10:35 -0700)]
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>
13 years agorgw: remove extra layer of RGWAccess
Yehuda Sadeh [Thu, 15 Mar 2012 00:16:05 +0000 (17:16 -0700)]
rgw: remove extra layer of RGWAccess

Not needed, now that we got rid of RGWFS

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agomsgr: switch all users over to abstract interface
Sage Weil [Wed, 14 Mar 2012 23:33:39 +0000 (16:33 -0700)]
msgr: switch all users over to abstract interface

This will let us transparently swap implementations out.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomsgr: introduce static Messenger::create() function
Sage Weil [Wed, 14 Mar 2012 23:28:14 +0000 (16:28 -0700)]
msgr: introduce static Messenger::create() function

Create a new messenger, with whatever implementation is appropriate.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agomsgr: promote more methods to abstract Messenger interface
Sage Weil [Wed, 14 Mar 2012 23:24:15 +0000 (16:24 -0700)]
msgr: promote more methods to abstract Messenger interface

This will be everything that people actually use.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agorgw: put_obj() uses bufferlist instead of extra alloc/copy
Yehuda Sadeh [Wed, 14 Mar 2012 22:56:19 +0000 (15:56 -0700)]
rgw: put_obj() uses bufferlist instead of extra alloc/copy

makes it cleaner.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: remove fs backend
Yehuda Sadeh [Wed, 14 Mar 2012 22:55:54 +0000 (15:55 -0700)]
rgw: remove fs backend

was broken anyway

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agointroduce CEPH_FEATURE_OMAP
Sage Weil [Wed, 14 Mar 2012 19:57:49 +0000 (12:57 -0700)]
introduce CEPH_FEATURE_OMAP

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoleveldb: new .gitignore entry
Sage Weil [Wed, 14 Mar 2012 19:55:44 +0000 (12:55 -0700)]
leveldb: new .gitignore entry

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge branch 'next'
Sage Weil [Wed, 14 Mar 2012 20:01:46 +0000 (13:01 -0700)]
Merge branch 'next'

13 years agoosd: rev cluster internal protocol
Sage Weil [Wed, 14 Mar 2012 19:14:20 +0000 (12:14 -0700)]
osd: rev cluster internal protocol

This covers:

- the push/pull changes in 0.43 (which we forgot to protect against; see
  #2132)
- the new omap stuff for 0.44

Maybe we could make this finer grained so that ceph-osd would fail only
when mismatched versions are talking _and_ there is actual omap data in
play, but it's not worth the effort at this point.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoceph-fuse: make big_writes optional via 'fuse big writes'
Sage Weil [Wed, 14 Mar 2012 16:36:27 +0000 (09:36 -0700)]
ceph-fuse: make big_writes optional via 'fuse big writes'

Fixes: #2159
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: remove some more globals from librgw
Yehuda Sadeh [Wed, 14 Mar 2012 00:21:46 +0000 (17:21 -0700)]
rgw: remove some more globals from librgw

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoceph-dencoder: don't use rgw types if configured without rgw
Yehuda Sadeh [Wed, 14 Mar 2012 00:03:09 +0000 (17:03 -0700)]
ceph-dencoder: don't use rgw types if configured without rgw

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: fix identation
Yehuda Sadeh [Tue, 13 Mar 2012 22:36:26 +0000 (15:36 -0700)]
rgw: fix identation

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoMerge branch 'master' of github.com:ceph/ceph
Johnw [Tue, 13 Mar 2012 23:23:06 +0000 (16:23 -0700)]
Merge branch 'master' of github.com:ceph/ceph

13 years agoAdded documentation for building the ceph documentation.
Johnw [Tue, 13 Mar 2012 23:22:26 +0000 (16:22 -0700)]
Added documentation for building the ceph documentation.

13 years agorgw: get rid of references to g_ceph_context where required
Yehuda Sadeh [Tue, 13 Mar 2012 21:59:00 +0000 (14:59 -0700)]
rgw: get rid of references to g_ceph_context where required

trickling down ceph context.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agodoc: update project status/stability blurb
Sage Weil [Tue, 13 Mar 2012 20:48:48 +0000 (13:48 -0700)]
doc: update project status/stability blurb

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
Reviewed-by: Mark Kampe <mark.kampe@dreamhost.com>
13 years agoglobal: drop yellow warning on startup
Sage Weil [Tue, 6 Mar 2012 19:18:08 +0000 (11:18 -0800)]
global: drop yellow warning on startup

Fixes: #2143
Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoqa: kclient/file_layout.sh: ...
Sage Weil [Tue, 13 Mar 2012 17:02:14 +0000 (10:02 -0700)]
qa: kclient/file_layout.sh: ...

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoMerge branch 'librados-cleanup'
Josh Durgin [Tue, 13 Mar 2012 18:46:25 +0000 (11:46 -0700)]
Merge branch 'librados-cleanup'

Reviewed-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoosd_types: use uint64_t for ObjectExtent offsets and lengths
Josh Durgin [Wed, 7 Mar 2012 00:15:18 +0000 (16:15 -0800)]
osd_types: use uint64_t for ObjectExtent offsets and lengths

This is just client in-memory state, and allows us to address objects >4GiB,
to match the existing librados/Objecter interfaces.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agoOSDMap: make get_pools() const
Josh Durgin [Wed, 7 Mar 2012 00:05:34 +0000 (16:05 -0800)]
OSDMap: make get_pools() const

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agoObjectCacher: remove unused and crufty atomic sync operations
Josh Durgin [Fri, 2 Mar 2012 19:35:45 +0000 (11:35 -0800)]
ObjectCacher: remove unused and crufty atomic sync operations

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agolibrados: move methods that require an IoCtx to IoCtxImpl
Josh Durgin [Thu, 1 Mar 2012 20:08:33 +0000 (12:08 -0800)]
librados: move methods that require an IoCtx to IoCtxImpl

RadosClient still does a few different things, but at least it
no longer does all the work of an IoCtx.

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agolibrados: split into separate files and remove unnecessary headers
Josh Durgin [Thu, 1 Mar 2012 00:28:20 +0000 (16:28 -0800)]
librados: split into separate files and remove unnecessary headers

Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
13 years agorgw: add more meaningful tests instances of encoded objects
Yehuda Sadeh [Tue, 13 Mar 2012 00:02:53 +0000 (17:02 -0700)]
rgw: add more meaningful tests instances of encoded objects

this completes #2140

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agobuild-doc: use alternate virtualenv dir, if specified
Sage Weil [Mon, 12 Mar 2012 23:46:31 +0000 (16:46 -0700)]
build-doc: use alternate virtualenv dir, if specified

The docs gitbuilder will use this to avoid rebuilding the virtualenv on
every build.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agotest_idempotent: fix global_init call
Sage Weil [Mon, 12 Mar 2012 22:12:55 +0000 (15:12 -0700)]
test_idempotent: fix global_init call

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoqa: kclient/file_layout.sh poking
Sage Weil [Mon, 12 Mar 2012 21:58:19 +0000 (14:58 -0700)]
qa: kclient/file_layout.sh poking

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: modify bucket instance for encoding test
Yehuda Sadeh [Mon, 12 Mar 2012 21:57:09 +0000 (14:57 -0700)]
rgw: modify bucket instance for encoding test

This makes 'make check' happy, otherwise we need to create
a bucket name that starts with a period. This version is better.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agotest: add test_filestore_idempotent2
Samuel Just [Wed, 7 Mar 2012 19:29:52 +0000 (11:29 -0800)]
test: add test_filestore_idempotent2

Signed-off-by: Samuel Just <rexludorum@gmail.com>
13 years agoFileStore: ignore ERANGE and ENOENT on replay
Samuel Just [Mon, 12 Mar 2012 20:33:55 +0000 (13:33 -0700)]
FileStore: ignore ERANGE and ENOENT on replay

The source object may either not exist or be the wrong size
during replay if the destination object was deleted in a future
already-applied operation.  This should not impact correctness
of the replay.

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoFileStore: clarify debug/error output
Samuel Just [Mon, 12 Mar 2012 20:39:13 +0000 (13:39 -0700)]
FileStore: clarify debug/error output

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoMakefile.am, rgw: remove fcgi dependency where not needed
Yehuda Sadeh [Mon, 12 Mar 2012 21:41:24 +0000 (14:41 -0700)]
Makefile.am, rgw: remove fcgi dependency where not needed

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: add more meaningful test instances of some encoded objects
Yehuda Sadeh [Mon, 12 Mar 2012 21:22:53 +0000 (14:22 -0700)]
rgw: add more meaningful test instances of some encoded objects

still need to add tests for other objects

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: tone down some log messages
Yehuda Sadeh [Mon, 12 Mar 2012 20:22:49 +0000 (13:22 -0700)]
rgw: tone down some log messages

dout(0) -> dout(1)

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agorgw: provide different default values for 'debug rgw'
Yehuda Sadeh [Mon, 12 Mar 2012 20:18:39 +0000 (13:18 -0700)]
rgw: provide different default values for 'debug rgw'

Currently rgw and radosgw-admin require different chattiness
defaults.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoconfig: alternative config options for global_init()
Yehuda Sadeh [Mon, 12 Mar 2012 20:15:50 +0000 (13:15 -0700)]
config: alternative config options for global_init()

We want to be able to provide alternative default config values, than
the ones we set in common/config_opts.h. This can be useful when we
want different default for different modules (e.g., rgw, rgw-admin).
Just passing it on the command line won't do because then we'd override
any config set by the user, so we need to process that before the regular
parsing (but after initializing the config context).

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoqa: use recent kernel for kernel_untar_build.sh
Sage Weil [Mon, 12 Mar 2012 19:01:21 +0000 (12:01 -0700)]
qa: use recent kernel for kernel_untar_build.sh

Happier on oneiric!

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agorgw: switch ops log flag to use ceph config
Yehuda Sadeh [Mon, 12 Mar 2012 18:39:58 +0000 (11:39 -0700)]
rgw: switch ops log flag to use ceph config

It's turned on by default. So now we're using the
'rgw enable ops log' config param in ceph.conf, instead
of RGW_SHOULD_LOG_DEFAULT in the apache conf.

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agofilestore: fix op_num offset/labels
Sage Weil [Mon, 12 Mar 2012 18:21:48 +0000 (11:21 -0700)]
filestore: fix op_num offset/labels

Start at 0, not 1.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoconfig: tmap to omap upgrade, true by default
Yehuda Sadeh [Mon, 12 Mar 2012 18:20:08 +0000 (11:20 -0700)]
config: tmap to omap upgrade, true by default

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
13 years agoMakefile: link libfcgi to librgw
Sage Weil [Mon, 12 Mar 2012 04:11:37 +0000 (21:11 -0700)]
Makefile: link libfcgi to librgw

Need this to make a linker error go away on my squeeze dev box.  We
probably need to make sure librgw doesn't touch fcgi, once that is
revisited down the line.  Opened #2166.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoqa/workunits/kclient/file_layout: escape *
Sage Weil [Mon, 12 Mar 2012 03:36:47 +0000 (20:36 -0700)]
qa/workunits/kclient/file_layout: escape *

Escape * so that it is expanded as root.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilejournal: less log noise
Sage Weil [Sun, 11 Mar 2012 19:31:17 +0000 (12:31 -0700)]
filejournal: less log noise

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: remove unused bool idempotent
Sage Weil [Sat, 10 Mar 2012 04:54:59 +0000 (20:54 -0800)]
filestore: remove unused bool idempotent

This was from the old broken mechanism.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: fix arguments
Sage Weil [Sat, 10 Mar 2012 01:07:02 +0000 (17:07 -0800)]
filestore: fix arguments

From a change that was rebased out; missed this caller.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoMerge remote branch 'gh/wip-2098'
Sage Weil [Sat, 10 Mar 2012 00:42:15 +0000 (16:42 -0800)]
Merge remote branch 'gh/wip-2098'

Reviewed-by: Samuel Just <samuel.just@dreamhost.com>
13 years agofilestore: sync object_map on _set_replay_guard()
Sage Weil [Sat, 10 Mar 2012 00:34:55 +0000 (16:34 -0800)]
filestore: sync object_map on _set_replay_guard()

We need to sync the object_map too.  We can _almost_ check to see if there
are keys for the object and only do it then, except that they may have
existed previously and then been deleted.

So, always sync.  leveldb is reasonably nice about this... it should just
be another fsync.

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agoomap: add sync method to ObjectMap
Sage Weil [Thu, 8 Mar 2012 00:38:29 +0000 (16:38 -0800)]
omap: add sync method to ObjectMap

Signed-off-by: Samuel Just <rexludorum@gmail.com>
13 years agofilestore: remove old post-idempotent transaction trigger_commit
Sage Weil [Thu, 8 Mar 2012 04:58:27 +0000 (20:58 -0800)]
filestore: remove old post-idempotent transaction trigger_commit

The old strategy was to initiate a commit after any non-idempotent
transaction.  This only worked if the transaction was idempotent with
respect to itself, or could be replayed partially without problems,
and in reality that isn't the case.  For example:

 - clone A -> B
 - write to A
 - <sync>

If we crash before the sync, and replay the clone A->B, we corrupt B with
the new A data.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: guard collection_remove replay
Sage Weil [Thu, 8 Mar 2012 04:55:27 +0000 (20:55 -0800)]
filestore: guard collection_remove replay

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: guard replay of collection_add
Sage Weil [Thu, 8 Mar 2012 04:55:16 +0000 (20:55 -0800)]
filestore: guard replay of collection_add

- set guard on apply
- check guard on replay

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: guard replay of basic collection ops
Sage Weil [Thu, 8 Mar 2012 04:54:22 +0000 (20:54 -0800)]
filestore: guard replay of basic collection ops

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: guard collection_rename replay
Sage Weil [Thu, 8 Mar 2012 04:53:51 +0000 (20:53 -0800)]
filestore: guard collection_rename replay

- check guard on replay
- set guard on apply

Signed-off-by: Sage Weil <sage@newdream.net>
13 years agofilestore: fix collection_rename error code
Sage Weil [Thu, 8 Mar 2012 04:53:27 +0000 (20:53 -0800)]
filestore: fix collection_rename error code

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: guard clone replay
Sage Weil [Thu, 8 Mar 2012 04:52:57 +0000 (20:52 -0800)]
filestore: guard clone replay

- set guard xattr on clone, clone_range
- check before applying/replaying

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: implement _set_replay_guard, _check_replay_guard
Sage Weil [Thu, 8 Mar 2012 00:37:32 +0000 (16:37 -0800)]
filestore: implement _set_replay_guard, _check_replay_guard

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: maintain SequencerPosition during _do_transaction
Sage Weil [Wed, 7 Mar 2012 05:51:35 +0000 (21:51 -0800)]
filestore: maintain SequencerPosition during _do_transaction

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: fgetxattr helpers/wrappers
Sage Weil [Wed, 7 Mar 2012 18:11:58 +0000 (10:11 -0800)]
filestore: fgetxattr helpers/wrappers

Also, do the getxattr using fgetxattr, to avoid duplicating code.  This is
slightly slower probably because we open a file handle, but if we care we
should really clean up the code to use lfn_open instead of lfn_find and
avoid the repeated path traversal too.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoadd SequencerPosition type
Sage Weil [Sun, 4 Mar 2012 21:43:18 +0000 (13:43 -0800)]
add SequencerPosition type

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: pass trans_num into _do_transaction
Sage Weil [Wed, 7 Mar 2012 05:16:06 +0000 (21:16 -0800)]
filestore: pass trans_num into _do_transaction

This gives us the <op_seq, trans_num, op_num> triple to identify every
constituent operation.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agofilestore: use proper type for readdir_r tmp
Sage Weil [Sun, 4 Mar 2012 21:21:11 +0000 (13:21 -0800)]
filestore: use proper type for readdir_r tmp

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agolevedb: fix commit
Sage Weil [Fri, 9 Mar 2012 22:24:14 +0000 (14:24 -0800)]
levedb: fix commit

This got reverted back to the old commit, somehow.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoMerge branch 'master' of github.com:ceph/ceph
Sage Weil [Fri, 9 Mar 2012 22:13:03 +0000 (14:13 -0800)]
Merge branch 'master' of github.com:ceph/ceph

13 years agoRadosModel: fix omap_clear case in RemoveAttrsOp
Samuel Just [Fri, 9 Mar 2012 22:10:18 +0000 (14:10 -0800)]
RadosModel: fix omap_clear case in RemoveAttrsOp

Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
13 years agoMerge branch 'wip-rgw-encode'
Sage Weil [Fri, 9 Mar 2012 22:03:15 +0000 (14:03 -0800)]
Merge branch 'wip-rgw-encode'

Conflicts:
src/rgw/rgw_cls_api.h

Reviewed-by: Sage Weil <sage@newdream.net>
13 years agorgw: fix rgw_cls_list_ret ctor
Sage Weil [Fri, 9 Mar 2012 21:55:49 +0000 (13:55 -0800)]
rgw: fix rgw_cls_list_ret ctor

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
13 years agoceph-object-corpus: added 0.43
Yehuda Sadeh [Fri, 9 Mar 2012 21:32:36 +0000 (13:32 -0800)]
ceph-object-corpus: added 0.43

Signed-off-by: Yehuda Sadeh <yehuda.sadeh@dreamhost.com>