]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: no cap delay if mdsc->stopping (unmounting)
authorSage Weil <sage@newdream.net>
Wed, 29 Oct 2008 20:48:57 +0000 (13:48 -0700)
committerSage Weil <sage@newdream.net>
Wed, 29 Oct 2008 20:48:57 +0000 (13:48 -0700)
src/kernel/caps.c
src/kernel/mds_client.c

index ca01e253e41429adcbe7dabfb1960d2e0bc4b4dd..464d0d0a2978c5f4757a8665a4b0caeac1717e49 100644 (file)
@@ -565,6 +565,10 @@ void ceph_check_caps(struct ceph_inode_info *ci, int is_delayed)
        struct rb_node *p;
        int tried_invalidate = 0;
 
+       /* if we are unmounting, flush any unused caps immediately. */
+       if (mdsc->stopping)
+               is_delayed = 1;
+
        spin_lock(&inode->i_lock);
 
        /* flush snaps first time around only */
index 7526dde3db9bcb0784407d1c8064be6c61b0c043..44bd180f4a517b16375e707d0f623a0dea815e35 100644 (file)
@@ -2088,7 +2088,7 @@ void ceph_mdsc_close_sessions(struct ceph_mds_client *mdsc)
        struct ceph_mds_session *session;
        int i;
        int n;
-       unsigned long started, timeout = 30 * HZ;
+       unsigned long started, timeout = 60 * HZ;
        struct ceph_client *client = mdsc->client;
 
        dout(10, "close_sessions\n");