linux-next: build failure after merge of the vfs-brauner tree
Mark Brown
maintainerHi all,
After merging the vfs-brauner tree, today's linux-next build (x86_64 allmodconfig) failed like this:
/tmp/next/build/fs/smb/client/cifsfs.c:1258:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1258 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/fs/smb/client/cifsfs.c:1270:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1270 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~2 errors generated.
make[6]: *** [/tmp/next/build/scripts/Makefile.build:290: fs/smb/client/cifsfs.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [/tmp/next/build/scripts/Makefile.build:551: fs/smb/client] Error 2
make[5]: *** Waiting for unfinished jobs..../tmp/next/build/fs/ntfs/namei.c:793:40: error: passing 'const struct mnt_idmap *' to parameter of type 'struct mnt_idmap *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
793 | stream_vi = ntfs_create_named_stream(idmap, dir, base_name,
| ^~~~~/tmp/next/build/fs/ntfs/stream.h:35:58: note: passing argument to parameter 'idmap' here
35 | struct inode *ntfs_create_named_stream(struct mnt_idmap *idmap,
| ^
1 error generated.
Caused by the constification series for mnt_idmap interacting with:
2de2cdd9cc08f (ntfs: add pathname access for named streams) 121e0c35720b2 (smb: client: implement fileattr_set for compression flags)
from the cifs and ntfs trees. I have applied the fixup below and can carry as needed.
From 6b75090639b332f5fa52a558edbba295d8bb42fc Mon Sep 17 00:00:00 2001
From: Mark Brown <[email protected]>
Date: Mon, 12 Oct 2026 13:55:24 +0100
Subject: [PATCH] cifs: Fix semantic conflict with const mnt_idmap
/tmp/next/build/fs/smb/client/cifsfs.c:1258:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1258 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/fs/smb/client/cifsfs.c:1270:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1270 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~2 errors generated.
--- fs/ntfs/named_stream.c | 6 +++--- fs/ntfs/stream.h | 2 +- fs/smb/client/cifsfs.h | 2 +- fs/smb/client/ioctl.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-)
fs/ntfs/named_stream.c +3 -3
@@ -553,7 +553,7 @@ int ntfs_stream_path_names(struct ntfs_volume *vol,* * Return: Referenced stream inode on success, or ERR_PTR() on failure. */ -struct inode *ntfs_create_named_stream (struct mnt_idmap *idmap, +struct inode *ntfs_create_named_stream (const struct mnt_idmap *idmap,struct inode *dir,__le16 *base_name,int base_len,__le16 *stream_name,int stream_len) {
@@ -988,13 +988,13 @@ static ssize_t ntfs_stream_listxattr(struct dentry *dentry, char *buffer, }#ifdef CONFIG_NTFS_FS_POSIX_ACL -static struct posix_acl *ntfs_stream_get_acl (struct mnt_idmap *idmap, +static struct posix_acl *ntfs_stream_get_acl (const struct mnt_idmap *idmap,struct dentry *dentry,int type) {return ERR_PTR (-EOPNOTSUPP ); } -static int ntfs_stream_set_acl (struct mnt_idmap *idmap, +static int ntfs_stream_set_acl (const struct mnt_idmap *idmap,struct dentry *dentry,struct posix_acl *acl,int type) {return -EOPNOTSUPP ;
fs/ntfs/stream.h +1 -1
@@ -32,7 +32,7 @@ struct inode *ntfs_stream_lookup_inode_by_name(struct inode *dir, __le16 *name, int name_len);struct dentry *ntfs_lookup_stream (struct inode *dir,struct dentry *dentry,const struct ntfs_stream_path *path); -struct inode *ntfs_create_named_stream (struct mnt_idmap *idmap, +struct inode *ntfs_create_named_stream (const struct mnt_idmap *idmap,struct inode *dir,__le16 *base_name,int base_len,__le16 *stream_name,int stream_len);int ntfs_unlink_named_stream (struct inode *dir,struct dentry *dentry);
fs/smb/client/cifsfs.h +1 -1
@@ -91,7 +91,7 @@ extern const struct inode_operations cifs_namespace_inode_operations;struct file_kattr ;int cifs_fileattr_get (struct dentry *dentry,struct file_kattr *fa); -int cifs_fileattr_set (struct mnt_idmap *idmap,struct dentry *dentry, +int cifs_fileattr_set (const struct mnt_idmap *idmap,struct dentry *dentry,struct file_kattr *fa);
fs/smb/client/ioctl.c +1 -1
@@ -181,7 +181,7 @@ static int cifs_set_compression(unsigned int xid, struct dentry *dentry, compression_state); } -int cifs_fileattr_set (struct mnt_idmap *idmap,struct dentry *dentry, +int cifs_fileattr_set (const struct mnt_idmap *idmap,struct dentry *dentry,struct file_kattr *fa) {struct cifs_sb_info *cifs_sb =CIFS_SB (dentry);
Signature · 1 line
2.47.3
Mark Brown <[email protected]>, 12 Eki 2026 Pzt, 16:50 tarihinde şunu yazdı:
Quoted 2 lines
Hi all,
Hi Mark,
i noticed Namjae Jeon's commit (2de2cdd9cc08, ntfs: add pathname access for named streams) is currently present in fs-next and your reported build failure appears to result from this commit interacting with VFS changes that make mnt_idmap const in the ->setattr() and ->getattr() callbacks, and i think fs-next before changes are integrated into linux-next
i compiled linux-next tree but couldnt reproduce the build failure.
Regards
Ozgur
Quoted 124 lines
After merging the vfs-brauner tree, today's linux-next build (
x86_64allmodconfig) failed like this:
/tmp/next/build/fs/smb/client/cifsfs.c:1258:18: error: incompatible function pointer types initializing 'int (*)(const structmnt_idmap*, struct dentry *, structfile_kattr*)' with an expression of type 'int (structmnt_idmap*, struct dentry *, structfile_kattr*)' [-Wincompatible-function-pointer-types]
1258 | .fileattr_set =cifs_fileattr_set,| ^~~~~~~~~~~~~~~~~ /tmp/next/build/fs/smb/client/cifsfs.c:1270:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types] 1270 | .fileattr_set = cifs_fileattr_set, | ^~~~~~~~~~~~~~~~~2 errors generated.
make[6]: *** [/tmp/next/build/scripts/Makefile.build:290:fs/smb/client/cifsfs.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [/tmp/next/build/scripts/Makefile.build:551:fs/smb/client] Error 2
make[5]: *** Waiting for unfinished jobs..../tmp/next/build/fs/ntfs/namei.c:793:40: error: passing 'const structmnt_idmap*' to parameter of type 'structmnt_idmap*' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
793 |stream_vi= ntfs_create_named_stream(idmap, dir,base_name,
| ^~~~~/tmp/next/build/fs/ntfs/stream.h:35:58: note: passing argument to parameter 'idmap' here
35 | struct inode *ntfs_create_named_stream(structmnt_idmap*idmap,
| ^
1 error generated.Caused by the constification series for
mnt_idmapinteracting with:
2de2cdd9cc08f(ntfs: add pathname access for named streams)121e0c35720b2(smb: client: implementfileattr_setfor compression flags)from the cifs and ntfs trees. I have applied the fixup below and can carry as needed.
From
6b75090639b332f5fa52a558edbba295d8bb42fcMon Sep 17 00:00:00 2001
From: Mark Brown <[email protected]>
Date: Mon, 12 Oct 2026 13:55:24 +0100
Subject: [PATCH] cifs: Fix semantic conflict with constmnt_idmap
/tmp/next/build/fs/smb/client/cifsfs.c:1258:18: error: incompatible function pointer types initializing 'int (*)(const structmnt_idmap*, struct dentry *, structfile_kattr*)' with an expression of type 'int (structmnt_idmap*, struct dentry *, structfile_kattr*)' [-Wincompatible-function-pointer-types]
1258 | .fileattr_set =cifs_fileattr_set,| ^~~~~~~~~~~~~~~~~ /tmp/next/build/fs/smb/client/cifsfs.c:1270:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types] 1270 | .fileattr_set = cifs_fileattr_set, | ^~~~~~~~~~~~~~~~~2 errors generated.
Signed-off-by Mark Brown <[email protected]>--- fs/ntfs/named_stream.c | 6 +++--- fs/ntfs/stream.h | 2 +- fs/smb/client/cifsfs.h | 2 +- fs/smb/client/ioctl.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-)fs/ntfs/named_stream.c +3
-3@@ -553,7 +553,7 @@ int ntfs_stream_path_names(struct ntfs_volume *vol,* * Return: Referenced stream inode on success, or ERR_PTR() on failure. */ -struct inode *ntfs_create_named_stream (struct mnt_idmap *idmap, +struct inode *ntfs_create_named_stream (const struct mnt_idmap *idmap,struct inode *dir,__le16 *base_name,int base_len,__le16 *stream_name,int stream_len) {@@ -988,13 +988,13 @@ static ssize_t ntfs_stream_listxattr(struct dentry *dentry, char *buffer, }#ifdef CONFIG_NTFS_FS_POSIX_ACL -static struct posix_acl *ntfs_stream_get_acl (struct mnt_idmap *idmap, +static struct posix_acl *ntfs_stream_get_acl (const struct mnt_idmap *idmap,struct dentry *dentry,int type) {return ERR_PTR (-EOPNOTSUPP ); } -static int ntfs_stream_set_acl (struct mnt_idmap *idmap, +static int ntfs_stream_set_acl (const struct mnt_idmap *idmap,struct dentry *dentry,struct posix_acl *acl,int type) {return -EOPNOTSUPP ;fs/ntfs/stream.h +1
-1@@ -32,7 +32,7 @@ struct inode *ntfs_stream_lookup_inode_by_name(struct inode *dir, __le16 *name, int name_len);struct dentry *ntfs_lookup_stream (struct inode *dir,struct dentry *dentry,const struct ntfs_stream_path *path); -struct inode *ntfs_create_named_stream (struct mnt_idmap *idmap, +struct inode *ntfs_create_named_stream (const struct mnt_idmap *idmap,struct inode *dir,__le16 *base_name,int base_len,__le16 *stream_name,int stream_len);int ntfs_unlink_named_stream (struct inode *dir,struct dentry *dentry);fs/smb/client/cifsfs.h +1
-1@@ -91,7 +91,7 @@ extern const struct inode_operations cifs_namespace_inode_operations;struct file_kattr ;int cifs_fileattr_get (struct dentry *dentry,struct file_kattr *fa); -int cifs_fileattr_set (struct mnt_idmap *idmap,struct dentry *dentry, +int cifs_fileattr_set (const struct mnt_idmap *idmap,struct dentry *dentry,struct file_kattr *fa);fs/smb/client/ioctl.c +1
-2@@ -181,7 +181,7 @@ static int cifs_set_compression(unsigned int xid, struct dentry *dentry, compression_state); } -int cifs_fileattr_set (struct mnt_idmap *idmap,struct dentry *dentry, +int cifs_fileattr_set (const struct mnt_idmap *idmap,struct dentry *dentry,struct file_kattr *fa) {struct cifs_sb_info *cifs_sb =CIFS_SB (dentry); --2.47.3
Mark Brown
maintainerQuoted 6 lines · Ozgur
Mark Brown <[email protected]>, 12 Eki 2026 Pzt, 16:50 tarihinde şunu yazdı:
Quoted 2 lines
Hi all,
Hi Mark,
Quoted 8 lines
i noticed Namjae Jeon's commit (
2de2cdd9cc08, ntfs: add pathname access for named streams) is currently present in fs-next and your reported build failure appears to result from this commit interacting with VFS changes that makemnt_idmapconst in the ->setattr() and ->getattr() callbacks, and i think fs-next before changes are integrated into linux-nexti compiled linux-next tree but couldnt reproduce the build failure.
Today's -next hasn't been published...