Commit Graph

5297 Commits

Author SHA1 Message Date
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