ceph: avoid block operation when !TASK_RUNNING (ceph_mdsc_sync)
check_cap_flush() calls mutex_lock(), which may block. So we can't use it as condition check function for wait_event(); Signed-off-by: Yan, Zheng <zyan@redhat.com>
This commit is contained in:
@@ -1450,8 +1450,8 @@ static int __mark_caps_flushing(struct inode *inode,
|
||||
spin_lock(&mdsc->cap_dirty_lock);
|
||||
list_del_init(&ci->i_dirty_item);
|
||||
|
||||
ci->i_cap_flush_seq = ++mdsc->cap_flush_seq;
|
||||
if (list_empty(&ci->i_flushing_item)) {
|
||||
ci->i_cap_flush_seq = ++mdsc->cap_flush_seq;
|
||||
list_add_tail(&ci->i_flushing_item, &session->s_cap_flushing);
|
||||
mdsc->num_cap_flushing++;
|
||||
dout(" inode %p now flushing seq %lld\n", inode,
|
||||
|
Reference in New Issue
Block a user