]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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 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>
14 years agomds: store dir inode in separate object; fetch from both. incompat flag.
Sage Weil [Wed, 27 Oct 2010 21:43:43 +0000 (14:43 -0700)]
mds: store dir inode in separate object; fetch from both.  incompat flag.

This avoids setting large xattrs.  There's no reason the inode needs to be
on the same object as the dir(frag) data.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclarify CDir/CInode content comments a little bit
Greg Farnum [Wed, 27 Oct 2010 21:43:48 +0000 (14:43 -0700)]
clarify CDir/CInode content comments a little bit

14 years agofilestore: can force use of stale snaps
Yehuda Sadeh [Wed, 27 Oct 2010 20:21:11 +0000 (13:21 -0700)]
filestore: can force use of stale snaps

also, overwrite the commit_seq with the current version in case we
forced stale snaps.

14 years agofilestore: don't revert to old snapshots on startup
Yehuda Sadeh [Wed, 27 Oct 2010 18:38:11 +0000 (11:38 -0700)]
filestore: don't revert to old snapshots on startup

This should fix bug #55

14 years agofilestore: read commit_seq before mounting (btrfs ioctls)
Yehuda Sadeh [Tue, 26 Oct 2010 23:46:31 +0000 (16:46 -0700)]
filestore: read commit_seq before mounting (btrfs ioctls)

14 years agoceph.cc: delete deadcode
Colin Patrick McCabe [Wed, 27 Oct 2010 06:19:19 +0000 (23:19 -0700)]
ceph.cc: delete deadcode

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoMove ceph.cc to tools/
Colin Patrick McCabe [Wed, 27 Oct 2010 03:51:49 +0000 (20:51 -0700)]
Move ceph.cc to tools/

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agoconfigure.ac: add ./configure option for gtk2
Colin Patrick McCabe [Tue, 26 Oct 2010 21:26:12 +0000 (14:26 -0700)]
configure.ac: add ./configure option for gtk2

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
14 years agomds: fix split use after free; merge works
Sage Weil [Wed, 27 Oct 2010 03:06:14 +0000 (20:06 -0700)]
mds: fix split use after free; merge works

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: simplify fragtree_t printer
Sage Weil [Wed, 27 Oct 2010 02:20:38 +0000 (19:20 -0700)]
mds: simplify fragtree_t printer

val/bits^split

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: implement command 'merge_dir path frag'
Sage Weil [Wed, 27 Oct 2010 02:08:14 +0000 (19:08 -0700)]
mds: implement command 'merge_dir path frag'

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: implement frag.parse()
Sage Weil [Wed, 27 Oct 2010 01:48:05 +0000 (18:48 -0700)]
mds: implement frag.parse()

14 years agomds: requeue dir if we can't split now due to dftlock
Sage Weil [Wed, 27 Oct 2010 01:33:10 +0000 (18:33 -0700)]
mds: requeue dir if we can't split now due to dftlock

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: check/take wrlock on dirfragtreelock; unwind after freeze if needed
Sage Weil [Wed, 27 Oct 2010 01:25:21 +0000 (18:25 -0700)]
mds: check/take wrlock on dirfragtreelock; unwind after freeze if needed

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: move fragment checks into shared helper
Sage Weil [Wed, 27 Oct 2010 00:03:47 +0000 (17:03 -0700)]
mds: move fragment checks into shared helper

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: don't replicate new frags (at least for now)
Sage Weil [Tue, 26 Oct 2010 23:59:53 +0000 (16:59 -0700)]
mds: don't replicate new frags (at least for now)

Lease commented out stubs in place.

14 years agomds: clean up merge() callchain
Sage Weil [Tue, 26 Oct 2010 23:53:54 +0000 (16:53 -0700)]
mds: clean up merge() callchain

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: generalize split/merge call chain a bit
Sage Weil [Tue, 26 Oct 2010 23:22:22 +0000 (16:22 -0700)]
mds: generalize split/merge call chain a bit

Still need work at the lower levels.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: reimplement split_dir
Sage Weil [Fri, 22 Oct 2010 22:57:14 +0000 (15:57 -0700)]
mds: reimplement split_dir

Do not use an mdrequest; the old approach was totally broken wrt freezing,
locks, and deadlock.

First freeze, then lock, just like migration.

We still need to add a wrlock of the dirfragtreelock.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoclient: fix dup entries in multifrag readdir
Sage Weil [Fri, 22 Oct 2010 22:55:49 +0000 (15:55 -0700)]
client: fix dup entries in multifrag readdir

We need a next_offset of 0 for non-leftmost frags.  Otherwise we set
our dentry offsets incorrectly and the next_offset we return to teh readdir
callback doesn't line up.  This was causing the first readdir on a large
multifrag directory to duplicate the last two items.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: add 'mds bal split bits' config option (default 3)
Sage Weil [Fri, 22 Oct 2010 21:01:02 +0000 (14:01 -0700)]
mds: add 'mds bal split bits' config option (default 3)

This is how many bits we fragment by, by default.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomessenger: always unlock existing pipes, even if they're lossy
Greg Farnum [Tue, 26 Oct 2010 23:28:48 +0000 (16:28 -0700)]
messenger: always unlock existing pipes, even if they're lossy

14 years agoclient: Initialize Inode::truncate_size to 0 instead of -1, and check prior_size
Greg Farnum [Tue, 26 Oct 2010 19:39:25 +0000 (12:39 -0700)]
client: Initialize Inode::truncate_size to 0 instead of -1, and check prior_size
on truncation.

truncate_size needs to precisely match the defaults on the MDS, or we run into
problems when importing new inodes. No idea why it was previously set
to not match.
If we don't think the inode has any size, it doesn't need to truncate either.
This should fix #518.

14 years agoMerge remote branch 'origin/testing' into unstable
Sage Weil [Tue, 26 Oct 2010 19:04:17 +0000 (12:04 -0700)]
Merge remote branch 'origin/testing' into unstable

Conflicts:
configure.ac
src/rados.cc