Commit Graph

10243 Commits

Author SHA1 Message Date
Sage Weil
364f3cb061 mds: adjust subtree map when unlinking dirs
Otherwise we get subtree bounds in the stray dir and get confused down
the line.
2010-06-01 14:14:23 -07:00
Sage Weil
c4bbb0008b mds: discover snapped paths on retried ops
This is intended to mitigate a livelock issue with traversing to snapped
metadata.  The client specifies all snap requests relative to a non-snap
inode.  The traversal through the snapped portion of the namespace will
normally happen on the auth node, but the actual target may be on another
node that does not have that portion of the namespace.  To avoid indefinite
request ping-pong, the mds will begin to discover and replicate the snapped
path components if the request has been retried.

This doesn't perform optimally, but it will at least work.
2010-06-01 12:57:23 -07:00
Greg Farnum
464e46c81d mon: add wiggle room for clock synchronization check 2010-06-01 11:39:58 -07:00
Greg Farnum
7f8a743c29 mds: add case for CEPH_LOCK_DVERSION to LockType 2010-06-01 10:30:05 -07:00
Greg Farnum
00c3dafd5a xlist: add assert to catch invalid iterator usage 2010-05-29 18:36:05 -07:00
Greg Farnum
79b3962545 ObjectCacher: do not try to deref an invalidated xlist::iterator
Fixes #159
2010-05-29 11:06:15 -07:00
Sage Weil
83094d97a5 paxos: fix store_state fix 2010-05-28 13:21:19 -07:00
Sage Weil
62e290e87f msgr: print bind errors to stderr 2010-05-28 12:59:25 -07:00
Sage Weil
3a705ded1e paxos: cleanup 2010-05-28 12:50:37 -07:00
Sage Weil
3c3e82e0f5 paxos: only store committed values in store_state
The uncommitted value is handled specially by handle_last()
2010-05-28 12:48:41 -07:00
Sage Weil
187011cdbc initscript: fix typo with $lockfile stuff 2010-05-28 12:41:41 -07:00
Sage Weil
6b72d70be4 paxos: set last_committed in share_state()
It wasn't getting set for LAST message, which broke recovery somewhat.

Broken by 8e76c5a1d827e01f77149245679bd00ba27120e0.
2010-05-28 12:37:24 -07:00
Sage Weil
4b79774563 mds: fix null dn deref during anchor_prepare 2010-05-27 16:32:43 -07:00
Sage Weil
892a0e25cc config: parse in $host from conf file
So you can do stuff like
	log dir = /data/$host
2010-05-27 14:59:27 -07:00
Sage Weil
594d45687f osdmaptool: include raw, up, acting mappings 2010-05-27 14:59:27 -07:00
Sage Weil
0a1d526bd3 osdmap: assert maxrep >= minrep 2010-05-27 14:59:27 -07:00
Sage Weil
a1a1350237 mkcephfs: pass -c to cmon --mkfs 2010-05-27 14:59:27 -07:00
Sage Weil
330e1e21e6 osd: warn, don't crash, on purged_snaps shrinkage 2010-05-27 14:59:27 -07:00
Sage Weil
d2c40055c4 initscript: incorporate Josef's fedora fixes
Add 'status' command.
Add chkconfig line.
Do lockfile stuff only if /var/run/subsys exists.

Still specifying the runlevels, though.  The init script bails out (with
success code) if the ceph.conf is missing.
2010-05-27 14:58:56 -07:00
Sage Weil
08f69663e8 ceph.spec: build-required libatomic_ops-devel, not libatomic_ops
And no perl-devel.
2010-05-27 14:24:37 -07:00
Sage Weil
a3dc4bdac2 sample.ceph.conf: include debug options, commented out 2010-05-26 21:47:35 -07:00
Greg Farnum
05256bb030 rados: you can now set the crush rule to use when creating a pool 2010-05-26 16:58:38 -07:00
Greg Farnum
8044f7ac7e librados: add crush_rule parameter to create_pool functions 2010-05-26 16:58:38 -07:00
Greg Farnum
a9e1727172 objecter: add optional crush_rule parameter; set in pool_op_submit as needed 2010-05-26 16:58:38 -07:00
Greg Farnum
78375cfde9 mon: add crush_rule data member to MPoolOp; use it in new pool creation on mon 2010-05-26 16:58:38 -07:00
Sage Weil
648ce97628 mds: LAYZIO is not liked, but it is allowed 2010-05-26 14:47:49 -07:00
Sage Weil
297d3ecd45 client: update ioctl.h (lazyio, invalidate_range) 2010-05-26 14:47:49 -07:00
Sage Weil
a13b5b1c16 mds: include LAYZIO cap in sync->mix and mix->sync transitions 2010-05-26 14:47:49 -07:00
Sage Weil
a92df208ff mds: include LAZYIO in CEPH_CAP_ANY set 2010-05-26 14:47:49 -07:00
Greg Farnum
75de272367 mon: warn to log, not just dout, on clock drift 2010-05-26 14:35:15 -07:00
Greg Farnum
9b4d25b9b1 mon: detect and warn on clock synchronization problems;
change MMonPaxos::lease_expire to lease_timestamp
2010-05-26 14:35:15 -07:00
Christian Brunner
bee74a1e4c ceph: add conversion to qemu coding style
Hi Yehuda,

I've added a small hack to make push_to_qemu.pl convert tabs to spaces.

Christian
2010-05-26 14:11:25 -07:00
Sage Weil
a1c99811ba paxos: use helper to store committed state; fix master mon catch up using stash
The catch up logic in handle_last didn't handle the stashed state, so we
crashed and burned if it was the master that was behind and caught up.
Use a helper that does the work for handle_commit AND handle_last.
2010-05-26 10:59:21 -07:00
Sage Weil
c0df916a79 cfuse: bail out on mount() errors 2010-05-26 10:01:49 -07:00
Sage Weil
32d34f063e Merge branch 'lazyio' into unstable
Conflicts:
	src/mds/locks.c
2010-05-25 16:40:34 -07:00
Sage Weil
e6b9055f8d interval_set: fix union_of, intersection_of size accounting 2010-05-25 14:44:16 -07:00
Sage Weil
2b9ef64411 init-ceph: use = not == for comparison operator 2010-05-25 13:47:14 -07:00
Sage Weil
fc228b5bc7 Merge branch 'mds_dentries' into unstable 2010-05-25 13:13:29 -07:00
Sage Weil
701d267208 mds: better debugging on rmdir 2010-05-25 13:01:48 -07:00
Sage Weil
29ca21f50b mds: fix scatterlock gather, writebehind
We stopped overloading the virutal is_updated() when we renamed to
is_dirty.

broken by 7f19ee1ac3
2010-05-25 13:01:37 -07:00
Sage Weil
f8f9e6c422 mds: make export targets stay in mdsmap for a while
This limits the mdsmap churn some.  Keep old targets around for at least
min-max iterations before removing them.
2010-05-24 16:51:04 -07:00
Sage Weil
7f0ef1cd94 mds: balancer cleanup 2010-05-24 16:51:01 -07:00
Sage Weil
da42d0611c mds: warn on dn release that dne 2010-05-24 16:50:58 -07:00
Yehuda Sadeh
06b86ea4a8 rbd: modify rbd on-disk header 2010-05-24 16:11:29 -07:00
Yehuda Sadeh
7cf4861413 rbd: fix push_to_qemu.pl 2010-05-24 15:58:36 -07:00
Sage Weil
7113775b6d mon: roll mkmonfs functionality into cmon --mkfs 2010-05-24 15:56:02 -07:00
Sage Weil
be082f0d25 filestore: make mkfs() zap any file or dirs it finds 2010-05-24 15:56:02 -07:00
Yehuda Sadeh
5e8a6096b3 rbd: modify header, add utility to ease sync with qemu tree 2010-05-24 15:55:58 -07:00
Sage Weil
0d98fc6ffd osd: keep recovery ops in sync with pull
Call start_recovery_op from pull() instead of fixing every caller (some
were wrong).  This keeps the recovery state in sync with pulling state,
even when pull() has to pull something different (head, snapdir) first.

Fixes this crash:
osd/PG.cc: In function 'void PG::finish_recovery_op(const sobject_t&, bool)':
osd/PG.cc:1842: FAILED assert(recovering_oids.count(soid))
 1: (PG::finish_recovery_op(sobject_t const&, bool)+0x14e) [0x74caf6]
 2: (ReplicatedPG::sub_op_push(MOSDSubOp*)+0x1da8) [0x669292]
 3: (ReplicatedPG::do_sub_op(MOSDSubOp*)+0x109) [0x671a73]
 4: (OSD::dequeue_op(PG*)+0x23c) [0x6bda00]
 5: (OSD::OpWQ::_process(PG*)+0x21) [0x7387c9]
 6: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x28) [0x6f5e12]
 7: (ThreadPool::worker()+0x23a) [0x7f2404]
 8: (ThreadPool::WorkThread::entry()+0x19) [0x73b783]
 9: (Thread::_entry_func(void*)+0x20) [0x64f92a]
 10: /lib/libpthread.so.0 [0x7f7a12cf473a]
 11: (clone()+0x6d) [0x7f7a11f1e69d]
2010-05-24 14:00:43 -07:00
Sage Weil
a9b494c444 mon: no need for 'whoami' file in store
The monitor rank is provided during startup.  No need to verify it against
the monitor store, especially since the stores are otherwise identical.

This makes it simpler to restore/duplicate/wahtever a monitor.. just copy
the files.
2010-05-24 14:00:43 -07:00