--- a/fs/xfs/xfs_qm.c +++ b/fs/xfs/xfs_qm.c @@ -508,8 +508,10 @@ xfs_qm_shrink_scan( INIT_LIST_HEAD(&isol.buffers); INIT_LIST_HEAD(&isol.dispose); + mutex_lock(&qi->qi_tree_lock); freed = list_lru_shrink_walk(&qi->qi_lru, sc, xfs_qm_dquot_isolate, &isol); + mutex_unlock(&qi->qi_tree_lock); error = xfs_buf_delwri_submit(&isol.buffers); if (error)