Skip to content

Commit 68f78bf

Browse files
youngjuniakpm00
authored andcommitted
mm, swap: use SWP_SOLIDSTATE to determine if swap is rotational
The current non rotational check is unreliable as the device's rotational status can be changed by a user via sysfs. Use the more reliable SWP_SOLIDSTATE flag which is set at swapon time, to ensure the nr_rotate_swap count remains consistent. Plus, it is easy to read and simple. Link: https://lkml.kernel.org/r/20251031065011.40863-3-youngjun.park@lge.com Fixes: 81a0298 ("mm, swap: don't use VMA based swap readahead if HDD is used as swap") Signed-off-by: Youngjun Park <youngjun.park@lge.com> Reviewed-by: Baoquan He <bhe@redhat.com> Cc: Barry Song <baohua@kernel.org> Cc: Chris Li <chrisl@kernel.org> Cc: Kairui Song <kasong@tencent.com> Cc: Kemeng Shi <shikemeng@huaweicloud.com> Cc: Nhat Pham <nphamcs@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent cb65082 commit 68f78bf

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

mm/swapfile.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2910,7 +2910,7 @@ SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
29102910
if (p->flags & SWP_CONTINUED)
29112911
free_swap_count_continuations(p);
29122912

2913-
if (!p->bdev || !bdev_nonrot(p->bdev))
2913+
if (!(p->flags & SWP_SOLIDSTATE))
29142914
atomic_dec(&nr_rotate_swap);
29152915

29162916
mutex_lock(&swapon_mutex);

0 commit comments

Comments
 (0)