Sage Weil
7c0df05407
mds: do not reset filelock state when checking max_size during recovery
...
This was broken by d5574993
(probably, that commit fixed a similar
problem). The rejoin_ack initializes replica state properly, so we can't
go changing it now. I'm not sure why this was resetting the state to
LOCK, because that's clearly not allowed.
Print when check_max_size does a no-op so that this is a bit easier to see
next time.
2010-06-02 22:14:54 -07:00
Sage Weil
15c6651ff5
mds: lock->sync replica state is lock, not sync
...
It's not readable yet. And after the lock->sync gather completes we send
out a SYNC.
Fixes failed assertion like:
10.06.02_21:27:04.444202 7f17a25ac910 mds1.locker handle_file_lock a=sync on (ifile sync) from mds0 [inode 1 [...2,head] / rep@0.2 v7 snaprealm=0xe27400 f(v0 m10.06.02_21:26:13.366344 1=0+1) ds=1=0+1 rb=0 rf=0 rd=0 (iauth sync) (ilink sync) (idft sync) (isnap sync) (inest sync) (ifile sync) (ixattr sync) (iversion lock) | nref=1 0x7f179c006280]
mds/Locker.cc: In function 'void Locker::handle_file_lock(ScatterLock*, MLock*)':
mds/Locker.cc:3468: FAILED assert(lock->get_state() == 2 || lock->get_state() == 15 || lock->get_state() == 21)
1: (Locker::handle_file_lock(ScatterLock*, MLock*)+0x1d8) [0x86d70a]
2: (Locker::handle_lock(MLock*)+0x191) [0x86e30f]
3: (Locker::dispatch(Message*)+0x41) [0x870f27]
4: (MDS::_dispatch(Message*)+0x1a17) [0x7364cb]
5: (MDS::ms_dispatch(Message*)+0x2f) [0x737961]
6: (Messenger::ms_deliver_dispatch(Message*)+0x55) [0x72918d]
7: (SimpleMessenger::dispatch_entry()+0x532) [0x71710a]
8: (SimpleMessenger::DispatchThread::entry()+0x29) [0x711f25]
9: (Thread::_entry_func(void*)+0x20) [0x7232f4]
10: /lib/libpthread.so.0 [0x7f17a407073a]
11: (clone()+0x6d) [0x7f17a329469d]
Signed-off-by: Sage Weil <sage@newdream.net>
2010-06-02 21:33:40 -07:00
Sage Weil
1c930f9b38
msg: add missing msg_types.cc
2010-06-02 19:37:44 -07:00
Sage Weil
5262a96a07
mds: add export_dir command
2010-06-02 12:40:23 -07:00
Sage Weil
4075b95c5c
mds: add MDCache::cache_traverse()
2010-06-02 12:40:15 -07:00
Sage Weil
eac36cb5b3
initscript: unmount btrfs if we mounted it
2010-06-02 11:50:29 -07:00
Sage Weil
0d1e5dbf4c
move addr parse() into entity_addr_t
2010-06-02 11:50:29 -07:00
Sage Weil
a3323c98d6
tcp: parse ipv4 and ipv6 addresses
2010-06-02 11:50:29 -07:00
Greg Farnum
08afc8df68
mon: fix unsynchronized clock logic;
...
change output for clarity
2010-06-02 11:34:40 -07:00
Sage Weil
b441fbdc9f
mds: lookup exact snap dn on import
2010-06-01 16:34:16 -07:00
Sage Weil
38cb2403c0
mds: update dn->first too when lock state adjusts inode->first
...
This keeps dn->first in sync with inode->first
2010-06-01 16:33:53 -07:00
Sage Weil
9248cd9e64
mds: don't change lock states on replicated inode
...
The reconnect will infer some client caps, which will affect what lock
states we want. If we're not replicated, fine, just pick something good.
Otherwise, try_eval() and go through the proper channels.
This _might_ be the source of #165...
2010-06-01 15:23:46 -07:00
Sage Weil
afadb12245
mds: fix root null deref in recalc_auth_bits
...
Root may be null if we don't have any subtrees besides ~mds$id.
2010-06-01 15:02:56 -07:00
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