Skip to content

Commit 09e6724

Browse files
robnbehlendorf
authored andcommitted
Linux 6.8 compat: replace MAX_ORDER define
MAX_ORDER has been renamed to MAX_PAGE_ORDER. Rather than just redefining it, instead define our own name and set it consistently from the start. Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Rob Norris <[email protected]> Sponsored-by: https://despairlabs.com/sponsor/ Closes openzfs#15805
1 parent 7466e09 commit 09e6724

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

module/os/linux/zfs/abd_os.c

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,16 @@
6060
#ifdef _KERNEL
6161
#include <linux/kmap_compat.h>
6262
#include <linux/scatterlist.h>
63+
#endif
64+
65+
#ifdef _KERNEL
66+
#if defined(MAX_ORDER)
67+
#define ABD_MAX_ORDER (MAX_ORDER)
68+
#elif defined(MAX_PAGE_ORDER)
69+
#define ABD_MAX_ORDER (MAX_PAGE_ORDER)
70+
#endif
6371
#else
64-
#define MAX_ORDER 1
72+
#define ABD_MAX_ORDER (1)
6573
#endif
6674

6775
typedef struct abd_stats {
@@ -71,7 +79,7 @@ typedef struct abd_stats {
7179
kstat_named_t abdstat_scatter_cnt;
7280
kstat_named_t abdstat_scatter_data_size;
7381
kstat_named_t abdstat_scatter_chunk_waste;
74-
kstat_named_t abdstat_scatter_orders[MAX_ORDER];
82+
kstat_named_t abdstat_scatter_orders[ABD_MAX_ORDER];
7583
kstat_named_t abdstat_scatter_page_multi_chunk;
7684
kstat_named_t abdstat_scatter_page_multi_zone;
7785
kstat_named_t abdstat_scatter_page_alloc_retry;
@@ -139,7 +147,7 @@ static struct {
139147
wmsum_t abdstat_scatter_cnt;
140148
wmsum_t abdstat_scatter_data_size;
141149
wmsum_t abdstat_scatter_chunk_waste;
142-
wmsum_t abdstat_scatter_orders[MAX_ORDER];
150+
wmsum_t abdstat_scatter_orders[ABD_MAX_ORDER];
143151
wmsum_t abdstat_scatter_page_multi_chunk;
144152
wmsum_t abdstat_scatter_page_multi_zone;
145153
wmsum_t abdstat_scatter_page_alloc_retry;
@@ -222,7 +230,7 @@ abd_free_struct_impl(abd_t *abd)
222230
}
223231

224232
#ifdef _KERNEL
225-
static unsigned zfs_abd_scatter_max_order = MAX_ORDER - 1;
233+
static unsigned zfs_abd_scatter_max_order = ABD_MAX_ORDER - 1;
226234

227235
/*
228236
* Mark zfs data pages so they can be excluded from kernel crash dumps
@@ -272,7 +280,8 @@ abd_alloc_chunks(abd_t *abd, size_t size)
272280
struct page *page, *tmp_page = NULL;
273281
gfp_t gfp = __GFP_NOWARN | GFP_NOIO;
274282
gfp_t gfp_comp = (gfp | __GFP_NORETRY | __GFP_COMP) & ~__GFP_RECLAIM;
275-
unsigned int max_order = MIN(zfs_abd_scatter_max_order, MAX_ORDER - 1);
283+
unsigned int max_order = MIN(zfs_abd_scatter_max_order,
284+
ABD_MAX_ORDER - 1);
276285
unsigned int nr_pages = abd_chunkcnt_for_bytes(size);
277286
unsigned int chunks = 0, zones = 0;
278287
size_t remaining_size;
@@ -729,7 +738,7 @@ abd_kstats_update(kstat_t *ksp, int rw)
729738
wmsum_value(&abd_sums.abdstat_scatter_data_size);
730739
as->abdstat_scatter_chunk_waste.value.ui64 =
731740
wmsum_value(&abd_sums.abdstat_scatter_chunk_waste);
732-
for (int i = 0; i < MAX_ORDER; i++) {
741+
for (int i = 0; i < ABD_MAX_ORDER; i++) {
733742
as->abdstat_scatter_orders[i].value.ui64 =
734743
wmsum_value(&abd_sums.abdstat_scatter_orders[i]);
735744
}
@@ -758,7 +767,7 @@ abd_init(void)
758767
wmsum_init(&abd_sums.abdstat_scatter_cnt, 0);
759768
wmsum_init(&abd_sums.abdstat_scatter_data_size, 0);
760769
wmsum_init(&abd_sums.abdstat_scatter_chunk_waste, 0);
761-
for (i = 0; i < MAX_ORDER; i++)
770+
for (i = 0; i < ABD_MAX_ORDER; i++)
762771
wmsum_init(&abd_sums.abdstat_scatter_orders[i], 0);
763772
wmsum_init(&abd_sums.abdstat_scatter_page_multi_chunk, 0);
764773
wmsum_init(&abd_sums.abdstat_scatter_page_multi_zone, 0);
@@ -768,7 +777,7 @@ abd_init(void)
768777
abd_ksp = kstat_create("zfs", 0, "abdstats", "misc", KSTAT_TYPE_NAMED,
769778
sizeof (abd_stats) / sizeof (kstat_named_t), KSTAT_FLAG_VIRTUAL);
770779
if (abd_ksp != NULL) {
771-
for (i = 0; i < MAX_ORDER; i++) {
780+
for (i = 0; i < ABD_MAX_ORDER; i++) {
772781
snprintf(abd_stats.abdstat_scatter_orders[i].name,
773782
KSTAT_STRLEN, "scatter_order_%d", i);
774783
abd_stats.abdstat_scatter_orders[i].data_type =
@@ -798,7 +807,7 @@ abd_fini(void)
798807
wmsum_fini(&abd_sums.abdstat_scatter_cnt);
799808
wmsum_fini(&abd_sums.abdstat_scatter_data_size);
800809
wmsum_fini(&abd_sums.abdstat_scatter_chunk_waste);
801-
for (int i = 0; i < MAX_ORDER; i++)
810+
for (int i = 0; i < ABD_MAX_ORDER; i++)
802811
wmsum_fini(&abd_sums.abdstat_scatter_orders[i]);
803812
wmsum_fini(&abd_sums.abdstat_scatter_page_multi_chunk);
804813
wmsum_fini(&abd_sums.abdstat_scatter_page_multi_zone);

0 commit comments

Comments
 (0)