Эх сурвалжийг харах

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>
Yan, Zheng 10 жил өмнө
parent
commit
a9f6eb6185

+ 0 - 7
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--;
 			mdsc->num_cap_flushing--;
 			drop = 1;
 			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(&mdsc->cap_dirty_lock);
 	}
 	}
 	spin_unlock(&ci->i_ceph_lock);
 	spin_unlock(&ci->i_ceph_lock);