mirror-linux/fs/9p
Jeff Layton 0b2600f81c
treewide: change inode->i_ino from unsigned long to u64
On 32-bit architectures, unsigned long is only 32 bits wide, which
causes 64-bit inode numbers to be silently truncated. Several
filesystems (NFS, XFS, BTRFS, etc.) can generate inode numbers that
exceed 32 bits, and this truncation can lead to inode number collisions
and other subtle bugs on 32-bit systems.

Change the type of inode->i_ino from unsigned long to u64 to ensure that
inode numbers are always represented as 64-bit values regardless of
architecture. Update all format specifiers treewide from %lu/%lx to
%llu/%llx to match the new type, along with corresponding local variable
types.

This is the bulk treewide conversion. Earlier patches in this series
handled trace events separately to allow trace field reordering for
better struct packing on 32-bit.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://patch.msgid.link/20260304-iino-u64-v3-12-2257ad83d372@kernel.org
Acked-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
2026-03-06 14:31:28 +01:00
..
Kconfig 9p: Remove INET dependency 2023-05-04 21:46:57 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acl.c posix_acl: make posix_acl_to_xattr() alloc the buffer 2026-01-16 10:51:12 +01:00
acl.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
cache.c mm, netfs, fscache: stop read optimisation when folio removed from pagecache 2023-08-18 10:12:13 -07:00
cache.h fs/9p: Rework cache modes and add new options to Documentation 2023-04-09 21:41:21 +00:00
fid.c 9p: v9fs_fid_find: also lookup by inode if not found dentry 2024-09-23 05:51:27 +09:00
fid.h fs/9p: fix the cache always being enabled on files with qid flags 2024-03-28 15:10:29 +00:00
v9fs.c 9p: fix new mount API cache option handling 2025-12-05 12:54:05 +00:00
v9fs.h 9p: convert to the new mount API 2025-11-03 16:49:53 +09:00
v9fs_vfs.h Revert "fs/9p: simplify iget to remove unnecessary paths" 2024-10-25 06:26:09 +09:00
vfs_addr.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
vfs_dentry.c fs/9p: delete unnnecessary condition 2025-11-03 16:49:53 +09:00
vfs_dir.c fs: remove simple_nosetlease() 2026-01-12 10:55:48 +01:00
vfs_file.c fs: remove simple_nosetlease() 2026-01-12 10:55:48 +01:00
vfs_inode.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
vfs_inode_dotl.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
vfs_super.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xattr.c Bunch of small fixes: 2023-11-04 09:20:04 -10:00
xattr.h 9p: move xattr-related structs to .rodata 2023-10-09 16:24:16 +02:00