mirror-linux/fs/f2fs
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 f2fs: switch to using the crc32 library 2024-12-01 17:23:02 -08:00
Makefile
acl.c fs: inline current_umask() and move it to fs_struct.h 2025-11-05 22:51:23 +01:00
acl.h f2fs: Pass folios to f2fs_init_acl() 2025-04-28 15:26:41 +00:00
checkpoint.c f2fs: sysfs: introduce critical_task_priority 2026-02-10 20:53:21 +00:00
compress.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
data.c f2fs-for-7.0-rc1 2026-02-14 09:48:10 -08:00
debug.c f2fs: check skipped write in f2fs_enable_checkpoint() 2026-01-27 02:45:44 +00:00
dir.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
extent_cache.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
f2fs.h treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
file.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
gc.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
gc.h f2fs: set default valid_thresh_ratio to 80 for zoned devices 2025-10-24 21:23:55 +00:00
hash.c fs: add helpers name_is_dot{,dot,_dotdot} 2026-01-29 10:06:59 +01:00
inline.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
inode.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
iostat.c f2fs: add async reset zone command support 2023-06-12 13:04:09 -07:00
iostat.h f2fs: use iostat_lat_type directly as a parameter in the iostat_update_and_unbind_ctx() 2023-02-07 10:39:28 -08:00
namei.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
node.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
node.h f2fs: fix to do sanity check on node footer in {read,write}_end_io 2026-01-17 00:00:34 +00:00
recovery.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
segment.c f2fs: fix incomplete block usage in compact SSA summaries 2026-01-30 17:03:49 +00:00
segment.h f2fs: support non-4KB block size without packed_ssa feature 2026-01-17 00:00:34 +00:00
shrinker.c f2fs: handle error cases of memory donation 2025-05-06 15:46:55 +00:00
super.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
sysfs.c f2fs: sysfs: introduce critical_task_priority 2026-02-10 20:53:21 +00:00
verity.c fsverity: use a hashtable to find the fsverity_info 2026-02-04 11:31:54 -08:00
xattr.c treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
xattr.h f2fs: use global inline_xattr_slab instead of per-sb slab cache 2025-12-04 02:00:02 +00:00