]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Greg Farnum [Mon, 20 Sep 2010 16:24:36 +0000 (09:24 -0700)]
Revert "throttle: make count an atomic_t"
Sage doesn't think this is likely to matter and doesn't want to risk such
a large change.
This reverts commit
3f8b3f7dc1023342ceb355bd09eab1db5d57703c .
Greg Farnum [Thu, 16 Sep 2010 21:47:41 +0000 (14:47 -0700)]
throttle: make count an atomic_t
This means we don't need to take a mutex (and possibly force
ourselves to sleep!) in order to take or put. This is about to
be important since we're adding accounting to the Objecter.
Greg Farnum [Tue, 31 Aug 2010 18:38:35 +0000 (11:38 -0700)]
throttle: add non-blocking get_or_fail method
Greg Farnum [Tue, 14 Sep 2010 17:56:49 +0000 (10:56 -0700)]
addr_parsing: make more resilient; turn down debugging
Greg Farnum [Tue, 14 Sep 2010 17:44:06 +0000 (10:44 -0700)]
monclient: parse named addresses, not just IPs
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.
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 .
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!
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.
Greg Farnum [Mon, 13 Sep 2010 19:17:05 +0000 (12:17 -0700)]
Merge branch 'msgr' into unstable
Greg Farnum [Thu, 26 Aug 2010 23:30:09 +0000 (16:30 -0700)]
objecter: remove unused bufferlist
Greg Farnum [Mon, 13 Sep 2010 19:14:51 +0000 (12:14 -0700)]
Merge branch 'unstable' into msgr
Greg Farnum [Thu, 26 Aug 2010 23:30:09 +0000 (16:30 -0700)]
objecter: remove unused bufferlist
Greg Farnum [Mon, 13 Sep 2010 19:02:30 +0000 (12:02 -0700)]
msgr: Test reconnect protocol changes.
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.
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.
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.
Sage Weil [Mon, 13 Sep 2010 18:31:53 +0000 (11:31 -0700)]
client: don't crash on cache readdir of empty dir
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).
Sage Weil [Mon, 13 Sep 2010 18:23:54 +0000 (11:23 -0700)]
client: maintain dn->offset
In preparation for readdir from cache.
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).
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.
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.
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.
Sage Weil [Mon, 13 Sep 2010 16:32:03 +0000 (09:32 -0700)]
client: avoid trivial helper _readdir_add_dirent
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
Sage Weil [Mon, 13 Sep 2010 03:38:05 +0000 (20:38 -0700)]
config: fix buffer overrun in env_to_{vec,deq}()
Sage Weil [Mon, 13 Sep 2010 03:26:57 +0000 (20:26 -0700)]
osd: fix osdcaps parsing negative return value
Sage Weil [Mon, 13 Sep 2010 03:26:16 +0000 (20:26 -0700)]
filestore: handle error opening fsid on mkjournal
Sage Weil [Mon, 13 Sep 2010 03:24:53 +0000 (20:24 -0700)]
filestore: handle error reading current_op_seq_fn
Sage Weil [Mon, 13 Sep 2010 03:22:41 +0000 (20:22 -0700)]
filestore: return on error creating fsid file
Sage Weil [Sun, 12 Sep 2010 16:19:35 +0000 (09:19 -0700)]
filestore: fix error paths for _clone()
Sage Weil [Sun, 12 Sep 2010 16:18:13 +0000 (09:18 -0700)]
moncaps: fix array out of bounds in parsing
Sage Weil [Sun, 12 Sep 2010 04:00:06 +0000 (21:00 -0700)]
osd: handle nonexistant file in ager
Sage Weil [Sun, 12 Sep 2010 03:59:08 +0000 (20:59 -0700)]
osd: check for errors in open, write in write_meta()
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.
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.
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.
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.
Sage Weil [Sat, 11 Sep 2010 16:54:09 +0000 (09:54 -0700)]
osd: don't leak map_in_progress_cond
Sage Weil [Fri, 10 Sep 2010 20:54:58 +0000 (13:54 -0700)]
mon: less log noise
Sage Weil [Fri, 10 Sep 2010 20:47:28 +0000 (13:47 -0700)]
init-ceph: mkdir log_sym_dir only if not default
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.
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>
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.
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).
Sage Weil [Thu, 9 Sep 2010 22:42:44 +0000 (15:42 -0700)]
mds: in cinode debug, only show nl= if != 1
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>
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.
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).
Sage Weil [Thu, 9 Sep 2010 22:26:11 +0000 (15:26 -0700)]
mon: add 'osd blacklist ls'
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>
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>
Sage Weil [Thu, 9 Sep 2010 22:18:02 +0000 (15:18 -0700)]
mon: 'osd blacklist (add|rm) addr [duration]'
Manipulate the OSDMap blacklist.
Sage Weil [Thu, 9 Sep 2010 18:11:15 +0000 (11:11 -0700)]
Merge branch 'testing' into unstable
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
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.
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.
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.
Greg Farnum [Thu, 26 Aug 2010 23:30:09 +0000 (16:30 -0700)]
objecter: remove unused bufferlist
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>
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.
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.
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().
Sage Weil [Wed, 8 Sep 2010 22:33:42 +0000 (15:33 -0700)]
objectcacher: cleanup release(), just to be clear
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.
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.
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.
Sage Weil [Wed, 8 Sep 2010 22:24:29 +0000 (15:24 -0700)]
crushtool: fix bucket type array bound check
Sage Weil [Wed, 8 Sep 2010 22:22:17 +0000 (15:22 -0700)]
rados: fix delete[] in aio_bencher
Sage Weil [Wed, 8 Sep 2010 22:14:55 +0000 (15:14 -0700)]
Merge branch 'uclient_readdir' into testing
Sage Weil [Wed, 8 Sep 2010 21:44:26 +0000 (14:44 -0700)]
client: move readdir code around
Sage Weil [Wed, 8 Sep 2010 21:10:31 +0000 (14:10 -0700)]
client: reimplement getdir() with readdir_r_cb()
More efficient.
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.
Sage Weil [Wed, 8 Sep 2010 18:32:00 +0000 (11:32 -0700)]
cfuse: use readdir_r_cb
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.
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.
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.
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.
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.
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 .
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.
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.
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
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
Sage Weil [Tue, 7 Sep 2010 19:12:41 +0000 (12:12 -0700)]
Merge branch 'mds_replay_lock_states' into testing
Sage Weil [Tue, 7 Sep 2010 18:06:54 +0000 (11:06 -0700)]
mds: rename process_reconnected_caps()
Sage Weil [Tue, 7 Sep 2010 18:03:34 +0000 (11:03 -0700)]
mds: make is_dirty() const in parent and child
Otherwise we're overriding the wrong method! Der.
Sage Weil [Tue, 7 Sep 2010 17:57:21 +0000 (10:57 -0700)]
mds: choose lock states for nestlock and dftlock too
All scatterlocks need it, in case we replay dirty scatterlock data.
Sage Weil [Mon, 30 Aug 2010 19:55:07 +0000 (12:55 -0700)]
mds: choose lock states on all inodes, not just those with caps
This is necessary because we want to select lock states for inodes with
no caps that got replayed scatterlock dirty state from the journal.
Sage Weil [Mon, 30 Aug 2010 19:54:35 +0000 (12:54 -0700)]
mds: choose LOCK if !replicated and dirty scatterlock
Sage Weil [Mon, 30 Aug 2010 19:51:31 +0000 (12:51 -0700)]
mds: fix bad iterator usage in process_reconnected_caps()
We use p->second, so don't increment p++ early in the loop block.
Sage Weil [Tue, 7 Sep 2010 17:18:52 +0000 (10:18 -0700)]
mkcephfs: fix bad |
Reported-by: Jim Schutt <jaschut@sandia.gov>
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Tue, 7 Sep 2010 17:01:58 +0000 (10:01 -0700)]
osd: log error instead of crashing on failed pull attempt
If peering screws up and the primary mistakenly tries to pull an object
from us we don't have, log an error instead of crashing. This will still
throw off recovery (it will hang), but that's better than crashing
outright.
Yehuda Sadeh [Sat, 4 Sep 2010 00:27:41 +0000 (17:27 -0700)]
rgw: send status: 100 after auth code to signal fastcgi module
Shouldn't make any difference with older modules, and patched fastcgi
module should know how to handle it.
Yehuda Sadeh [Thu, 2 Sep 2010 19:04:03 +0000 (12:04 -0700)]
rgw: update the rgw_admin usage
Yehuda Sadeh [Mon, 30 Aug 2010 21:57:27 +0000 (14:57 -0700)]
class: fix adding of class library, when previously existed
Sage Weil [Mon, 30 Aug 2010 19:51:31 +0000 (12:51 -0700)]
mds: fix bad iterator usage in process_reconnected_caps()
We use p->second, so don't increment p++ early in the loop block.
Sage Weil [Sat, 28 Aug 2010 14:34:04 +0000 (07:34 -0700)]
mon: more useful class debug output
Sage Weil [Thu, 26 Aug 2010 22:27:13 +0000 (15:27 -0700)]
ceph v0.21.2