aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-writecache.c
diff options
context:
space:
mode:
authorBaokun Li <libaokun1@huawei.com>2021-06-09 15:04:33 +0800
committerMike Snitzer <snitzer@redhat.com>2021-06-14 11:49:04 -0400
commit8c77f1cb84585efba108df5e67ecc5cbbceef0d9 (patch)
tree133f0d07d906bf5a5a3508b0c9439b4f4ef17509 /drivers/md/dm-writecache.c
parentdm writecache: commit just one block, not a full page (diff)
downloadlinux-dev-8c77f1cb84585efba108df5e67ecc5cbbceef0d9.tar.xz
linux-dev-8c77f1cb84585efba108df5e67ecc5cbbceef0d9.zip
dm writecache: use list_move instead of list_del/list_add in writecache_writeback()
Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Baokun Li <libaokun1@huawei.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-writecache.c')
-rw-r--r--drivers/md/dm-writecache.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index e18bbfd3289b..56179a21db0e 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -1864,15 +1864,13 @@ restart:
if (unlikely(read_original_sector(wc, f) ==
read_original_sector(wc, e))) {
BUG_ON(!f->write_in_progress);
- list_del(&e->lru);
- list_add(&e->lru, &skipped);
+ list_move(&e->lru, &skipped);
cond_resched();
continue;
}
}
wc->writeback_size++;
- list_del(&e->lru);
- list_add(&e->lru, &wbl.list);
+ list_move(&e->lru, &wbl.list);
wbl.size++;
e->write_in_progress = true;
e->wc_list_contiguous = 1;
@@ -1907,8 +1905,7 @@ restart:
// break;
wc->writeback_size++;
- list_del(&g->lru);
- list_add(&g->lru, &wbl.list);
+ list_move(&g->lru, &wbl.list);
wbl.size++;
g->write_in_progress = true;
g->wc_list_contiguous = BIO_MAX_VECS;