]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agomds: introduce/use helpers to resync stale fragstat/rstat; update version
Sage Weil [Sat, 6 Nov 2010 18:18:13 +0000 (11:18 -0700)]
mds: introduce/use helpers to resync stale fragstat/rstat; update version

Simplifies code.

Also, update the version when we resync!

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: update version when bring stale rstat back up to date
Sage Weil [Sat, 6 Nov 2010 16:38:15 +0000 (09:38 -0700)]
mds: update version when bring stale rstat back up to date

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: simplify stale semantics a bit
Sage Weil [Sat, 6 Nov 2010 14:58:32 +0000 (07:58 -0700)]
mds: simplify stale semantics a bit

is_stale() => next MIX is MIX_STALE. Stale flag is then cleared.  Then we
special case the import to preserve stale-ness.

TODO: add_replica_inode likely has this same problem.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: preserve stale state on import; some cleanup
Sage Weil [Sat, 6 Nov 2010 04:52:28 +0000 (21:52 -0700)]
mds: preserve stale state on import; some cleanup

Our new invariant is that MIX_STALE always implies is_stale().  And on
import, if is_stale(), MIX becomes MIX_STALE.  This ensures that a replica
that we put into MIX_STALE doesn't turn back into MIX if we import it
and take the auth's state in CInode::decode_import().

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: add more verify_scatter asserts
Sage Weil [Sat, 6 Nov 2010 00:06:10 +0000 (17:06 -0700)]
mds: add more verify_scatter asserts

For catchings fragstat errors sooner.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix version check on resyncing stale rstat in predirty_journal_parents
Sage Weil [Fri, 5 Nov 2010 22:24:53 +0000 (15:24 -0700)]
mds: fix version check on resyncing stale rstat in predirty_journal_parents

We're resyncing rstat, so check the rstat version (not fragstat!)

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: preserve version when recovering rstat from dirfrag in predirty_journal_parents
Sage Weil [Fri, 5 Nov 2010 17:38:35 +0000 (10:38 -0700)]
mds: preserve version when recovering rstat from dirfrag in predirty_journal_parents

We don't want to screw up the version here.  This aligns the code with
other instances of this check.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: restructure finish_scatter_gather_update()
Sage Weil [Fri, 5 Nov 2010 06:20:33 +0000 (23:20 -0700)]
mds: restructure finish_scatter_gather_update()

Separate behavior into two dimensions: whether or not we are updating
the dirfrag, and whether or not the dirfrag is stale.

Change the various helpers to NOT implicitly update accounted_*, as the
caller doesn't always want that, notably when we are non-stale but frozen.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: do not bump scatter stat lock in predirty_journal_parents
Sage Weil [Fri, 5 Nov 2010 06:15:06 +0000 (23:15 -0700)]
mds: do not bump scatter stat lock in predirty_journal_parents

If we're in the MIX state, we clearly can't touch this without screwing up
the delicate scatter/gather behavior.  If we're in, say, LOCK, there is
still no reason to update it.  One frag at least is local and auth if we
are in this code, but there may be other frags on other nodes.  This would
just make them appear stale when they are not.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: mark scatterlock stale on import of stale frag scatter stat
Sage Weil [Fri, 5 Nov 2010 05:48:09 +0000 (22:48 -0700)]
mds: mark scatterlock stale on import of stale frag scatter stat

When the lock scattered, if we didn't have an auth frag that was frozen,
we go into MIX state.  Later, we may import a stale dirfrag.  We need to
move to MIX_STALE at that point, and/or mark the lock stale so that any
subsequent transition does so.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: match bottom half of assilate_dirty_rstat_inodes with a dir flag
Sage Weil [Fri, 5 Nov 2010 05:44:01 +0000 (22:44 -0700)]
mds: match bottom half of assilate_dirty_rstat_inodes with a dir flag

We only do the assimilate_dirty_rstat_inodes if we do an update AND the
frag rstat was non-stale, but the bottom half (_finish) doesn't have the
same info to know whether we did it because the top half updates the
fragstat version.  Use a flag to indicate we've updated the dirfrag so
the bottom half will only run when needed.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix inode version used for inest in decode_lock_state
Sage Weil [Fri, 5 Nov 2010 05:19:53 +0000 (22:19 -0700)]
mds: fix inode version used for inest in decode_lock_state

We need to pass the inode rstat's version into finish_scatter_update, not
the shadowed local variable.  Otherwise we don't update the dirfrag when
we should.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: mds debug scatterstat to print out projected rstat/fragstat
Sage Weil [Thu, 4 Nov 2010 20:17:01 +0000 (13:17 -0700)]
mds: mds debug scatterstat to print out projected rstat/fragstat

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: verify single frag rstat on projection too
Sage Weil [Thu, 4 Nov 2010 20:04:47 +0000 (13:04 -0700)]
mds: verify single frag rstat on projection too

Currently we do a sanity check on gather; do the same check in
project_rstat_frag_to_inode().

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix optional frag asserts
Sage Weil [Thu, 4 Nov 2010 18:33:49 +0000 (11:33 -0700)]
mds: fix optional frag asserts

We want these to trigger when mds_verify_scatter is true.  Only one !.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: clean up active <-> booting state transitions
Sage Weil [Thu, 4 Nov 2010 18:13:14 +0000 (11:13 -0700)]
osd: clean up active <-> booting state transitions

Among other things, get rid of the 'wrongly marked down' log message on
normal startup.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoTestEncoding: count number of ctor invocations
Colin Patrick McCabe [Thu, 4 Nov 2010 17:24:52 +0000 (10:24 -0700)]
TestEncoding: count number of ctor invocations

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoclient: print useful max_size waiting message
Sage Weil [Wed, 3 Nov 2010 23:41:29 +0000 (16:41 -0700)]
client: print useful max_size waiting message

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMerge branch 'mix_stale' into unstable
Sage Weil [Wed, 3 Nov 2010 23:40:19 +0000 (16:40 -0700)]
Merge branch 'mix_stale' into unstable

14 years agodebian: add gtk build-depends
Sage Weil [Wed, 3 Nov 2010 16:44:22 +0000 (09:44 -0700)]
debian: add gtk build-depends

For ceph -g.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: add 'mds verify scatter' and re-add some scatter asserts
Sage Weil [Wed, 3 Nov 2010 21:02:30 +0000 (14:02 -0700)]
mds: add 'mds verify scatter' and re-add some scatter asserts

Check on ifile and inest gather that stats match single-frag dirs.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix put_xlock() assert for slave masters
Sage Weil [Wed, 3 Nov 2010 20:51:07 +0000 (13:51 -0700)]
mds: fix put_xlock() assert for slave masters

If we are a master of a slave, the state will be LOCK.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: rename 'mix stale' => 'mix_stale'
Sage Weil [Wed, 3 Nov 2010 20:16:06 +0000 (13:16 -0700)]
mds: rename 'mix stale' => 'mix_stale'

For unambigous debug output

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: request unscatter when MIX_STALE on replica
Sage Weil [Wed, 3 Nov 2010 20:15:43 +0000 (13:15 -0700)]
mds: request unscatter when MIX_STALE on replica

This means implementing REQUNSCATTER.

Eventually this should use TEMPSYNC, but that isn't fully implemented yet.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: disable tempsync
Sage Weil [Wed, 3 Nov 2010 20:09:18 +0000 (13:09 -0700)]
mds: disable tempsync

Tempsync is not implemented in the filelock state machine.  Never use it,
at lesat for now!

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: finish_scatter_update on auth dirfrags too
Sage Weil [Wed, 3 Nov 2010 21:31:19 +0000 (14:31 -0700)]
mds: finish_scatter_update on auth dirfrags too

We can update the dirfrag accounted on auth dirfrags at scatter time too.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: use helper for scatter dirfrag update; use on local dirfrags
Sage Weil [Wed, 3 Nov 2010 20:08:06 +0000 (13:08 -0700)]
mds: use helper for scatter dirfrag update; use on local dirfrags

Any time we scatter is an opportunity to update the dirfrag with the
accounted scatter stat if it is out of date.  We should use that
opportunity even when the dirfrag is on the same node as the inode (i.e.,
not just through decode_lock_state).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoAdd the ps-ceph.sh tool
Colin Patrick McCabe [Wed, 3 Nov 2010 19:52:49 +0000 (12:52 -0700)]
Add the ps-ceph.sh tool

This allows you to see at a glance which ceph programs and tools you
have running.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoencoding.h: fix compiler warning
Colin Patrick McCabe [Wed, 3 Nov 2010 19:15:20 +0000 (12:15 -0700)]
encoding.h: fix compiler warning

Fix a compiler warning about an uninitialized variable. Basically, we
used to insert uninitialized values into a std::multimap and then fix
them later. Rather than doing that, just insert the value we want
directly into the map.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoTestEncoding: add templated encode-then-decode fn
Colin Patrick McCabe [Wed, 3 Nov 2010 19:14:21 +0000 (12:14 -0700)]
TestEncoding: add templated encode-then-decode fn

TestEncoding: add a templated encode-then-decode fn that can be used to
test encoding followed by decoding of any type. Test encoding and
decoding of a std::multimap.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoCreate TestEncoding to test serialization code
Colin Patrick McCabe [Wed, 3 Nov 2010 19:03:32 +0000 (12:03 -0700)]
Create TestEncoding to test serialization code

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agomds: add some scatterlock notes
Sage Weil [Wed, 3 Nov 2010 18:07:40 +0000 (11:07 -0700)]
mds: add some scatterlock notes

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoceph: remove bad assert for old frag stat
Sage Weil [Wed, 3 Nov 2010 18:03:37 +0000 (11:03 -0700)]
ceph: remove bad assert for old frag stat

It's normal for old fragstat info to be mismatched (stat !=
accounted_stat).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: match conditions in finish_scatter_gather_update_accounted
Sage Weil [Wed, 3 Nov 2010 17:51:42 +0000 (10:51 -0700)]
mds: match conditions in finish_scatter_gather_update_accounted

This needs to match the frozen check in finish_scatter_gather_update.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: handle MIX_STALE on auth too
Sage Weil [Wed, 3 Nov 2010 17:12:35 +0000 (10:12 -0700)]
mds: handle MIX_STALE on auth too

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: scatter_info_t ancestor for nest_info_t and frag_info_t
Sage Weil [Wed, 3 Nov 2010 16:51:15 +0000 (09:51 -0700)]
mds: scatter_info_t ancestor for nest_info_t and frag_info_t

This will facilitate using generic code for the inest and ifile
scatterlocks.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: only mark auth dirfrags stale in start_scatter
Sage Weil [Wed, 3 Nov 2010 16:47:23 +0000 (09:47 -0700)]
mds: only mark auth dirfrags stale in start_scatter

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: mark scatterlock stale if any auth dirfrags appear stale
Sage Weil [Wed, 3 Nov 2010 04:51:15 +0000 (21:51 -0700)]
mds: mark scatterlock stale if any auth dirfrags appear stale

The auth needs to move to MIX_STALE for the same reasons a replica does:
if, on scatter, any dirfrags have an old accounted_*stat, the lock needs to
be marked stale (or updated... TODO!).

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: do not update accounted_*stat if auth and frozen
Sage Weil [Wed, 3 Nov 2010 04:49:45 +0000 (21:49 -0700)]
mds: do not update accounted_*stat if auth and frozen

The auth can't update a frozen dirfrag for the same reason a replica
can't.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: mark scatterlock stale if dir is frozen, not inode
Sage Weil [Tue, 2 Nov 2010 23:28:15 +0000 (16:28 -0700)]
mds: mark scatterlock stale if dir is frozen, not inode

It's the dir we're auth for and that might potentially be frozen.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMerge branch 'unstable' into mix_stale
Sage Weil [Tue, 2 Nov 2010 23:25:37 +0000 (16:25 -0700)]
Merge branch 'unstable' into mix_stale

14 years agorados: benchmark using unique object names
Sage Weil [Tue, 2 Nov 2010 22:26:14 +0000 (15:26 -0700)]
rados: benchmark using unique object names

Include hostname and pid in object name, so that instances running on
different hosts write to unique objects.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agodebian packaging: set --sbindir=/sbin
Colin Patrick McCabe [Tue, 2 Nov 2010 21:37:56 +0000 (14:37 -0700)]
debian packaging: set --sbindir=/sbin

We want mkcephfs and mount.ceph to be under /sbin.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoconfig: fix sigsegv handler
Sage Weil [Tue, 2 Nov 2010 20:00:26 +0000 (13:00 -0700)]
config: fix sigsegv handler

Fixed this with sigabrt, forgot to do sigsegv too.

See 7a688a9f999a6b9d3bcdcbebbd8cd984afc70e31.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agofilestore: disable 'filestore btrfs snap' when SNAP_DESTROY is missing
Sage Weil [Tue, 2 Nov 2010 18:10:38 +0000 (11:10 -0700)]
filestore: disable 'filestore btrfs snap' when SNAP_DESTROY is missing

We want to enable the new snap stuff by default.  But we also want to work
with the default configuration on old kernels.

The only downside here is that someone might explicitly enable it, only to
have it disabled on started because their kernel is old.  They'll get a
bright yellow warning in that case, at least.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMakefile.am: include the libcrush headers when installing
Wido den Hollander [Tue, 2 Nov 2010 16:47:11 +0000 (09:47 -0700)]
Makefile.am: include the libcrush headers when installing

Signed-off-by: Wido den Hollander <wido@widodh.nl>
14 years agoMerge branch 'testing' into unstable
Greg Farnum [Tue, 2 Nov 2010 17:10:24 +0000 (10:10 -0700)]
Merge branch 'testing' into unstable

14 years agouclient: Warn on truncate_[size|seq] changes for non-file inodes.
Greg Farnum [Tue, 2 Nov 2010 16:37:04 +0000 (09:37 -0700)]
uclient: Warn on truncate_[size|seq] changes for non-file inodes.

14 years agomds: Init system CInodes to have a truncate_size of -1.
Greg Farnum [Fri, 29 Oct 2010 03:46:04 +0000 (20:46 -0700)]
mds: Init system CInodes to have a truncate_size of -1.
This should help with bug #518.

14 years agoclient: match initialization with mds
Sage Weil [Mon, 1 Nov 2010 18:13:20 +0000 (11:13 -0700)]
client: match initialization with mds

(see Server::prepare_new_inode())

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: only do truncate on regular files
Sage Weil [Mon, 1 Nov 2010 18:13:06 +0000 (11:13 -0700)]
client: only do truncate on regular files

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agodebian: add pkg-config as build-depends
Wido den Hollander [Tue, 2 Nov 2010 16:30:39 +0000 (09:30 -0700)]
debian: add pkg-config as build-depends

Signed-off-by: Wido den Hollander <wido@widodh.nl>
14 years agoinit-ceph: make lockfile dir configuration (redhat)
Sage Weil [Tue, 2 Nov 2010 05:09:56 +0000 (22:09 -0700)]
init-ceph: make lockfile dir configuration (redhat)

Reported-by: Ed Burnette <ed.burnette@sas.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobject.h: const cleanup
Colin Patrick McCabe [Tue, 2 Nov 2010 02:29:11 +0000 (19:29 -0700)]
object.h: const cleanup

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agologrotate: separate rule for stat/*.log
Sage Weil [Mon, 1 Nov 2010 17:04:15 +0000 (10:04 -0700)]
logrotate: separate rule for stat/*.log

Logrotate seems to ignore the entire rule if any part of the file list
is not found.  This happens on nodes with only monitors.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd::PG: Update PG comments
Colin Patrick McCabe [Mon, 25 Oct 2010 22:20:57 +0000 (15:20 -0700)]
osd::PG: Update PG comments

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agotest: create test_unfound.sh
Colin Patrick McCabe [Tue, 26 Oct 2010 17:04:12 +0000 (10:04 -0700)]
test: create test_unfound.sh

Create test_unfound.sh to test handling unfound objects.

Move more test functions into test/test_common.sh to facilitate code
reuse.

Allow the user to keep the temporary directory around after the test is
over by setting KEEP_TEMPDIR.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agofix make distcheck, make uninstall
Colin Patrick McCabe [Mon, 1 Nov 2010 03:29:28 +0000 (20:29 -0700)]
fix make distcheck, make uninstall

Make distclean was failing because make uninstall was broken. (There were
still leftover files after running make install + make uninstall.)

To fix this, use automake's built-in installation mechanisms rather than
manually installing files using the install-data-local target.

EXTRA_DIST: fix paths to use srcdir where necessary

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoMerge remote branch 'origin/mds_frags' into unstable
Sage Weil [Sat, 30 Oct 2010 22:46:03 +0000 (15:46 -0700)]
Merge remote branch 'origin/mds_frags' into unstable

14 years agoMerge remote branch 'origin/testing' into unstable
Sage Weil [Sat, 30 Oct 2010 22:04:13 +0000 (15:04 -0700)]
Merge remote branch 'origin/testing' into unstable

Conflicts:
configure.ac

14 years agofilestore: automatically choose appropriate journaling mode
Sage Weil [Sat, 30 Oct 2010 22:22:09 +0000 (15:22 -0700)]
filestore: automatically choose appropriate journaling mode

The three modes each get an explicit config option that defaults to false.
You can choose one explicitly by enabling one of those.  Otherwise, we
will choose an appropriate mode automatically based on detected btrfs
ioctls.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agov0.22.2 v0.22.2
Sage Weil [Sat, 30 Oct 2010 18:24:34 +0000 (11:24 -0700)]
v0.22.2

14 years agofilestore: use updated btrfs ioctls
Sage Weil [Sat, 30 Oct 2010 18:12:14 +0000 (11:12 -0700)]
filestore: use updated btrfs ioctls

Switch to the interface finally merged for 2.6.37-rc1.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agobtrfs: update ioctls.h
Sage Weil [Sat, 30 Oct 2010 17:32:18 +0000 (10:32 -0700)]
btrfs: update ioctls.h

This is what was finally merged for 2.6.37-rc1.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoGet "make dist" working, fix gui build issues
Colin Patrick McCabe [Fri, 29 Oct 2010 23:19:41 +0000 (16:19 -0700)]
Get "make dist" working, fix gui build issues

* Fix VPATH builds (i.e., builds where srcdir != builddir).
Don't assume that we can get a source files named blah with ./blah.
Use $(srcdir)/blah instead.

* When doing "make dist", inject the .git_version file directly into the
ceph tarball

* Add tools/gui_resources.h to noinst_HEADERS

* Add ceph_tool_gui_DATA to all_sources

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agomds: detect small dirs that should be merged, and merge them
Sage Weil [Fri, 29 Oct 2010 23:42:16 +0000 (16:42 -0700)]
mds: detect small dirs that should be merged, and merge them

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: hit dir popularity on unlink
Sage Weil [Fri, 29 Oct 2010 22:47:43 +0000 (15:47 -0700)]
mds: hit dir popularity on unlink

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: write potentially large pg info to object, not xattr [format change]
Sage Weil [Fri, 29 Oct 2010 22:28:37 +0000 (15:28 -0700)]
osd: write potentially large pg info to object, not xattr [format change]

Write past_intervals and snap_collections to a separate object instead of
an attr on the collection directory.  This avoids exceeding the underlying
filesystem xattr limits during thrashing recovery.  The struct_v on the
small info xattr is used to indicate the format of the biginfo object.

Also fixed pg deletion to clean out log and biginfo objects.

Added incompat format flag.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocephtool-gui : more helpful error on pixbuf fail
Colin Patrick McCabe [Fri, 29 Oct 2010 21:28:00 +0000 (14:28 -0700)]
cephtool-gui : more helpful error on pixbuf fail

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoosd: snap_trimmer: flush between collection sets
Sage Weil [Fri, 29 Oct 2010 21:06:46 +0000 (14:06 -0700)]
osd: snap_trimmer: flush between collection sets

We need to make sure the objects whose collection sets we just adjusted
are reflected on disk when we make the next pass on the next snapid.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: auth_pin head/snap pairs for all need_snapflush entries
Sage Weil [Fri, 29 Oct 2010 20:06:49 +0000 (13:06 -0700)]
mds: auth_pin head/snap pairs for all need_snapflush entries

This ensures that when snap metadata is flushed, we will be auth on both
inodes and be able to do the update properly.  This isn't the nicest
solution ever, since it can make migrations laggy, but it's the simplest.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: Refactor need_snapflush into CInode helpers
Sage Weil [Fri, 29 Oct 2010 20:05:16 +0000 (13:05 -0700)]
mds: Refactor need_snapflush into CInode helpers

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoconfigure.ac: default to --enable-gtk
Colin Patrick McCabe [Fri, 29 Oct 2010 19:10:28 +0000 (12:10 -0700)]
configure.ac: default to --enable-gtk

Default to enabling gtk rather than disabling it. Gracefully handle
cases where the user tries to enable it but it cannot be enabled.

Makefile.am: Add missing headers to noinst_HEADERS.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoosd: fix decoding of legacy (v2) coll_t
Sage Weil [Fri, 29 Oct 2010 19:06:44 +0000 (12:06 -0700)]
osd: fix decoding of legacy (v2) coll_t

It was u8, not int.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: use list instead of vector for trim_unlinked_inodes
Sage Weil [Fri, 29 Oct 2010 18:41:48 +0000 (11:41 -0700)]
mds: use list instead of vector for trim_unlinked_inodes

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: fix use-after-free iterator no-no in remove_inode_recursive()
Sage Weil [Fri, 29 Oct 2010 18:41:35 +0000 (11:41 -0700)]
mds: fix use-after-free iterator no-no in remove_inode_recursive()

We can't close_dirfrag and use the iterator if it's pointing to the
released element.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMerge branch 'mds_journal' into unstable
Greg Farnum [Fri, 29 Oct 2010 18:30:51 +0000 (11:30 -0700)]
Merge branch 'mds_journal' into unstable

14 years agomds: log if trim_non_auth does anything, since it shouldn't
Greg Farnum [Fri, 29 Oct 2010 18:28:55 +0000 (11:28 -0700)]
mds: log if trim_non_auth does anything, since it shouldn't
be now except on rollbacks.

14 years agomds: Call trim_non_auth_subtree when appropriate.
Greg Farnum [Fri, 29 Oct 2010 18:03:08 +0000 (11:03 -0700)]
mds: Call trim_non_auth_subtree when appropriate.

14 years agomds: add function MDCache::trim_non_auth_subtree
Greg Farnum [Wed, 27 Oct 2010 21:48:37 +0000 (14:48 -0700)]
mds: add function MDCache::trim_non_auth_subtree

Trims the subtree rooted at the given dir from cache, except
for those portions linking to directories on other MDSes.
Meant for use during replay.

14 years agodebian: fix changelog
Sage Weil [Fri, 29 Oct 2010 17:48:40 +0000 (10:48 -0700)]
debian: fix changelog

(This was actually in the 0.22.1-1 package we built.)

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoMutex: add more checks to lockdep
Colin Patrick McCabe [Thu, 28 Oct 2010 23:30:54 +0000 (16:30 -0700)]
Mutex: add more checks to lockdep

When lockdep is enabled, use PTHREAD_MUTEX_ERRORCHECK instead of
PTHREAD_MUTEX_NORMAL for non-recursive mutexes.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoceph: gui: update copyright foo
Colin Patrick McCabe [Thu, 28 Oct 2010 22:46:07 +0000 (15:46 -0700)]
ceph: gui: update copyright foo

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agocephtool: gui: handle bad input in view_node
Colin Patrick McCabe [Thu, 28 Oct 2010 22:34:00 +0000 (15:34 -0700)]
cephtool: gui: handle bad input in view_node

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agocephtool: only initialize the tokenizer once
Colin Patrick McCabe [Thu, 28 Oct 2010 22:26:05 +0000 (15:26 -0700)]
cephtool: only initialize the tokenizer once

Only initialize the tokenizer once. It gets cranky if it we call
tok_init more than once.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agocephtool: fix initialization race
Colin Patrick McCabe [Thu, 28 Oct 2010 22:01:59 +0000 (15:01 -0700)]
cephtool: fix initialization race

Call GuiMonitor::link_elements before GuiMonitor::connect_signals.

It doesn't seem safe to set up callbacks before the GUI elements are
fully initialized.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agocephtool: join GUI thread before shutting down
Colin Patrick McCabe [Thu, 28 Oct 2010 21:52:33 +0000 (14:52 -0700)]
cephtool: join GUI thread before shutting down

Join GUI thread before shutting down.

Move open_icon function.

Delete unused get_widgets function.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agocephtool gui: install and locate gui_resources
Colin Patrick McCabe [Thu, 28 Oct 2010 20:19:10 +0000 (13:19 -0700)]
cephtool gui: install and locate gui_resources

Make install now installs the gui resource files into
/usr/share/cephtool/gui_resources (or wherever we configure it to go
using configure). We also support grabbing the resources out of the
local source tree, for when we're running the program from there.

run_gui: catch exceptions and explain what they are, rather than letting
them go to the top level.

GuiMonitor::open_icon: const cleanup.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoAdd the Ceph monitoring GUI
Michael McThrow [Wed, 27 Oct 2010 20:31:26 +0000 (13:31 -0700)]
Add the Ceph monitoring GUI

This adds a graphical monitoring mode to the ceph cluster monitoring tool.  Its
functionality is similar to ./ceph -w. With ./ceph -g, you can watch over the
whole cluster graphically. It uses GTK2.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoqa: add rbd test
Yehuda Sadeh [Thu, 28 Oct 2010 22:40:27 +0000 (15:40 -0700)]
qa: add rbd test

14 years agoSubmittingPatches: initial version
Sage Weil [Thu, 28 Oct 2010 21:54:56 +0000 (14:54 -0700)]
SubmittingPatches: initial version

Largely based on Linux's version.  Includes the Signed-off-by stuff at
the top, and a bit more modern description of how to prepare/send patches
using git format-patch and send-email.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: add basic rbd test
Yehuda Sadeh [Thu, 28 Oct 2010 21:31:22 +0000 (14:31 -0700)]
qa: add basic rbd test

14 years agomds: Migrator needs to add_dir_context all the way to root.
Greg Farnum [Thu, 28 Oct 2010 20:03:04 +0000 (13:03 -0700)]
mds: Migrator needs to add_dir_context all the way to root.
It was going to the default subtree root, which doesn't
work when we've just created a new subtree root out of the given dir!

14 years agoosd: fix unneeded get_object_context() (and leak) in _rollback_to
Sage Weil [Thu, 28 Oct 2010 20:40:38 +0000 (13:40 -0700)]
osd: fix unneeded get_object_context() (and leak) in _rollback_to

All we want is the name of the head sobject_t, which is 'soid' in the
parent frame.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agocephfs: remove unused variables
Sage Weil [Thu, 28 Oct 2010 20:14:03 +0000 (13:14 -0700)]
cephfs: remove unused variables

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoconfig: fix signal handler recursion
Sage Weil [Thu, 28 Oct 2010 19:10:29 +0000 (12:10 -0700)]
config: fix signal handler recursion

Avoid having old handler pointer match the new handler.

Avoid calling an old handler if it pointer is null.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobjecter: refactor interface with object_locator_t
Sage Weil [Thu, 28 Oct 2010 18:53:38 +0000 (11:53 -0700)]
objecter: refactor interface with object_locator_t

This paves the way for a locator that lets the user specify an arbitrary
string to hash for placement (instead of the object name).  It also
captures everything that would affect placement (pool, preferred, etc.)
in a single type.

Just the client side; no server side or protocol changes yet.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: pin NEEDSNAPFLUSH only when adding item
Sage Weil [Thu, 28 Oct 2010 18:02:26 +0000 (11:02 -0700)]
mds: pin NEEDSNAPFLUSH only when adding item

This is mainly paranoia.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agodebian: change compat to 6 to match debhelper require
Sage Weil [Thu, 28 Oct 2010 04:25:49 +0000 (21:25 -0700)]
debian: change compat to 6 to match debhelper require

Reported-by: Laszlo Boszormenyi <gcs@debian.hu>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoosd: handle missing objects on snap read
Sage Weil [Mon, 25 Oct 2010 16:11:39 +0000 (09:11 -0700)]
osd: handle missing objects on snap read

The old check in handle_op doesn't work because we don't provide a snap
context on read, and we haven't loaded one off disk.  Instead, handle
it in the pg queue worker.  If find_object_context() returns EAGAIN, then
wait_for_missing_object.

Signed-off-by: Sage Weil <sage@newdream.net>