On Thu 26-02-26 18:00:36, Jan Kara wrote:
On Thu 26-02-26 10:55:03, Jeff Layton wrote:
Change the inode hash/lookup VFS API functions to accept u64 parameters instead of unsigned long for inode numbers and hash values. This is preparation for widening i_ino itself to u64, which will allow filesystems to store full 64-bit inode numbers on 32-bit architectures.
Since unsigned long implicitly widens to u64 on all architectures, this change is backward-compatible with all existing callers.
Functions updated:
- hash(), find_inode_fast(), find_inode_by_ino_rcu(), test_inode_iunique()
- __insert_inode_hash(), iget_locked(), iget5_locked(), iget5_locked_rcu()
- ilookup(), ilookup5(), ilookup5_nowait()
- find_inode_nowait(), find_inode_rcu()
- inode_insert5(), insert_inode_locked4()
- insert_inode_locked() (local variable)
- dump_mapping() (local variable and format string)
Signed-off-by: Jeff Layton jlayton@kernel.org
Looks good. Feel free to add:
Reviewed-by: Jan Kara jack@suse.cz
Thinking some more about this (and also seeing the discussion about patch 2) - maybe instead of using explicit u64 we should typedef kino_t as u64 and use that?
Honza