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