Commit Graph

5319 Commits

Author SHA1 Message Date
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
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
Sage Weil
a58d31ca46 Merge branch 'unstable' into asyncmds
Conflicts:

	src/mon/OSDMonitor.cc
2008-12-31 11:30:08 -08:00
Sage Weil
142e2f6ef9 objecter: fix ack vs safe behavior
This was totally broken (ack was taken as a safe).  Doh!
2008-12-31 11:27:07 -08:00
Sage Weil
0faa47e089 journaler: add --journaler_safe hack support back 2008-12-31 11:21:21 -08:00
Sage Weil
40277f652a objecter: fix ack vs safe behavior
This was totally broken (ack was taken as a safe).  Doh!
2008-12-31 11:20:29 -08:00
Sage Weil
9a3988e4f7 kclient: setattr on inode (not path) if holding WR cap
For newly created files, this avoids contention in the MDS over the dentry
xlock (e.g., for an untar).

It is slightly risky, because we could race with a caps release and MDS
cache trim.  Pretty unlikely, however, because cap release would also
involve MDS journaling.
2008-12-31 11:19:38 -08:00
Sage Weil
4377dba319 mds: fix xattr projection
We do not want the new xattr to appear in the inode until the journal
entry commits.
2008-12-31 09:15:34 -08:00
Yehuda Sadeh
a77b0cbdc0 kclient: update for ceph_fsid_t 2008-12-30 16:18:01 -08:00
Yehuda Sadeh
af715a3a19 Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2008-12-24 16:39:59 -08:00
Yehuda Sadeh
d359afd3b7 vstart.sh: disable lockdep in default 2008-12-24 16:39:28 -08:00
Sage Weil
f46c77111d mds todos 2008-12-24 14:40:23 -08:00
Sage Weil
3b253bdf9f mds: avoid recursion on log trim 2008-12-24 14:19:31 -08:00
Sage Weil
99fc60e82c mds: add wrlock to simplelock; wrlock authlock on chmod, chown 2008-12-24 14:19:30 -08:00
Sage Weil
3d93ca0143 mds: link on commit in openc; make find_snaprealm() follow projected_parent for unlinked inode
Linking inode in early confuses CDir::_committed().
2008-12-24 14:19:30 -08:00
Sage Weil
836513edcc mon: make 'osd setmap' take epoch, to avoid executing multiple times 2008-12-24 14:19:27 -08:00
Sage Weil
6f9132e9bc ceph: increase command timeout 2008-12-24 12:45:07 -08:00
Sage Weil
3ed25a3b31 mds: flush log only when we need to
In particular, don't flush immediately on cap flush unless the lock is
unstable.  If we later wait on the lock state, make sure the log flushes.
2008-12-24 12:11:50 -08:00
Sage Weil
89900f30d6 mds: add --mds_early_reply option 2008-12-23 16:36:27 -08:00
Sage Weil
270a12a64e mds: only include trace in first reply
No need to do it twice.
2008-12-23 16:36:12 -08:00
Sage Weil
838024464c mds: rewrite, clean up mds open+O_CREAT; issue dn lease to xlocker; many other server cleanups 2008-12-23 15:43:10 -08:00
Sage Weil
8ba7f14c37 change ceph_fsid
Make it look more like uuid_t.  Rename type, comparator.
2008-12-23 13:39:25 -08:00
Sage Weil
74cf3e7c42 mds: early_reply on open, mknod, symlink, mkdir when possible
Use client-provided ino, if defined.
2008-12-23 13:36:46 -08:00
Sage Weil
1419f00218 os: start_sync osd operation
If a client has a time sensitive operation, it can include a start_sync
in the op vector to start an immediate commit to disk.  It should then
get the ONDISK ack sooner.
2008-12-23 12:29:04 -08:00
Sage Weil
3ed4b78556 osd: use .version in eversion_t to determine divergence 2008-12-23 12:19:11 -08:00
Sage Weil
b4d9cb59d6 osd: cleanup 2008-12-23 12:19:10 -08:00