summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2015-03-24 15:49:36 +0800
committerIlya Dryomov <idryomov@gmail.com>2015-04-20 18:55:36 +0300
commita9f6eb61850e1599f9aa5141f25ccc1d8248e174 (patch)
tree85f679a07a520e47301c88f9fcd0ff52979658b5
parent571ade336ac89f5db602f7df992152e4f4b945bc (diff)
downloadlinux-a9f6eb61850e1599f9aa5141f25ccc1d8248e174.tar.gz
linux-a9f6eb61850e1599f9aa5141f25ccc1d8248e174.tar.bz2
linux-a9f6eb61850e1599f9aa5141f25ccc1d8248e174.zip
ceph: don't zero i_wrbuffer_ref when reconnecting is denied
remove_session_caps_cb() does not truncate dirty data in page cache, but zeros i_wrbuffer_ref/i_wrbuffer_ref_head. This will result negtive i_wrbuffer_ref/i_wrbuffer_ref_head Signed-off-by: Yan, Zheng <zyan@redhat.com>
-rw-r--r--fs/ceph/mds_client.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 0cfc2d163549..c3bac611a097 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -1120,13 +1120,6 @@ static int remove_session_caps_cb(struct inode *inode, struct ceph_cap *cap,
mdsc->num_cap_flushing--;
drop = 1;
}
- if (drop && ci->i_wrbuffer_ref) {
- pr_info(" dropping dirty data for %p %lld\n",
- inode, ceph_ino(inode));
- ci->i_wrbuffer_ref = 0;
- ci->i_wrbuffer_ref_head = 0;
- drop++;
- }
spin_unlock(&mdsc->cap_dirty_lock);
}
spin_unlock(&ci->i_ceph_lock);