From: Filipe Manana Date: Fri, 2 May 2025 10:23:02 +0000 (+0100) Subject: btrfs: defrag: use list_last_entry() at defrag_collect_targets() X-Git-Tag: v6.16-rc1~214^2~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5bc3b7e2b5f840a4131093b66fd3c1ab604ba9a9;p=thirdparty%2Flinux.git btrfs: defrag: use list_last_entry() at defrag_collect_targets() Instead of using list_entry() against the list's prev entry, use list_last_entry(), which removes the need to know the last member is accessed through the prev list pointer and the naming makes it easier to reason about what we are doing. Reviewed-by: Qu Wenruo Reviewed-by: Johannes Thumshirn Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/defrag.c b/fs/btrfs/defrag.c index 48e12c8a90a7b..1831618579cb8 100644 --- a/fs/btrfs/defrag.c +++ b/fs/btrfs/defrag.c @@ -1068,8 +1068,8 @@ static int defrag_collect_targets(struct btrfs_inode *inode, /* Empty target list, no way to merge with last entry */ if (list_empty(target_list)) goto next; - last = list_entry(target_list->prev, - struct defrag_target_range, list); + last = list_last_entry(target_list, + struct defrag_target_range, list); /* Not mergeable with last entry */ if (last->start + last->len != cur) goto next; @@ -1087,8 +1087,8 @@ add: if (!list_empty(target_list)) { struct defrag_target_range *last; - last = list_entry(target_list->prev, - struct defrag_target_range, list); + last = list_last_entry(target_list, + struct defrag_target_range, list); ASSERT(last->start + last->len <= cur); if (last->start + last->len == cur) { /* Mergeable, enlarge the last entry */