]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
14 years agocauthtool: update man page
Sage Weil [Fri, 17 Sep 2010 18:48:57 +0000 (11:48 -0700)]
cauthtool: update man page

14 years agodebian: make update_pbuilder.sh update a single dist at a time
Sage Weil [Fri, 17 Sep 2010 22:52:43 +0000 (15:52 -0700)]
debian: make update_pbuilder.sh update a single dist at a time

14 years agomkcephfs: use new cauthtool --cap syntax
Sage Weil [Fri, 17 Sep 2010 18:38:10 +0000 (11:38 -0700)]
mkcephfs: use new cauthtool --cap syntax

14 years agovstart.sh: use new cauthtool --cap syntax
Sage Weil [Fri, 17 Sep 2010 18:38:04 +0000 (11:38 -0700)]
vstart.sh: use new cauthtool --cap syntax

14 years agocauthtool: add simpler '--cap key val' syntax
Sage Weil [Fri, 17 Sep 2010 18:37:21 +0000 (11:37 -0700)]
cauthtool: add simpler '--cap key val' syntax

This lets you avoid creating a temp filename and doing '--caps filename'.
Instead, add each cap individually, like

--cap mon 'allow *' --cap mds 'allow' --cap osd 'allow rwx'

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoqa: update snaptests, add snaptest-multi-capsnaps.sh
Sage Weil [Fri, 17 Sep 2010 15:09:19 +0000 (08:09 -0700)]
qa: update snaptests, add snaptest-multi-capsnaps.sh

14 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 16 Sep 2010 23:16:32 +0000 (16:16 -0700)]
Merge branch 'testing' into unstable

Conflicts:
src/osd/ReplicatedPG.cc

14 years agoosd: copy truncate_seq et al to clone oi
Sage Weil [Thu, 16 Sep 2010 23:15:30 +0000 (16:15 -0700)]
osd: copy truncate_seq et al to clone oi

These fields are logically object attributes that should be preserved
across the clone COW process.  (Not copying truncate_seq in particular
corrupts snapshot file data, depending on the order of arrival of racing
trimtrunc and writes.

14 years agoosd: fix is_pool_snaps_mode() for empty pools
Sage Weil [Thu, 16 Sep 2010 22:50:50 +0000 (15:50 -0700)]
osd: fix is_pool_snaps_mode() for empty pools

The data pool in particular has seq 0 and (initially) no removed snaps.  We
must not return true for that case, or else the OSD will use an empty
pool snap context and not the user/mds provided one.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoupdate TODO
Sage Weil [Thu, 16 Sep 2010 16:53:12 +0000 (09:53 -0700)]
update TODO

14 years agoinit-ceph: fix log_dir creation
Sage Weil [Thu, 16 Sep 2010 04:04:12 +0000 (21:04 -0700)]
init-ceph: fix log_dir creation

Use do_cmd so that it works for remote hosts.

14 years agorgw: fix cleanup for certain ops
Yehuda Sadeh [Wed, 15 Sep 2010 23:22:29 +0000 (16:22 -0700)]
rgw: fix cleanup for certain ops

This fixes bug #412

14 years agorgw: fix cleanup for certain ops
Yehuda Sadeh [Wed, 15 Sep 2010 23:22:29 +0000 (16:22 -0700)]
rgw: fix cleanup for certain ops

This fixes bug #412

14 years agomds: update realm parent pointer and pin parent inode changing realm past_parents
Sage Weil [Wed, 15 Sep 2010 16:56:51 +0000 (09:56 -0700)]
mds: update realm parent pointer and pin parent inode changing realm past_parents

All open past_parents need to be pinned.  Also the realm parent pointer
needs to be correct.

14 years agomds: need_snapflush for all snaps intersecting cowed inode range
Sage Weil [Tue, 14 Sep 2010 23:45:05 +0000 (16:45 -0700)]
mds: need_snapflush for all snaps intersecting cowed inode range

If the inode is [2,3], and the realm has snaps 2,3 both defined, then we
expect flushed snap info for both 2 and 3.

14 years agotime: format dates based on ISO 8601
Sage Weil [Tue, 14 Sep 2010 23:34:36 +0000 (16:34 -0700)]
time: format dates based on ISO 8601

e.g., 2010-09-14 16:33:34.280735

14 years agomds: include tid in MClientCaps printout
Sage Weil [Mon, 13 Sep 2010 23:43:10 +0000 (16:43 -0700)]
mds: include tid in MClientCaps printout

14 years agoaddr_parsing: make more resilient; turn down debugging
Greg Farnum [Tue, 14 Sep 2010 17:56:49 +0000 (10:56 -0700)]
addr_parsing: make more resilient; turn down debugging

14 years agomonclient: parse named addresses, not just IPs
Greg Farnum [Tue, 14 Sep 2010 17:44:06 +0000 (10:44 -0700)]
monclient: parse named addresses, not just IPs

14 years agoclient: in choose_target_mds, break parent lookup if inode is unlinked.
Greg Farnum [Tue, 14 Sep 2010 17:00:31 +0000 (10:00 -0700)]
client: in choose_target_mds, break parent lookup if inode is unlinked.

This can happen now with the recent frag changes and there's no way around it.

14 years agomon: only remove laggy standby mds's; mark others laggy
Sage Weil [Mon, 13 Sep 2010 20:21:36 +0000 (13:21 -0700)]
mon: only remove laggy standby mds's; mark others laggy

This fixes botched ad8a0d9b364ce4c1e3ac0b0f29d23a135f53a37e.

14 years agomds: don't suppress cap on eval following do_cap_update
Sage Weil [Mon, 13 Sep 2010 19:52:29 +0000 (12:52 -0700)]
mds: don't suppress cap on eval following do_cap_update

Case in point:
 - client updates wanted, and writes back data.
 - do_cap_update journals something
 - suppress
 - eval issues wanted caps
 - unsuppress
 - do_cap_update does flush

I think this is just old code.  What does the flush_ack have to do with
what eval() does here?  They're unrelated!

14 years agoRevert "msgr: Test reconnect protocol changes."
Greg Farnum [Mon, 13 Sep 2010 19:17:32 +0000 (12:17 -0700)]
Revert "msgr: Test reconnect protocol changes."

This reverts commit 7349bce8a304231855468503eb32d0167d6955bb.
Only testing; we don't want it live! But keep in-tree.

14 years agoMerge branch 'msgr' into unstable
Greg Farnum [Mon, 13 Sep 2010 19:17:05 +0000 (12:17 -0700)]
Merge branch 'msgr' into unstable

14 years agoobjecter: remove unused bufferlist
Greg Farnum [Thu, 26 Aug 2010 23:30:09 +0000 (16:30 -0700)]
objecter: remove unused bufferlist

14 years agoMerge branch 'unstable' into msgr
Greg Farnum [Mon, 13 Sep 2010 19:14:51 +0000 (12:14 -0700)]
Merge branch 'unstable' into msgr

14 years agoobjecter: remove unused bufferlist
Greg Farnum [Thu, 26 Aug 2010 23:30:09 +0000 (16:30 -0700)]
objecter: remove unused bufferlist

14 years agomsgr: Test reconnect protocol changes.
Greg Farnum [Mon, 13 Sep 2010 19:02:30 +0000 (12:02 -0700)]
msgr: Test reconnect protocol changes.

14 years agomsgr: when both ends support it, exchange in_seq values on reconnect
Greg Farnum [Mon, 13 Sep 2010 18:42:59 +0000 (11:42 -0700)]
msgr: when both ends support it, exchange in_seq values on reconnect
to prevent gratuitously re-sending messages.

This adds a new feature "CEPH_FEATURE_RECONNECT_SEQ" which goes into
the defaul msgr features, as well as a CEPH_MSGR_TAG_SEQ which indicates
this step is being taken and substitutes for CEPH_MSGR_TAG_READY.

14 years agomsgr: Let requeue_sent remove items completely, given a seq to remove from.
Greg Farnum [Tue, 7 Sep 2010 20:55:17 +0000 (13:55 -0700)]
msgr: Let requeue_sent remove items completely, given a seq to remove from.

14 years agomsgr: If one Connection/Pipe replaces an old one that faulted, fully replace.
Greg Farnum [Fri, 10 Sep 2010 21:22:44 +0000 (14:22 -0700)]
msgr: If one Connection/Pipe replaces an old one that faulted, fully replace.

We were previously losing messages because they were associated with an old
Connection that had lost its Pipe.

14 years agoclient: don't crash on cache readdir of empty dir
Sage Weil [Mon, 13 Sep 2010 18:31:53 +0000 (11:31 -0700)]
client: don't crash on cache readdir of empty dir

14 years agoclient: implement readdir from cache
Sage Weil [Mon, 13 Sep 2010 18:24:55 +0000 (11:24 -0700)]
client: implement readdir from cache

This largely mirrors the kclient implementation (but simpler, due to
simpler locking).

14 years agoclient: maintain dn->offset
Sage Weil [Mon, 13 Sep 2010 18:23:54 +0000 (11:23 -0700)]
client: maintain dn->offset

In preparation for readdir from cache.

14 years agoclient: remove stray dcache items while insert readdir results
Sage Weil [Mon, 13 Sep 2010 17:18:03 +0000 (10:18 -0700)]
client: remove stray dcache items while insert readdir results

Walk the dir entry map while we parse the directory results and remove
old entries (while inserting/updating existing entries).

14 years agoclient: buffer name->ino linkage only; do stat at time of readdir
Sage Weil [Mon, 13 Sep 2010 17:03:17 +0000 (10:03 -0700)]
client: buffer name->ino linkage only; do stat at time of readdir

This makes the results more correct/consistent with the current state of
the cache at the time of the readdir(plus).  It also means we buffer less
data for the readdir result.  And pin inodes for the duration.

14 years agoclient: only parse readdir result once
Sage Weil [Mon, 13 Sep 2010 16:47:51 +0000 (09:47 -0700)]
client: only parse readdir result once

..when inserting into the cache.  Set up our result cache at the same time.

14 years agoclient: keep map<> _and_ hash_map<> of dir names
Sage Weil [Mon, 13 Sep 2010 16:35:02 +0000 (09:35 -0700)]
client: keep map<> _and_ hash_map<> of dir names

This will give us a sorted map (good for readdir) and fast lookup.

14 years agoclient: avoid trivial helper _readdir_add_dirent
Sage Weil [Mon, 13 Sep 2010 16:32:03 +0000 (09:32 -0700)]
client: avoid trivial helper _readdir_add_dirent

14 years agoMerge branch 'testing' into unstable
Sage Weil [Mon, 13 Sep 2010 16:24:47 +0000 (09:24 -0700)]
Merge branch 'testing' into unstable

Conflicts:
src/mon/ClassMonitor.cc
src/mon/Session.h

14 years agoconfig: fix buffer overrun in env_to_{vec,deq}()
Sage Weil [Mon, 13 Sep 2010 03:38:05 +0000 (20:38 -0700)]
config: fix buffer overrun in env_to_{vec,deq}()

14 years agoosd: fix osdcaps parsing negative return value
Sage Weil [Mon, 13 Sep 2010 03:26:57 +0000 (20:26 -0700)]
osd: fix osdcaps parsing negative return value

14 years agofilestore: handle error opening fsid on mkjournal
Sage Weil [Mon, 13 Sep 2010 03:26:16 +0000 (20:26 -0700)]
filestore: handle error opening fsid on mkjournal

14 years agofilestore: handle error reading current_op_seq_fn
Sage Weil [Mon, 13 Sep 2010 03:24:53 +0000 (20:24 -0700)]
filestore: handle error reading current_op_seq_fn

14 years agofilestore: return on error creating fsid file
Sage Weil [Mon, 13 Sep 2010 03:22:41 +0000 (20:22 -0700)]
filestore: return on error creating fsid file

14 years agofilestore: fix error paths for _clone()
Sage Weil [Sun, 12 Sep 2010 16:19:35 +0000 (09:19 -0700)]
filestore: fix error paths for _clone()

14 years agomoncaps: fix array out of bounds in parsing
Sage Weil [Sun, 12 Sep 2010 16:18:13 +0000 (09:18 -0700)]
moncaps: fix array out of bounds in parsing

14 years agoosd: handle nonexistant file in ager
Sage Weil [Sun, 12 Sep 2010 04:00:06 +0000 (21:00 -0700)]
osd: handle nonexistant file in ager

14 years agoosd: check for errors in open, write in write_meta()
Sage Weil [Sun, 12 Sep 2010 03:59:08 +0000 (20:59 -0700)]
osd: check for errors in open, write in write_meta()

14 years agostr_list: fix buffer index when start<0
Sage Weil [Sun, 12 Sep 2010 03:57:23 +0000 (20:57 -0700)]
str_list: fix buffer index when start<0

find_first_no_of() can return a negative value.

14 years agomon: remove laggy standby nodes (instead of marking laggy)
Sage Weil [Sat, 11 Sep 2010 21:18:54 +0000 (14:18 -0700)]
mon: remove laggy standby nodes (instead of marking laggy)

This will implicitly clean out old standby nodes that go away.  Laggy
cmds's that don't will just re-add themselves.  Since the laggy flag is
a map change, this creates no more or less map churn.

14 years agomds: re-add if standby and removed from mdsmap
Sage Weil [Sat, 11 Sep 2010 21:17:58 +0000 (14:17 -0700)]
mds: re-add if standby and removed from mdsmap

Instead of shutting down, we should stay alive and try to re-add ourselves
to the MDSMap.

This paves the way for the monitor to remove laggy standby nodes instead
of just marking them laggy.

14 years agoosd: don't create clone_obc on replica
Sage Weil [Sat, 11 Sep 2010 21:06:43 +0000 (14:06 -0700)]
osd: don't create clone_obc on replica

We don't need the clone_obc on the replica, since we don't read from there.
We don't have head obc's either.

We do, however, keep the snapset_obc, since there are a few paths that
depend on whether it exists on disk (to clean it up) and that information
isn't currently fed through from the primary.

14 years agoosd: don't leak map_in_progress_cond
Sage Weil [Sat, 11 Sep 2010 16:54:09 +0000 (09:54 -0700)]
osd: don't leak map_in_progress_cond

14 years agomon: less log noise
Sage Weil [Fri, 10 Sep 2010 20:54:58 +0000 (13:54 -0700)]
mon: less log noise

14 years agoinit-ceph: mkdir log_sym_dir only if not default
Sage Weil [Fri, 10 Sep 2010 20:47:28 +0000 (13:47 -0700)]
init-ceph: mkdir log_sym_dir only if not default

14 years agomds: propagate accounted_* into dirfrags on scatterwriteback
Sage Weil [Fri, 10 Sep 2010 20:47:09 +0000 (13:47 -0700)]
mds: propagate accounted_* into dirfrags on scatterwriteback

The accounted_ updates need to propagate into the dirfrag fnodes in the
journal for auth frags during scatterwriteback.

14 years agomds: don't xlock and wrlock same dn->versionlock
Sage Weil [Fri, 10 Sep 2010 19:57:46 +0000 (12:57 -0700)]
mds: don't xlock and wrlock same dn->versionlock

We deadlock if we try to wrlock and xlock the same lock.  This was
happening during multi-mds rename when the versionlock was in the xlock
set.

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomds: drop useless virtual-ness for finish_scatter_gather_update
Sage Weil [Fri, 10 Sep 2010 18:01:48 +0000 (11:01 -0700)]
mds: drop useless virtual-ness for finish_scatter_gather_update

If/when we do this on dentries, _then_ we can use a virtual function, and
rewrite the single user (scatter_writebehind) to generalize to non-inodes.

14 years agomds: journal dirfrag accounted_{r,frag}stat on inode update
Sage Weil [Thu, 9 Sep 2010 22:53:10 +0000 (15:53 -0700)]
mds: journal dirfrag accounted_{r,frag}stat on inode update

When the inode sucks in the dir's updated frag info, we need to journal
the dirfrag update as well.  This ensures that any subsequent changes in
the dirfrag will be reflected by the difference between rstat and
accounted_rstat from the perspective of the journal contents (in case we
fail/recover during that process).

14 years agomds: in cinode debug, only show nl= if != 1
Sage Weil [Thu, 9 Sep 2010 22:42:44 +0000 (15:42 -0700)]
mds: in cinode debug, only show nl= if != 1

14 years agoinit-ceph: mkdir log_dir and log_sym_dir
Paul Chiang [Tue, 6 Jul 2010 03:24:42 +0000 (11:24 +0800)]
init-ceph: mkdir log_dir and log_sym_dir

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomon: be a little more conservating in MOSDBoot handling
Sage Weil [Thu, 9 Sep 2010 23:40:03 +0000 (16:40 -0700)]
mon: be a little more conservating in MOSDBoot handling

If we see the osd is being marked up, retry the message after commit,
don't just assume we're a dup and it's the same instance.

14 years agoosdmap: allow blacklist of an entire ip
Sage Weil [Thu, 9 Sep 2010 22:37:09 +0000 (15:37 -0700)]
osdmap: allow blacklist of an entire ip

We can backlist either a specific instance (1.2.3.4:1234/5678) or an
entire IP, in which case the table has something like "1.2.3.4:0/0" (a port
and nonce of 0).

14 years agomon: add 'osd blacklist ls'
Sage Weil [Thu, 9 Sep 2010 22:26:11 +0000 (15:26 -0700)]
mon: add 'osd blacklist ls'

14 years agocommon: close fd after parsed config file
Henry C Chang [Mon, 23 Aug 2010 10:23:39 +0000 (18:23 +0800)]
common: close fd after parsed config file

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomount.ceph: exit with error code from mount
Paul Chiang [Tue, 13 Jul 2010 05:50:23 +0000 (13:50 +0800)]
mount.ceph: exit with error code from mount

Signed-off-by: Sage Weil <sage@newdream.net>
14 years agomon: 'osd blacklist (add|rm) addr [duration]'
Sage Weil [Thu, 9 Sep 2010 22:18:02 +0000 (15:18 -0700)]
mon: 'osd blacklist (add|rm) addr [duration]'

Manipulate the OSDMap blacklist.

14 years agoMerge branch 'testing' into unstable
Sage Weil [Thu, 9 Sep 2010 18:11:15 +0000 (11:11 -0700)]
Merge branch 'testing' into unstable

14 years agomon: fix up variable names to be more clear this is an inclusive range
Sage Weil [Thu, 9 Sep 2010 18:09:57 +0000 (11:09 -0700)]
mon: fix up variable names to be more clear this is an inclusive range

14 years agomon: fix osdmap subscribe range
Sage Weil [Thu, 9 Sep 2010 18:04:27 +0000 (11:04 -0700)]
mon: fix osdmap subscribe range

Send incremental starting with the next map they want, not the one they
already have.

14 years agomon: fix send_incremental ranges; behave when sending just 1 inc.
Sage Weil [Thu, 9 Sep 2010 18:03:46 +0000 (11:03 -0700)]
mon: fix send_incremental ranges; behave when sending just 1 inc.

The build_incremental range is inclusive.  And we should behave when
sending a single inc map to get up to date.

14 years agomon: handle subscribe to osdmap=1
Sage Weil [Thu, 9 Sep 2010 17:56:22 +0000 (10:56 -0700)]
mon: handle subscribe to osdmap=1

We would send an incremental for anything >1, or the latest map, but not
osdmap e1 itself.  Fix the condition, and make send_incremental() smart
about starting with the full map at 1 as needed.

14 years agoobjecter: remove unused bufferlist
Greg Farnum [Thu, 26 Aug 2010 23:30:09 +0000 (16:30 -0700)]
objecter: remove unused bufferlist

14 years agomds: fix journal replay of session close->open after reconnect
Sage Weil [Thu, 9 Sep 2010 17:01:24 +0000 (10:01 -0700)]
mds: fix journal replay of session close->open after reconnect

If the client reconnects, the journal 'close' replay doesn't remove the
session, which leaves the session state intact.  It needs to reset it in
that case, or else we get problems if the session is reopened and the
state doesn't match up.

Reported-by: Nat N <phenisha@gmail.com>
Signed-off-by: Sage Weil <sage@newdream.net>
14 years agoobjectcacher: fix use-after-free atomic_sync_readx
Sage Weil [Wed, 8 Sep 2010 22:42:08 +0000 (15:42 -0700)]
objectcacher: fix use-after-free atomic_sync_readx

readx() releases rd; copy snapid so we can use it later.

14 years agomds: fix use-after-free
Sage Weil [Wed, 8 Sep 2010 22:38:11 +0000 (15:38 -0700)]
mds: fix use-after-free

We copied the name, but forgot to use it.

14 years agomds: fix use-after-free in snaprealm_create_finish
Sage Weil [Wed, 8 Sep 2010 22:36:37 +0000 (15:36 -0700)]
mds: fix use-after-free in snaprealm_create_finish

We pass mut's log segment to snapclient->commit().

14 years agoobjectcacher: cleanup release(), just to be clear
Sage Weil [Wed, 8 Sep 2010 22:33:42 +0000 (15:33 -0700)]
objectcacher: cleanup release(), just to be clear

14 years agoobjecter: add missing return in list_objects
Sage Weil [Wed, 8 Sep 2010 22:30:32 +0000 (15:30 -0700)]
objecter: add missing return in list_objects

This fixes a use-after-free, and generally bad behavior.

14 years agoobjectcacher: fix use-after-free
Sage Weil [Wed, 8 Sep 2010 22:28:21 +0000 (15:28 -0700)]
objectcacher: fix use-after-free

Move waiter check above close_object(ob) call.

14 years agomount: fix scope of secret[]
Sage Weil [Wed, 8 Sep 2010 22:26:28 +0000 (15:26 -0700)]
mount: fix scope of secret[]

We use value pointer outside of this block; move declaration up to function
level.

14 years agocrushtool: fix bucket type array bound check
Sage Weil [Wed, 8 Sep 2010 22:24:29 +0000 (15:24 -0700)]
crushtool: fix bucket type array bound check

14 years agorados: fix delete[] in aio_bencher
Sage Weil [Wed, 8 Sep 2010 22:22:17 +0000 (15:22 -0700)]
rados: fix delete[] in aio_bencher

14 years agoMerge branch 'uclient_readdir' into testing
Sage Weil [Wed, 8 Sep 2010 22:14:55 +0000 (15:14 -0700)]
Merge branch 'uclient_readdir' into testing

14 years agoclient: move readdir code around
Sage Weil [Wed, 8 Sep 2010 21:44:26 +0000 (14:44 -0700)]
client: move readdir code around

14 years agoclient: reimplement getdir() with readdir_r_cb()
Sage Weil [Wed, 8 Sep 2010 21:10:31 +0000 (14:10 -0700)]
client: reimplement getdir() with readdir_r_cb()

More efficient.

14 years agoclient: reimplement readdir
Sage Weil [Wed, 8 Sep 2010 21:02:43 +0000 (14:02 -0700)]
client: reimplement readdir

Reimplement core readdir (readdir_r_cb), using kclient as a template.
Reimplement all other readdir variants in terms of readdir_r_cb.

Main change is support for frag chunking, and hopefully lots of subtle bugs
that have been fixed in the kclient code we're based on.

14 years agocfuse: use readdir_r_cb
Sage Weil [Wed, 8 Sep 2010 18:32:00 +0000 (11:32 -0700)]
cfuse: use readdir_r_cb

14 years agouclient: implement readdir_r_cb (callback based readdir)
Sage Weil [Wed, 8 Sep 2010 18:31:19 +0000 (11:31 -0700)]
uclient: implement readdir_r_cb (callback based readdir)

This lets us know whether the caller is able to consume an entry before
advancing our position.

14 years agomds: sync replicas after finishing XLOCK gather
Sage Weil [Tue, 7 Sep 2010 22:46:20 +0000 (15:46 -0700)]
mds: sync replicas after finishing XLOCK gather

The replicas are in the LOCK state; sync them.  We had the XLOCKDONE but
not the XLOCK case.

14 years agomds: fix replica state for mix->sync
Sage Weil [Tue, 7 Sep 2010 21:57:49 +0000 (14:57 -0700)]
mds: fix replica state for mix->sync

Should be mix->sync(2): the same as a replica who already go the first
SYNC message and is waiting in mix->sync(2) for the final SYNC to indicate
the gather is completed.

14 years agomds: don't export any system dirs
Sage Weil [Tue, 7 Sep 2010 21:47:13 +0000 (14:47 -0700)]
mds: don't export any system dirs

Skip dir if it is any system dir.

14 years agomds: authpin non-auth items we may need to REQSCATTER or REQRDLOCK for any lock type
Sage Weil [Tue, 7 Sep 2010 21:40:33 +0000 (14:40 -0700)]
mds: authpin non-auth items we may need to REQSCATTER or REQRDLOCK for any lock type

We were doing just filelock, but this is needed for any lock.

14 years agoRevert "Merge branch 'auth_change_waiters' into unstable"
Sage Weil [Tue, 7 Sep 2010 21:38:48 +0000 (14:38 -0700)]
Revert "Merge branch 'auth_change_waiters' into unstable"

This reverts commit 1d8770be2747c43a1aef05a6439b7e23a87f0419, reversing
changes made to 46bf806a774a3cd28b3a1da4ec79fb9e61124ba8.

14 years agomds: lock path, parent dir scatterlocks _after_ freezing
Sage Weil [Tue, 7 Sep 2010 20:59:37 +0000 (13:59 -0700)]
mds: lock path, parent dir scatterlocks _after_ freezing

This fixes a ABBA deadlock between
  acquire_locks(): auth_pins items, then locks in order
  export_dir: locks paths, then freezes.

Instead, we check for lockability (but don't lock), do the freeze, and then
try to take the locks after.  If we can't do so atomically, we currently
just fail.  In theory this could wait for the distributed locks, but it's
probably not worth the complexity at this stage; export_dir is currently
still opportunistic and can bail out for a variety of reasons.

14 years agomds: can next state lockability checks in eval_gather
Sage Weil [Mon, 23 Aug 2010 22:36:14 +0000 (15:36 -0700)]
mds: can next state lockability checks in eval_gather

The can_* fields need to be ANY or AUTH.. not REQ or XCL (at least not
without trickier checks).  Otherwise we progress to the next state too
early and violate the locking rules.

14 years agomds: don't allow read in sync->mix2 state, request rdlock in sync->mix
Sage Weil [Mon, 23 Aug 2010 22:35:00 +0000 (15:35 -0700)]
mds: don't allow read in sync->mix2 state, request rdlock in sync->mix

14 years agoMerge branch 'testing' into unstable
Sage Weil [Tue, 7 Sep 2010 19:13:39 +0000 (12:13 -0700)]
Merge branch 'testing' into unstable

Conflicts:
configure.ac
src/mds/MDCache.cc

14 years agoMerge branch 'mds_replay_lock_states' into testing
Sage Weil [Tue, 7 Sep 2010 19:12:41 +0000 (12:12 -0700)]
Merge branch 'mds_replay_lock_states' into testing