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
Sage Weil
85327b74bb
osd: clear entire pushing map on_change()
...
Primary state is reset; clear pushing map entirely. We wouldn't know how
to handle the push acks properly anyway.
2008-12-23 12:19:09 -08:00
Sage Weil
960ab7009c
osd: fix read_log version attr check
2008-12-23 12:19:08 -08:00
Sage Weil
a6022bece4
osd: only request replica backlogs one at a time when searching for lost objects
2008-12-23 12:19:07 -08:00
Sage Weil
6d41141b1c
osd: cancel_generate_backlog on activate
...
This fixes issue where primary requests backlog, finds its missing objects,
activates (by sending a backlog), and replica generates backlog only to
find that it already has it.
2008-12-23 12:19:06 -08:00
Sage Weil
1144b55a6a
mon: fix mds cluster expansion
...
If we can't find a suitable standby, stop looping.
2008-12-23 12:14:21 -08:00
Sage Weil
ff2ac52582
mount.ceph: fix warnings, add to Makefile.am
2008-12-23 12:09:13 -08:00
Sage Weil
701ae00462
mds: fix inotable project, sessionmap projection, ino (pre)allocation.
...
Table changes must be projected so that the saved table is never
newer than the end of the journal.
2008-12-23 11:45:22 -08:00
Sage Weil
c59650c595
mds: optional ino for mknod/mkdir/open requests
...
Will be needed for replaying those requests if we get an early
reply, to ensure that the same ino is used.
2008-12-23 11:45:22 -08:00
Sage Weil
0d685653ed
mds: preallocate inos for each client session
...
Do not use preallocated inos until we have journaled the
preallocation. If we use a newly allocated ino, do not do an
early_reply.
When the session closes, release the inos.
2008-12-23 11:45:22 -08:00
Sage Weil
5b19c4ad40
mds: do early replies for basic inode update operations
...
chmod, chown, etc. Not for mknod/mkdir, which allocate inos.
2008-12-23 11:45:22 -08:00
Sage Weil
d11f5f1c59
mds: early_reply infrastructure
2008-12-23 11:45:22 -08:00
Sage Weil
e5ba5ed3ce
mds: fix null_okay traverse logic
2008-12-23 11:45:22 -08:00
Sage Weil
968cfc8f1b
mds: add safe flag to mds reply
2008-12-23 11:45:22 -08:00
Sage Weil
bbe70a18af
mds: process caps if freezing and unstable lock
...
The caps message may be a revocation ack that is needed to complete
the freeze. In general, though, we back off even if freezing,
since we want to avoid starving the freeze as much as possible.
2008-12-23 11:45:22 -08:00
Sage Weil
bed844f15e
mds: misc filelock fixes
2008-12-23 11:45:22 -08:00
Sage Weil
16ed267aa0
mds: auth_pin rdlocks too
...
Not sure why we didn't before... :/
2008-12-23 11:45:22 -08:00
Sage Weil
04cf78c7e5
kclient: make mdsmap_decode print nicer info
2008-12-23 11:45:22 -08:00
Sage Weil
1f06b73260
kclient: update num_fwd in client requests
...
We were keeping our local copy, but not updating the message sent.
Also fix buggy maybe_dup behavior (dup, then set rhead pointer)!
2008-12-23 11:45:22 -08:00
Sage Weil
ac9d80b785
kclient: allow mds to force open a client session
2008-12-23 11:45:22 -08:00
Sage Weil
55e6b073f8
mds: don't bump to sync if dir and subtree root
2008-12-23 11:45:22 -08:00
Sage Weil
0332cd0bc5
mds: fix file_wrlock_start waiting
2008-12-23 11:45:22 -08:00
Sage Weil
a902349e5c
mds: filelock typo in can_rdlock
2008-12-23 11:45:22 -08:00