summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2026-07-13 11:33:42 +0200
committerAndrew Morton <akpm@linux-foundation.org>2026-08-24 18:43:15 -0700
commit563597895e65113b4dafea6cacd1df23b0cf6660 (patch)
treeb98b7ab5645d59484dd8f747fa6fefcf63a9d123 /include
parent4e915b16ded278e57519e54793ab84b4a094fa83 (diff)
downloadlinux-563597895e65113b4dafea6cacd1df23b0cf6660.tar.gz
linux-563597895e65113b4dafea6cacd1df23b0cf6660.zip
mm/swap: use swap_ops to register swap device's methods
This simplifies codes and makes logic clearer. And also makes later any new swap device type being added easier to handle. Currently there are two types of swap devices: fs and bdev. [hch@lst.de: updated for the new submit and can_merge abstraction] Link: https://lore.kernel.org/20260713093350.2154226-6-hch@lst.de Signed-off-by: Baoquan He <baoquan.he@linux.dev> Signed-off-by: Christoph Hellwig <hch@lst.de> Suggested-by: Chris Li <chrisl@kernel.org> Reviewed-by: Nhat Pham <nphamcs@gmail.com> Cc: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: Barry Song <baohua@kernel.org> Cc: Kairui Song <kasong@tencent.com> Cc: Kemeng Shi <shikemeng@huaweicloud.com> Cc: Youngjun Park <youngjun.park@lge.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/swap.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/swap.h b/include/linux/swap.h
index b4b1c0a84c8b..5979b1427368 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -276,6 +276,7 @@ struct swap_info_struct {
struct work_struct reclaim_work; /* reclaim worker */
struct list_head discard_clusters; /* discard clusters list */
struct plist_node avail_list; /* entry in swap_avail_head */
+ const struct swap_ops *ops;
};
static inline swp_entry_t page_swap_entry(struct page *page)