diff mbox series

[v2] xfs_io: make MADV_SOFT_OFFLINE conditional

Message ID 20240522223748.9986-1-bage@debian.org (mailing list archive)
State Superseded
Headers show
Series [v2] xfs_io: make MADV_SOFT_OFFLINE conditional | expand

Commit Message

Bastian Germann May 22, 2024, 10:37 p.m. UTC
mips64el does not have the symbol MADV_SOFT_OFFLINE, so wrap it in an
ifdef.

Signed-off-by: Bastian Germann <bage@debian.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
---
 io/madvise.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Christoph Hellwig May 24, 2024, 8:18 a.m. UTC | #1
> +#ifdef MADV_SOFT_OFFLINE

Can you add a comment here that this is missing on mips as of Linux
6.9?

Also adding the mips maintainer so he can add it, as missing a madvise
random feature on a random architecture looks like a bug that should be
fixed.
Bastian Germann May 25, 2024, 11:25 a.m. UTC | #2
Am 24.05.24 um 10:18 schrieb Christoph Hellwig:
>> +#ifdef MADV_SOFT_OFFLINE
> 
> Can you add a comment here that this is missing on mips as of Linux
> 6.9?

Sure.

> Also adding the mips maintainer so he can add it, as missing a madvise
> random feature on a random architecture looks like a bug that should be
> fixed.

There are more of this class of bugs which f82b77462b ("tools include:
Add mman macros needed by perf for all arch") presents.
diff mbox series

Patch

diff --git a/io/madvise.c b/io/madvise.c
index ede23395..644c85e0 100644
--- a/io/madvise.c
+++ b/io/madvise.c
@@ -40,7 +40,9 @@  madvise_help(void)
 " -H -- enable transparent hugepages (MADV_HUGEPAGE)\n"
 " -m -- mark the range mergeable (MADV_MERGEABLE)\n"
 " -M -- mark the range unmergeable (MADV_UNMERGEABLE)\n"
+#ifdef MADV_SOFT_OFFLINE
 " -o -- mark the range offline (MADV_SOFT_OFFLINE)\n"
+#endif
 " -p -- punch a hole in the file (MADV_REMOVE)\n"
 " -P -- poison the page cache (MADV_HWPOISON)\n"
 #ifdef MADV_POPULATE_READ
@@ -101,9 +103,11 @@  madvise_f(
 		case 'M':	/* disable merging */
 			advise = MADV_UNMERGEABLE;
 			break;
+#ifdef MADV_SOFT_OFFLINE
 		case 'o':	/* offline */
 			advise = MADV_SOFT_OFFLINE;
 			break;
+#endif
 		case 'p':	/* punch hole */
 			advise = MADV_REMOVE;
 			break;