linux-next: build failure after merge of the vfs tree
From: Mark Brown
Date: Tue Mar 10 2026 - 10:54:46 EST
Hi all,
After merging the vfs tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:
/tmp/next/build/fs/ntfs/mft.c: In function 'ntfs_may_write_mft_record':
/tmp/next/build/fs/ntfs/mft.c:773:52: error: passing argument 3 of 'find_inode_nowait' from incompatible pointer type [-Wincompatible-pointer-types]
773 | vi = find_inode_nowait(sb, mft_no, ntfs_test_inode_wb, &na);
| ^~~~~~~~~~~~~~~~~~
| |
| int (*)(struct inode *, long unsigned int, void *)
In file included from /tmp/next/build/include/linux/writeback.h:10,
from /tmp/next/build/fs/ntfs/mft.c:11:
/tmp/next/build/include/linux/fs.h:2955:39: note: expected 'int (*)(struct inode *, u64, void *)' {aka 'int (*)(struct inode *, long long unsigned int, void *)'} but argument is of type 'int (*)(struct inode *, long unsigned int, void *)'
2955 | int (*match)(struct inode *, u64, void *),
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/fs/ntfs/mft.c:836:52: error: passing argument 3 of 'find_inode_nowait' from incompatible pointer type [-Wincompatible-pointer-types]
836 | vi = find_inode_nowait(sb, mft_no, ntfs_test_inode_wb, &na);
| ^~~~~~~~~~~~~~~~~~
| |
| int (*)(struct inode *, long unsigned int, void *)
/tmp/next/build/include/linux/fs.h:2955:39: note: expected 'int (*)(struct inode *, u64, void *)' {aka 'int (*)(struct inode *, long long unsigned int, void *)'} but argument is of type 'int (*)(struct inode *, long unsigned int, void *)'
2955 | int (*match)(struct inode *, u64, void *),
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Caused by commit
0b2600f81cefc (treewide: change inode->i_ino from unsigned long to u64)
interacting with the addition of the ntfs tree. I have fixed this up as
below and can carry as needed:
commit d1b19b9f221c93e8fd0f43b80509ba1660e25cf9
Author: Mark Brown <broonie@xxxxxxxxxx>
Date: Tue Mar 10 12:33:15 2026 +0000
ntfs: Fixup merge issue with vfs.all changes
/tmp/next/build/fs/ntfs/mft.c: In function 'ntfs_may_write_mft_record':
/tmp/next/build/fs/ntfs/mft.c:773:52: error: passing argument 3 of 'find_inode_nowait' from incompatible pointer type [-Wincompatible-pointer-types]
773 | vi = find_inode_nowait(sb, mft_no, ntfs_test_inode_wb, &na);
| ^~~~~~~~~~~~~~~~~~
| |
| int (*)(struct inode *, long unsigned int, void *)
In file included from /tmp/next/build/include/linux/writeback.h:10,
from /tmp/next/build/fs/ntfs/mft.c:11:
/tmp/next/build/include/linux/fs.h:2955:39: note: expected 'int (*)(struct inode *, u64, void *)' {aka 'int (*)(struct inode *, long long unsigned int, void *)'} but argument is of type 'int (*)(struct inode *, long unsigned int, void *)'
2955 | int (*match)(struct inode *, u64, void *),
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/fs/ntfs/mft.c:836:52: error: passing argument 3 of 'find_inode_nowait' from incompatible pointer type [-Wincompatible-pointer-types]
836 | vi = find_inode_nowait(sb, mft_no, ntfs_test_inode_wb, &na);
| ^~~~~~~~~~~~~~~~~~
| |
| int (*)(struct inode *, long unsigned int, void *)
/tmp/next/build/include/linux/fs.h:2955:39: note: expected 'int (*)(struct inode *, u64, void *)' {aka 'int (*)(struct inode *, long long unsigned int, void *)'} but argument is of type 'int (*)(struct inode *, long unsigned int, void *)'
2955 | int (*match)(struct inode *, u64, void *),
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
diff --git a/fs/ntfs/mft.c b/fs/ntfs/mft.c
index 48e64eaa7ec33..0c3f8d9b7c3a4 100644
--- a/fs/ntfs/mft.c
+++ b/fs/ntfs/mft.c
@@ -632,7 +632,7 @@ int write_mft_record_nolock(struct ntfs_inode *ni, struct mft_record *m, int syn
return err;
}
-static int ntfs_test_inode_wb(struct inode *vi, unsigned long ino, void *data)
+static int ntfs_test_inode_wb(struct inode *vi, u64 ino, void *data)
{
struct ntfs_attr *na = data;
Attachment:
signature.asc
Description: PGP signature