Commit Graph

5497 Commits

Author SHA1 Message Date
Sage Weil
584f8311a6 Merge branch 'unstable' 2009-01-20 11:19:42 -08:00
Sage Weil
00577b5441 kclient: rename lookup_mds_session get_mds_session
Since it bumps the ref count.
2009-01-20 11:08:23 -08:00
Yehuda Sadeh
b078856cd5 kclient: realm create does not take a ref count 2009-01-20 11:04:25 -08:00
Yehuda Sadeh
70365be770 kclient: split get_snap_realm to lookup and create 2009-01-20 10:52:04 -08:00
Sage Weil
c784a5431a objectcacher: fix object trimming
Do not trim object until it fully commits.
2009-01-19 17:03:05 -08:00
Sage Weil
26cec48ebb mds: count in-flight updates per cap, not release attempts. do not expire if updating. 2009-01-19 17:02:02 -08:00
Sage Weil
f62bb44529 mds: drop rdlocks after early reply is sent
We will still hold wrlocks and xlocks until journal entry commits.
2009-01-19 15:05:57 -08:00
Sage Weil
ac59f6d9e2 mds: properly close session when inodes are still being preallocated 2009-01-19 15:04:55 -08:00
Sage Weil
773bc5f946 kclient: set i_op for special inodes 2009-01-19 13:29:01 -08:00
Sage Weil
96a16b6a91 todos 2009-01-19 12:28:07 -08:00
Sage Weil
9ccd599f20 kclient: retain comments 2009-01-19 12:21:33 -08:00
Sage Weil
3b1d6b5a4b kclient: zero out *implemented in __ceph_caps_issued()
Otherwise we can get garbage
2009-01-19 12:10:53 -08:00
Sage Weil
ca29a2a68e kclient: don't retain unwanted RD cap
This will allow an open to succeed locally, without any mechanism
to update the MDS' wanted value.
2009-01-19 12:09:06 -08:00
Sage Weil
b76be04c00 mds: take srci lock during rename to ensure ctime change propagates 2009-01-19 11:52:30 -08:00
Sage Weil
14a1ebfa3a mds: expose projected fields via caps if locks permit
The new CInode::encode_caps_message() mirrors the logic in
CInode::encode_inodestat().
2009-01-19 11:34:49 -08:00
Yehuda Sadeh
878b649477 kclient: shouldn't lookup_open with special inode 2009-01-19 11:11:45 -08:00
Sage Weil
490d04a355 kclient: considered _held_ caps when deciding what to ignore in fill_inode
If EXCL is being revoked, we still "hold" it and should ignore inode values
provided by the MDS in fill_inode.
2009-01-17 18:11:48 -08:00
Sage Weil
b9cb8668b6 kclient: don't require all inode fields when just doing a lookup 2009-01-17 18:07:53 -08:00
Sage Weil
6c6f75dae1 mds: check against client in rdlock_try
This affects our auth check in path_traverse.  No need to wait for that to
flush.. we can look at the projected version.  (Not that we're actually
checking permissions yet!)
2009-01-17 18:07:34 -08:00
Sage Weil
413d5e6aa7 kclient: fix cap writeback vs revocation
We need to reply to a revocation via check_caps and __send_cap if we are
writing back dirty metadata.

We also need to take care to look at issued|implemented (not just issued)
when deciding what to write back (since it may be being revoked).
2009-01-17 18:05:16 -08:00
Sage Weil
5ac7642138 mds: fix rmdir ENOTEMPTY checks
Look at projected inode's dirstat.size().
2009-01-17 13:37:24 -08:00
Sage Weil
764b0b32ac mon: include fsid in MMonObserveNotify 2009-01-17 13:24:35 -08:00
Sage Weil
468fbbe1c9 mds: fix forward truncation 2009-01-17 11:45:18 -08:00
Sage Weil
cd058c9828 vstart: -l | --localhost to use 127.0.0.1 2009-01-17 11:25:18 -08:00
Sage Weil
96dbed744a bash, not sh 2009-01-17 10:08:53 -08:00
Sage Weil
a4ab37719e bash, not sh 2009-01-17 10:06:03 -08:00
Sage Weil
6ffdd4367b mds: carry RDCACHE|WRBUFFER through xlock. 2009-01-16 16:52:37 -08:00
Sage Weil
f4644acd0d kclient: fix fill_file_bits logic
ctime should be the max if we hold any wr caps, otherwise it's
the mds value, regardless of time_warp_seq (which does not modify
ctime).
2009-01-16 16:07:54 -08:00
Sage Weil
b8bb36edf9 mds: include projected ctime if _any_ other fields are projected
...or if client holds FILE_EXCL.
2009-01-16 16:07:54 -08:00
Sage Weil
96080a352e kclient: fix snap_rwsem link on non-existent cap release 2009-01-16 16:07:54 -08:00
Yehuda Sadeh
88e3e31739 kclient: some cleanup 2009-01-16 15:51:31 -08:00
Yehuda Sadeh
e930bf0cfd Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-01-16 15:33:57 -08:00
Yehuda Sadeh
997e9988f3 kclient: fix gid setattr 2009-01-16 15:33:24 -08:00
Sage Weil
c95211018f mds: also verify in rename() that mds reintegrate/merge is valid 2009-01-16 15:18:10 -08:00
Sage Weil
6ee8770579 mds: do not reintegrate stray if target dentry is projected
Otherwise we break user semantics.  Remote parent might be
unlinking!  Then we move the file back into the position that
was just unlinked...
2009-01-16 15:06:34 -08:00
Sage Weil
58f166c501 mds: look at issued(), not pending(), when putting cap on the rdcaps list
We want to be conservative in the MDS about dropping caps!  If the
client hasn't released a non-trimmable cap, we shouldn't expire
it.
2009-01-16 14:58:52 -08:00
Sage Weil
039bbc0fd4 mds: eval_cap_gather when trimming rdcaps 2009-01-16 14:49:55 -08:00
Sage Weil
ee50c988c6 mds: look at inode locks to determine whether to expose stable or projected inode fields
And clean up the set_trace_dist() hacks.
2009-01-16 14:31:29 -08:00
Yehuda Sadeh
ce3d41401d Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-01-16 14:31:24 -08:00
Yehuda Sadeh
7bfc61c5b6 kclient: some more sparse fixes 2009-01-16 14:31:03 -08:00
Sage Weil
241d02c2de mds: fix uninitialized value in ceph_inode_holds_cap() 2009-01-16 13:55:00 -08:00
Sage Weil
3aefbc023a mds: fix inode version projected on open O_CREAT, too
See 461cb1a643
2009-01-16 13:34:09 -08:00
Sage Weil
4f3a2885cc mds: set .inode in projected linkages; add dentry to remote_parents only when active
This let's us do dnl->get_inode() on projected linkages for
remote links.
2009-01-16 13:34:09 -08:00
Sage Weil
9f33c8444c mds: fix link() dn linkage projection 2009-01-16 13:34:09 -08:00
Yehuda Sadeh
cb874be0a9 Merge branch 'unstable' of ssh://ceph.newdream.net/git/ceph into unstable 2009-01-16 12:47:41 -08:00
Yehuda Sadeh
cd31824a6c kclient: some sparse cleanups 2009-01-16 12:47:24 -08:00
Sage Weil
4a4e0a4e9b mds: only set max_size on open+O_CREAT if file opened for writing 2009-01-16 12:36:52 -08:00
Sage Weil
bcdc1f439a mds: optionally pass a specific linkage for journal_cow_dentry to use
This is needed just for rename(), which up pushes projected linkages
before calling journal_cow_dentry and friend.  Consequently, they
can't just use dn->get_projected_linkage() like they usually do.
2009-01-16 12:25:32 -08:00
Sage Weil
461cb1a643 mds: fix fast create + rm failure
The inode projected_version() needs to be accurate or we run into
problems later.  So, change the way the inode creation version is
initialized by moving the hack to right before mark_dirty() is
called (to keep the v < pv assertion in place).
2009-01-16 11:57:39 -08:00
Sage Weil
7eeca0bbdf mds: make xlock stable 2009-01-16 11:27:08 -08:00