diff options
Diffstat (limited to 'fs/ext4/extents_status.c')
| -rw-r--r-- | fs/ext4/extents_status.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c index 3f5c188953a4..0b7e28e7eaa4 100644 --- a/fs/ext4/extents_status.c +++ b/fs/ext4/extents_status.c | |||
| @@ -966,10 +966,10 @@ retry: | |||
| 966 | continue; | 966 | continue; |
| 967 | } | 967 | } |
| 968 | 968 | ||
| 969 | if (ei->i_es_lru_nr == 0 || ei == locked_ei) | 969 | if (ei->i_es_lru_nr == 0 || ei == locked_ei || |
| 970 | !write_trylock(&ei->i_es_lock)) | ||
| 970 | continue; | 971 | continue; |
| 971 | 972 | ||
| 972 | write_lock(&ei->i_es_lock); | ||
| 973 | shrunk = __es_try_to_reclaim_extents(ei, nr_to_scan); | 973 | shrunk = __es_try_to_reclaim_extents(ei, nr_to_scan); |
| 974 | if (ei->i_es_lru_nr == 0) | 974 | if (ei->i_es_lru_nr == 0) |
| 975 | list_del_init(&ei->i_es_lru); | 975 | list_del_init(&ei->i_es_lru); |
