Commit Graph

5543 Commits

Author SHA1 Message Date
Sage Weil
cc0e803ffd vstart: fix ip determination 2009-01-07 15:12:27 -08:00
Sage Weil
d644e34548 mds: disable inode leases 2009-01-07 14:29:55 -08:00
Sage Weil
8bed3652a2 mds: no inode lease in lssnap 2009-01-07 14:29:47 -08:00
Sage Weil
8a173ddf6f kclient: fix cap release logic a bit
Keep an EXCL bits we have, as long as we have something wanted or
used.

Fix wanted update vs delayed cap release behavior.
2009-01-07 14:11:48 -08:00
Sage Weil
638a76aab5 kclient: fix request ref count leak from duplicate replies 2009-01-07 13:53:28 -08:00
Sage Weil
babfd42d81 mds: expire rdcaps
Make sure mds and client agree on the wanted value.
2009-01-07 13:33:17 -08:00
Sage Weil
31f7435a99 kclient: trim expired rdcaps; ignored issued but timed out caps
Introduce new CEPH_CAP_EXPIREABLE mask to control which caps (if
alone) time out.
2009-01-07 11:29:50 -08:00
Sage Weil
f123d3a578 kclient: fix buffer overrun in parse_reply_info_trace()
Bug introduced by fb882d34c1.
2009-01-07 10:40:56 -08:00
Sage Weil
92ae5e2a95 mds: issue AUTH_EXCL if also issuing FILE_EXCL
This will let e.g. untar chmod/chown without talking to the mds.
2009-01-07 10:26:05 -08:00
Sage Weil
9a8d9357f3 mds: update cap notes 2009-01-06 16:47:48 -08:00
Sage Weil
bdf8818102 kclient: implement ceph_release_caps
Just pass a 'drop' mask to check_caps, and tell it not to
delay.
2009-01-06 16:45:41 -08:00
Sage Weil
a186c3be92 mds: set ttl_ms in cap IMPORT message 2009-01-06 16:33:44 -08:00
Sage Weil
8a20fbd74e kclient: keep readonly caps on per-session lru 2009-01-06 16:33:31 -08:00
Sage Weil
ee6debb805 mds: keep caps in lru; put ttl in cap issue to clients 2009-01-06 16:08:50 -08:00
Sage Weil
818563590c kclient: local chmod/chown if holding CEPH_CAP_AUTH_EXCL 2009-01-06 14:50:26 -08:00
Sage Weil
8713b4b4da client: send release anytime we get a caps message and have no inode or cap
The exceptions are IMPORT, EXPORT, and FLUSHSNAP_ACK.
2009-01-06 14:40:06 -08:00
Sage Weil
0e559c7f86 mds: always issue cap in inodestat
The previous (wrong) optimization was trying to avoid the old
pending_caps list in Capability.
2009-01-06 14:38:08 -08:00
Sage Weil
47f2385e8b mds: don't let release race with any caps 2009-01-06 14:37:20 -08:00
Sage Weil
314f065d02 mds: simplify capability issued tracking
The original was really stupid.. keeping track of every issued
value in a list and traversing it to calculate the effective
issued mask.

New version has a small, fixed array that is used only when bits
are revoked.
2009-01-06 13:46:34 -08:00
Sage Weil
aef5170384 uclient: fix likes bits 2009-01-06 13:44:44 -08:00
Sage Weil
9b2af42877 kclient: use new caps protocol
Also,
- Stat root inode instead of opening it.  We will keep the PIN cap
  and be happy.
- add ceph_cap_string helper to make cap values readable
2009-01-06 12:47:29 -08:00
Sage Weil
b0c6a3a879 mds: fix stat mask 2009-01-06 12:46:00 -08:00
Sage Weil
1cf4b7145b mds: only send clientcaps if we need to revoke, or we can issue explicitly wanted caps 2009-01-06 12:45:49 -08:00
Sage Weil
c1d9372cbb mds: fix cap release seq check 2009-01-06 12:45:24 -08:00
Sage Weil
12f429d640 uclient: set dirty bits in cap_snap 2009-01-06 11:08:44 -08:00
Sage Weil
4a499ee25c mds: bunch of cap protocol changes, and user client adjustments.
See capability protocol notes in mds/Capability.h
2009-01-05 16:30:10 -08:00
Sage Weil
437226eb54 kclient: fix snap realm update on reply
Take snap_rwsem always, since we usually get caps.  Drop trailing
snaprealm ref after trace is fully processed.
2009-01-05 11:20:13 -08:00
Sage Weil
7ba06acfe3 mds: fix set_trace_dist snaprealm problem on unlink
Set snaprealm trace based on the first inode we see.
2009-01-05 11:06:26 -08:00
Sage Weil
886091eff1 kclient: ref count cap_snap to avoid unnecessarily copying into temp variables 2009-01-04 15:41:03 -08:00
Sage Weil
be1d5561b2 kclient: take fmode ref atomically while adding cap 2009-01-04 12:14:40 -08:00
Sage Weil
94e3abfe28 client: do not update when already holding EXCL cap 2009-01-04 11:38:31 -08:00
Sage Weil
fb882d34c1 kclient: caps basically working
handle caps on any inode in reply.  no more inode leases.
2009-01-04 11:17:20 -08:00
Yehuda Sadeh
f920808ae8 kclient: use ceph_caps_release instead of dropping inode lease 2009-01-04 10:51:29 -08:00
Yehuda Sadeh
f17fabe7fa kclient: switch from inode leases to new caps
----------------------------
2009-01-04 10:50:56 -08:00
Sage Weil
a46dbfd5e8 notes 2009-01-04 10:34:47 -08:00
Sage Weil
6a71cda024 uclient: adjust cap release logic... 2009-01-04 10:28:50 -08:00
Sage Weil
2dfa4db374 mds: only _do_cap_update if client held ANY_WR caps 2009-01-04 09:38:46 -08:00
Sage Weil
8276576ce2 mds: issue RDCACHE caps to client when possible. add cap to do so if inode auth. 2009-01-03 11:33:35 -08:00
Sage Weil
01f28e5b24 uclient: sorta working 2009-01-02 17:03:47 -08:00
Sage Weil
dad9bf47b7 mds: fix scatterlock print 2009-01-02 17:00:08 -08:00
Sage Weil
3c571d46fb mds: put a cap in each inode stat in trace; simplify snaprealm trace encoding 2009-01-02 15:29:29 -08:00
Sage Weil
e3e3f2d1f7 mds: cap comments 2009-01-02 14:46:07 -08:00
Sage Weil
b4561ba15f mds: rewrite CEPH_STAT_MASK_* as CEPH_STAT_CAP_* (cap masks) 2009-01-02 14:42:58 -08:00
Sage Weil
6ff545c099 mds: cap writeback authlock fields as well as filelock fields
No xattrs yet.
2009-01-02 14:26:08 -08:00
Sage Weil
98280608a0 mds: don't rdlock and xlock at the same time 2009-01-02 14:25:00 -08:00
Sage Weil
7f2d4065fd mds: check for xlock in simple_sync() 2009-01-02 14:24:51 -08:00
Sage Weil
d5130abfd7 mds: fix lock print methods 2009-01-02 14:13:12 -08:00
Sage Weil
7f46121db4 mds: share caps across multiple lock types.
Very rough initial first pass.
2009-01-02 12:05:09 -08:00
Sage Weil
4087a07478 todo 2009-01-02 09:26:27 -08:00
Sage Weil
7ad7e044ef mds: clean up lock print methods 2009-01-01 11:06:13 -08:00