summaryrefslogtreecommitdiff
path: root/src/kernel/caps.c
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-02-24 10:27:54 -0800
committerSage Weil <sage@newdream.net>2009-02-24 10:27:54 -0800
commitbe46fb6fcbad739b7b774ce43d36e618fa2d6c63 (patch)
treeda58df79928d2ebb256786d6846cad4bef6b746d /src/kernel/caps.c
parent4da434ed3bdbdf0826d6e94084fad2f548ae1326 (diff)
downloadceph-historic/async_mds.tar.gz
kclient: fix file layout; create in check_capshistoric/async_mds
Diffstat (limited to 'src/kernel/caps.c')
-rw-r--r--src/kernel/caps.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/kernel/caps.c b/src/kernel/caps.c
index 06756cc1da0..4e338083183 100644
--- a/src/kernel/caps.c
+++ b/src/kernel/caps.c
@@ -822,8 +822,13 @@ retry_locked:
* Reschedule delayed caps release, unless we are called from
* the delayed work handler (i.e. this _is_ the delayed release)
*/
- if (!is_delayed)
+ if (!is_delayed) {
__cap_delay_requeue(mdsc, ci);
+ } else if (ci->i_ceph_flags & CEPH_I_NEW) {
+ spin_unlock(&inode->i_lock);
+ ceph_pending_flush(d_find_alias(inode));
+ return;
+ }
/*
* If we no longer need to hold onto old our caps, and we may