From: Jeff Layton <jlayton@kernel.org>
To: "Alexander Viro" <viro@zeniv.linux.org.uk>,
"Christian Brauner" <brauner@kernel.org>,
"Jan Kara" <jack@suse.cz>, "Steven Rostedt" <rostedt@goodmis.org>,
"Masami Hiramatsu" <mhiramat@kernel.org>,
"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
"Dan Williams" <dan.j.williams@intel.com>,
"Matthew Wilcox" <willy@infradead.org>,
"Eric Biggers" <ebiggers@kernel.org>,
"Theodore Y. Ts'o" <tytso@mit.edu>,
"Muchun Song" <muchun.song@linux.dev>,
"Oscar Salvador" <osalvador@suse.de>,
"David Hildenbrand" <david@kernel.org>,
"David Howells" <dhowells@redhat.com>,
"Paulo Alcantara" <pc@manguebit.org>,
"Andreas Dilger" <adilger.kernel@dilger.ca>,
"Jan Kara" <jack@suse.com>, "Jaegeuk Kim" <jaegeuk@kernel.org>,
"Chao Yu" <chao@kernel.org>,
"Trond Myklebust" <trondmy@kernel.org>,
"Anna Schumaker" <anna@kernel.org>,
"Chuck Lever" <chuck.lever@oracle.com>,
NeilBrown <neil@brown.name>,
"Olga Kornievskaia" <okorniev@redhat.com>,
"Dai Ngo" <Dai.Ngo@oracle.com>, "Tom Talpey" <tom@talpey.com>,
"Steve French" <sfrench@samba.org>,
"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
"Shyam Prasad N" <sprasad@microsoft.com>,
"Bharath SM" <bharathsm@microsoft.com>,
"Alexander Aring" <alex.aring@gmail.com>,
"Ryusuke Konishi" <konishi.ryusuke@gmail.com>,
"Viacheslav Dubeyko" <slava@dubeyko.com>,
"Eric Van Hensbergen" <ericvh@kernel.org>,
"Latchesar Ionkov" <lucho@ionkov.net>,
"Dominique Martinet" <asmadeus@codewreck.org>,
"Christian Schoenebeck" <linux_oss@crudebyte.com>,
"David Sterba" <dsterba@suse.com>,
"Marc Dionne" <marc.dionne@auristor.com>,
"Ian Kent" <raven@themaw.net>,
"Luis de Bethencourt" <luisbg@kernel.org>,
"Salah Triki" <salah.triki@gmail.com>,
"Tigran A. Aivazian" <aivazian.tigran@gmail.com>,
"Ilya Dryomov" <idryomov@gmail.com>,
"Alex Markuze" <amarkuze@redhat.com>,
"Jan Harkes" <jaharkes@cs.cmu.edu>,
coda@cs.cmu.edu, "Nicolas Pitre" <nico@fluxnic.net>,
"Tyler Hicks" <code@tyhicks.com>,
"Amir Goldstein" <amir73il@gmail.com>,
"Christoph Hellwig" <hch@infradead.org>,
"John Paul Adrian Glaubitz" <glaubitz@physik.fu-berlin.de>,
"Yangtao Li" <frank.li@vivo.com>,
"Mikulas Patocka" <mikulas@artax.karlin.mff.cuni.cz>,
"David Woodhouse" <dwmw2@infradead.org>,
"Richard Weinberger" <richard@nod.at>,
"Dave Kleikamp" <shaggy@kernel.org>,
"Konstantin Komarov" <almaz.alexandrovich@paragon-software.com>,
"Mark Fasheh" <mark@fasheh.com>,
"Joel Becker" <jlbec@evilplan.org>,
"Joseph Qi" <joseph.qi@linux.alibaba.com>,
"Mike Marshall" <hubcap@omnibond.com>,
"Martin Brandenburg" <martin@omnibond.com>,
"Miklos Szeredi" <miklos@szeredi.hu>,
"Anders Larsen" <al@alarsen.net>,
"Zhihao Cheng" <chengzhihao1@huawei.com>,
"Damien Le Moal" <dlemoal@kernel.org>,
"Naohiro Aota" <naohiro.aota@wdc.com>,
"Johannes Thumshirn" <jth@kernel.org>,
"John Johansen" <john.johansen@canonical.com>,
"Paul Moore" <paul@paul-moore.com>,
"James Morris" <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
"Mimi Zohar" <zohar@linux.ibm.com>,
"Roberto Sassu" <roberto.sassu@huawei.com>,
"Dmitry Kasatkin" <dmitry.kasatkin@gmail.com>,
"Eric Snowberg" <eric.snowberg@oracle.com>,
"Fan Wu" <wufan@kernel.org>,
"Stephen Smalley" <stephen.smalley.work@gmail.com>,
"Ondrej Mosnacek" <omosnace@redhat.com>,
"Casey Schaufler" <casey@schaufler-ca.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Eric Dumazet" <edumazet@google.com>,
"Kuniyuki Iwashima" <kuniyu@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Willem de Bruijn" <willemb@google.com>,
"David S. Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"Simon Horman" <horms@kernel.org>,
"Oleg Nesterov" <oleg@redhat.com>,
"Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Arnaldo Carvalho de Melo" <acme@kernel.org>,
"Namhyung Kim" <namhyung@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Alexander Shishkin" <alexander.shishkin@linux.intel.com>,
"Jiri Olsa" <jolsa@kernel.org>, "Ian Rogers" <irogers@google.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"James Clark" <james.clark@linaro.org>,
"Darrick J. Wong" <djwong@kernel.org>,
"Martin Schiller" <ms@dev.tdt.de>,
"Eric Paris" <eparis@redhat.com>,
"Joerg Reuter" <jreuter@yaina.de>,
"Marcel Holtmann" <marcel@holtmann.org>,
"Johan Hedberg" <johan.hedberg@gmail.com>,
"Luiz Augusto von Dentz" <luiz.dentz@gmail.com>,
"Oliver Hartkopp" <socketcan@hartkopp.net>,
"Marc Kleine-Budde" <mkl@pengutronix.de>,
"David Ahern" <dsahern@kernel.org>,
"Neal Cardwell" <ncardwell@google.com>,
"Steffen Klassert" <steffen.klassert@secunet.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Remi Denis-Courmont" <courmisch@gmail.com>,
"Marcelo Ricardo Leitner" <marcelo.leitner@gmail.com>,
"Xin Long" <lucien.xin@gmail.com>,
"Magnus Karlsson" <magnus.karlsson@intel.com>,
"Maciej Fijalkowski" <maciej.fijalkowski@intel.com>,
"Stanislav Fomichev" <sdf@fomichev.me>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Jesper Dangaard Brouer" <hawk@kernel.org>,
"John Fastabend" <john.fastabend@gmail.com>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-trace-kernel@vger.kernel.org, nvdimm@lists.linux.dev,
fsverity@lists.linux.dev, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-ext4@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org,
samba-technical@lists.samba.org, linux-nilfs@vger.kernel.org,
v9fs@lists.linux.dev, linux-afs@lists.infradead.org,
autofs@vger.kernel.org, ceph-devel@vger.kernel.org,
codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org,
linux-mtd@lists.infradead.org,
jfs-discussion@lists.sourceforge.net, ntfs3@lists.linux.dev,
ocfs2-devel@lists.linux.dev, devel@lists.orangefs.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-security-module@vger.kernel.org,
linux-integrity@vger.kernel.org, selinux@vger.kernel.org,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
netdev@vger.kernel.org, linux-perf-users@vger.kernel.org,
linux-fscrypt@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-hams@vger.kernel.org, linux-x25@vger.kernel.org,
audit@vger.kernel.org, linux-bluetooth@vger.kernel.org,
linux-can@vger.kernel.org, linux-sctp@vger.kernel.org,
bpf@vger.kernel.org, Jeff Layton <jlayton@kernel.org>
Subject: [PATCH v2 002/110] vfs: widen inode hash/lookup functions to u64
Date: Mon, 02 Mar 2026 15:23:46 -0500 [thread overview]
Message-ID: <20260302-iino-u64-v2-2-e5388800dae0@kernel.org> (raw)
In-Reply-To: <20260302-iino-u64-v2-0-e5388800dae0@kernel.org>
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.
In dump_mapping(), change the local ino variable to kino_t and use the
PRIino format macro, since this variable holds an i_ino value. In
init_special_inode(), also switch to PRIino.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
fs/inode.c | 49 ++++++++++++++++++++++++-------------------------
include/linux/fs.h | 26 +++++++++++++-------------
2 files changed, 37 insertions(+), 38 deletions(-)
diff --git a/fs/inode.c b/fs/inode.c
index cc12b68e021b2c97cc88a46ddc736334ecb8edfa..24ab9fa10baf7c885244f23bfccd731efe4a14cc 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -672,7 +672,7 @@ static inline void inode_sb_list_del(struct inode *inode)
}
}
-static unsigned long hash(struct super_block *sb, unsigned long hashval)
+static unsigned long hash(struct super_block *sb, u64 hashval)
{
unsigned long tmp;
@@ -685,12 +685,12 @@ static unsigned long hash(struct super_block *sb, unsigned long hashval)
/**
* __insert_inode_hash - hash an inode
* @inode: unhashed inode
- * @hashval: unsigned long value used to locate this object in the
+ * @hashval: u64 value used to locate this object in the
* inode_hashtable.
*
* Add an inode to the inode hash for this superblock.
*/
-void __insert_inode_hash(struct inode *inode, unsigned long hashval)
+void __insert_inode_hash(struct inode *inode, u64 hashval)
{
struct hlist_head *b = inode_hashtable + hash(inode->i_sb, hashval);
@@ -726,7 +726,7 @@ void dump_mapping(const struct address_space *mapping)
struct dentry *dentry_ptr;
struct dentry dentry;
char fname[64] = {};
- unsigned long ino;
+ kino_t ino;
/*
* If mapping is an invalid pointer, we don't want to crash
@@ -750,14 +750,14 @@ void dump_mapping(const struct address_space *mapping)
}
if (!dentry_first) {
- pr_warn("aops:%ps ino:%lx\n", a_ops, ino);
+ pr_warn("aops:%ps ino:%" PRIino "x\n", a_ops, ino);
return;
}
dentry_ptr = container_of(dentry_first, struct dentry, d_u.d_alias);
if (get_kernel_nofault(dentry, dentry_ptr) ||
!dentry.d_parent || !dentry.d_name.name) {
- pr_warn("aops:%ps ino:%lx invalid dentry:%px\n",
+ pr_warn("aops:%ps ino:%" PRIino "x invalid dentry:%px\n",
a_ops, ino, dentry_ptr);
return;
}
@@ -768,7 +768,7 @@ void dump_mapping(const struct address_space *mapping)
* Even if strncpy_from_kernel_nofault() succeeded,
* the fname could be unreliable
*/
- pr_warn("aops:%ps ino:%lx dentry name(?):\"%s\"\n",
+ pr_warn("aops:%ps ino:%" PRIino "x dentry name(?):\"%s\"\n",
a_ops, ino, fname);
}
@@ -1087,7 +1087,7 @@ static struct inode *find_inode(struct super_block *sb,
* iget_locked for details.
*/
static struct inode *find_inode_fast(struct super_block *sb,
- struct hlist_head *head, unsigned long ino,
+ struct hlist_head *head, u64 ino,
bool hash_locked, bool *isnew)
{
struct inode *inode = NULL;
@@ -1301,7 +1301,7 @@ EXPORT_SYMBOL(unlock_two_nondirectories);
* Note that both @test and @set are called with the inode_hash_lock held, so
* they can't sleep.
*/
-struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
+struct inode *inode_insert5(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1378,7 +1378,7 @@ EXPORT_SYMBOL(inode_insert5);
* Note that both @test and @set are called with the inode_hash_lock held, so
* they can't sleep.
*/
-struct inode *iget5_locked(struct super_block *sb, unsigned long hashval,
+struct inode *iget5_locked(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1408,7 +1408,7 @@ EXPORT_SYMBOL(iget5_locked);
* This is equivalent to iget5_locked, except the @test callback must
* tolerate the inode not being stable, including being mid-teardown.
*/
-struct inode *iget5_locked_rcu(struct super_block *sb, unsigned long hashval,
+struct inode *iget5_locked_rcu(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1455,7 +1455,7 @@ EXPORT_SYMBOL_GPL(iget5_locked_rcu);
* hashed, and with the I_NEW flag set. The file system gets to fill it in
* before unlocking it via unlock_new_inode().
*/
-struct inode *iget_locked(struct super_block *sb, unsigned long ino)
+struct inode *iget_locked(struct super_block *sb, u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1527,7 +1527,7 @@ EXPORT_SYMBOL(iget_locked);
*
* Returns 1 if the inode number is unique, 0 if it is not.
*/
-static int test_inode_iunique(struct super_block *sb, unsigned long ino)
+static int test_inode_iunique(struct super_block *sb, u64 ino)
{
struct hlist_head *b = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1616,7 +1616,7 @@ EXPORT_SYMBOL(igrab);
*
* Note2: @test is called with the inode_hash_lock held, so can't sleep.
*/
-struct inode *ilookup5_nowait(struct super_block *sb, unsigned long hashval,
+struct inode *ilookup5_nowait(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data, bool *isnew)
{
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
@@ -1647,7 +1647,7 @@ EXPORT_SYMBOL(ilookup5_nowait);
*
* Note: @test is called with the inode_hash_lock held, so can't sleep.
*/
-struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+struct inode *ilookup5(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct inode *inode;
@@ -1677,7 +1677,7 @@ EXPORT_SYMBOL(ilookup5);
* Search for the inode @ino in the inode cache, and if the inode is in the
* cache, the inode is returned with an incremented reference count.
*/
-struct inode *ilookup(struct super_block *sb, unsigned long ino)
+struct inode *ilookup(struct super_block *sb, u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1726,8 +1726,8 @@ EXPORT_SYMBOL(ilookup);
* very carefully implemented.
*/
struct inode *find_inode_nowait(struct super_block *sb,
- unsigned long hashval,
- int (*match)(struct inode *, unsigned long,
+ u64 hashval,
+ int (*match)(struct inode *, u64,
void *),
void *data)
{
@@ -1773,7 +1773,7 @@ EXPORT_SYMBOL(find_inode_nowait);
*
* The caller must hold the RCU read lock.
*/
-struct inode *find_inode_rcu(struct super_block *sb, unsigned long hashval,
+struct inode *find_inode_rcu(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
@@ -1812,7 +1812,7 @@ EXPORT_SYMBOL(find_inode_rcu);
* The caller must hold the RCU read lock.
*/
struct inode *find_inode_by_ino_rcu(struct super_block *sb,
- unsigned long ino)
+ u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1833,7 +1833,7 @@ EXPORT_SYMBOL(find_inode_by_ino_rcu);
int insert_inode_locked(struct inode *inode)
{
struct super_block *sb = inode->i_sb;
- ino_t ino = inode->i_ino;
+ u64 ino = inode->i_ino;
struct hlist_head *head = inode_hashtable + hash(sb, ino);
bool isnew;
@@ -1884,7 +1884,7 @@ int insert_inode_locked(struct inode *inode)
}
EXPORT_SYMBOL(insert_inode_locked);
-int insert_inode_locked4(struct inode *inode, unsigned long hashval,
+int insert_inode_locked4(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct inode *old;
@@ -2641,9 +2641,8 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev)
/* leave it no_open_fops */
break;
default:
- printk(KERN_DEBUG "init_special_inode: bogus i_mode (%o) for"
- " inode %s:%lu\n", mode, inode->i_sb->s_id,
- inode->i_ino);
+ pr_debug("init_special_inode: bogus i_mode (%o) for inode %s:%" PRIino "u\n",
+ mode, inode->i_sb->s_id, inode->i_ino);
break;
}
}
diff --git a/include/linux/fs.h b/include/linux/fs.h
index e38bc5ece1f360d679a8f30b8171292f7a65c218..d0c4789838b5852111583a3e4cced88999496e68 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2938,32 +2938,32 @@ static inline int inode_generic_drop(struct inode *inode)
extern void d_mark_dontcache(struct inode *inode);
extern struct inode *ilookup5_nowait(struct super_block *sb,
- unsigned long hashval, int (*test)(struct inode *, void *),
+ u64 hashval, int (*test)(struct inode *, void *),
void *data, bool *isnew);
-extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+extern struct inode *ilookup5(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data);
-extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
+extern struct inode *ilookup(struct super_block *sb, u64 ino);
-extern struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
+extern struct inode *inode_insert5(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *),
void *data);
-struct inode *iget5_locked(struct super_block *, unsigned long,
+struct inode *iget5_locked(struct super_block *, u64,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *);
-struct inode *iget5_locked_rcu(struct super_block *, unsigned long,
+struct inode *iget5_locked_rcu(struct super_block *, u64,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *);
-extern struct inode * iget_locked(struct super_block *, unsigned long);
+extern struct inode *iget_locked(struct super_block *, u64);
extern struct inode *find_inode_nowait(struct super_block *,
- unsigned long,
+ u64,
int (*match)(struct inode *,
- unsigned long, void *),
+ u64, void *),
void *data);
-extern struct inode *find_inode_rcu(struct super_block *, unsigned long,
+extern struct inode *find_inode_rcu(struct super_block *, u64,
int (*)(struct inode *, void *), void *);
-extern struct inode *find_inode_by_ino_rcu(struct super_block *, unsigned long);
-extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *), void *);
+extern struct inode *find_inode_by_ino_rcu(struct super_block *, u64);
+extern int insert_inode_locked4(struct inode *, u64, int (*test)(struct inode *, void *), void *);
extern int insert_inode_locked(struct inode *);
#ifdef CONFIG_DEBUG_LOCK_ALLOC
extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
@@ -3018,7 +3018,7 @@ int setattr_should_drop_sgid(struct mnt_idmap *idmap,
*/
#define alloc_inode_sb(_sb, _cache, _gfp) kmem_cache_alloc_lru(_cache, &_sb->s_inode_lru, _gfp)
-extern void __insert_inode_hash(struct inode *, unsigned long hashval);
+extern void __insert_inode_hash(struct inode *, u64 hashval);
static inline void insert_inode_hash(struct inode *inode)
{
__insert_inode_hash(inode, inode->i_ino);
--
2.53.0
WARNING: multiple messages have this Message-ID (diff)
From: Jeff Layton via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: "Alexander Viro" <viro@zeniv.linux.org.uk>,
"Christian Brauner" <brauner@kernel.org>,
"Jan Kara" <jack@suse.cz>, "Steven Rostedt" <rostedt@goodmis.org>,
"Masami Hiramatsu" <mhiramat@kernel.org>,
"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
"Dan Williams" <dan.j.williams@intel.com>,
"Matthew Wilcox" <willy@infradead.org>,
"Eric Biggers" <ebiggers@kernel.org>,
"Theodore Y. Ts'o" <tytso@mit.edu>,
"Muchun Song" <muchun.song@linux.dev>,
"Oscar Salvador" <osalvador@suse.de>,
"David Hildenbrand" <david@kernel.org>,
"David Howells" <dhowells@redhat.com>,
"Paulo Alcantara" <pc@manguebit.org>,
"Andreas Dilger" <adilger.kernel@dilger.ca>,
"Jan Kara" <jack@suse.com>, "Jaegeuk Kim" <jaegeuk@kernel.org>,
"Chao Yu" <chao@kernel.org>,
"Trond Myklebust" <trondmy@kernel.org>,
"Anna Schumaker" <anna@kernel.org>,
"Chuck Lever" <chuck.lever@oracle.com>,
NeilBrown <neil@brown.name>,
"Olga Kornievskaia" <okorniev@redhat.com>,
"Dai Ngo" <Dai.Ngo@oracle.com>, "Tom Talpey" <tom@talpey.com>,
"Steve French" <sfrench@samba.org>,
"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
"Shyam Prasad N" <sprasad@microsoft.com>,
"Bharath SM" <bharathsm@microsoft.com>,
"Alexander Aring" <alex.aring@gmail.com>,
"Ryusuke Konishi" <konishi.ryusuke@gmail.com>,
"Viacheslav Dubeyko" <slava@dubeyko.com>,
"Eric Van Hensbergen" <ericvh@kernel.org>,
"Latchesar Ionkov" <lucho@ionkov.net>,
"Dominique Martinet" <asmadeus@codewreck.org>,
"Christian Schoenebeck" <linux_oss@crudebyte.com>,
"David Sterba" <dsterba@suse.com>,
"Marc Dionne" <marc.dionne@auristor.com>,
"Ian Kent" <raven@themaw.net>,
"Luis de Bethencourt" <luisbg@kernel.org>,
"Salah Triki" <salah.triki@gmail.com>,
"Tigran A. Aivazian" <aivazian.tigran@gmail.com>,
"Ilya Dryomov" <idryomov@gmail.com>,
"Alex Markuze" <amarkuze@redhat.com>,
"Jan Harkes" <jaharkes@cs.cmu.edu>,
coda@cs.cmu.edu, "Nicolas Pitre" <nico@fluxnic.net>,
"Tyler Hicks" <code@tyhicks.com>,
"Amir Goldstein" <amir73il@gmail.com>,
"Christoph Hellwig" <hch@infradead.org>,
"John Paul Adrian Glaubitz" <glaubitz@physik.fu-berlin.de>,
"Yangtao Li" <frank.li@vivo.com>,
"Mikulas Patocka" <mikulas@artax.karlin.mff.cuni.cz>,
"David Woodhouse" <dwmw2@infradead.org>,
"Richard Weinberger" <richard@nod.at>,
"Dave Kleikamp" <shaggy@kernel.org>,
"Konstantin Komarov" <almaz.alexandrovich@paragon-software.com>,
"Mark Fasheh" <mark@fasheh.com>,
"Joel Becker" <jlbec@evilplan.org>,
"Joseph Qi" <joseph.qi@linux.alibaba.com>,
"Mike Marshall" <hubcap@omnibond.com>,
"Martin Brandenburg" <martin@omnibond.com>,
"Miklos Szeredi" <miklos@szeredi.hu>,
"Anders Larsen" <al@alarsen.net>,
"Zhihao Cheng" <chengzhihao1@huawei.com>,
"Damien Le Moal" <dlemoal@kernel.org>,
"Naohiro Aota" <naohiro.aota@wdc.com>,
"Johannes Thumshirn" <jth@kernel.org>,
"John Johansen" <john.johansen@canonical.com>,
"Paul Moore" <paul@paul-moore.com>,
"James Morris" <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
"Mimi Zohar" <zohar@linux.ibm.com>,
"Roberto Sassu" <roberto.sassu@huawei.com>,
"Dmitry Kasatkin" <dmitry.kasatkin@gmail.com>,
"Eric Snowberg" <eric.snowberg@oracle.com>,
"Fan Wu" <wufan@kernel.org>,
"Stephen Smalley" <stephen.smalley.work@gmail.com>,
"Ondrej Mosnacek" <omosnace@redhat.com>,
"Casey Schaufler" <casey@schaufler-ca.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Eric Dumazet" <edumazet@google.com>,
"Kuniyuki Iwashima" <kuniyu@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Willem de Bruijn" <willemb@google.com>,
"David S. Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"Simon Horman" <horms@kernel.org>,
"Oleg Nesterov" <oleg@redhat.com>,
"Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Arnaldo Carvalho de Melo" <acme@kernel.org>,
"Namhyung Kim" <namhyung@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Alexander Shishkin" <alexander.shishkin@linux.intel.com>,
"Jiri Olsa" <jolsa@kernel.org>, "Ian Rogers" <irogers@google.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"James Clark" <james.clark@linaro.org>,
"Darrick J. Wong" <djwong@kernel.org>,
"Martin Schiller" <ms@dev.tdt.de>,
"Eric Paris" <eparis@redhat.com>,
"Joerg Reuter" <jreuter@yaina.de>,
"Marcel Holtmann" <marcel@holtmann.org>,
"Johan Hedberg" <johan.hedberg@gmail.com>,
"Luiz Augusto von Dentz" <luiz.dentz@gmail.com>,
"Oliver Hartkopp" <socketcan@hartkopp.net>,
"Marc Kleine-Budde" <mkl@pengutronix.de>,
"David Ahern" <dsahern@kernel.org>,
"Neal Cardwell" <ncardwell@google.com>,
"Steffen Klassert" <steffen.klassert@secunet.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Remi Denis-Courmont" <courmisch@gmail.com>,
"Marcelo Ricardo Leitner" <marcelo.leitner@gmail.com>,
"Xin Long" <lucien.xin@gmail.com>,
"Magnus Karlsson" <magnus.karlsson@intel.com>,
"Maciej Fijalkowski" <maciej.fijalkowski@intel.com>,
"Stanislav Fomichev" <sdf@fomichev.me>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Jesper Dangaard Brouer" <hawk@kernel.org>,
"John Fastabend" <john.fastabend@gmail.com>
Cc: nvdimm@lists.linux.dev, jfs-discussion@lists.sourceforge.net,
Jeff Layton <jlayton@kernel.org>,
dri-devel@lists.freedesktop.org, linux-unionfs@vger.kernel.org,
linux-mm@kvack.org, linux-sctp@vger.kernel.org,
linux-mtd@lists.infradead.org, linux-afs@lists.infradead.org,
linux-cifs@vger.kernel.org, linux-nilfs@vger.kernel.org,
linux-x25@vger.kernel.org, linux-bluetooth@vger.kernel.org,
amd-gfx@lists.freedesktop.org, codalist@coda.cs.cmu.edu,
linux-ext4@vger.kernel.org, bpf@vger.kernel.org,
devel@lists.orangefs.org, linux-trace-kernel@vger.kernel.org,
ecryptfs@vger.kernel.org, selinux@vger.kernel.org,
autofs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-media@vger.kernel.org, linux-can@vger.kernel.org,
linaro-mm-sig@lists.linaro.org, ocfs2-devel@lists.linux.dev,
linux-fscrypt@vger.kernel.org, linux-hams@vger.kernel.org,
ceph-devel@vger.kernel.org, linux-xfs@vger.kernel.org,
fsverity@lists.linux.dev, linux-nfs@vger.kernel.org,
netdev@vger.kernel.org, v9fs@lists.linux.dev,
samba-technical@lists.samba.org, linux-kernel@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-perf-users@vger.kernel.org, audit@vger.kernel.org,
linux-security-module@vger.kernel.org,
linux-fsdevel@vger.kernel.org, netfs@lists.linux.dev,
linux-integrity@vger.kernel.org, ntfs3@lists.linux.dev
Subject: [f2fs-dev] [PATCH v2 002/110] vfs: widen inode hash/lookup functions to u64
Date: Mon, 02 Mar 2026 15:23:46 -0500 [thread overview]
Message-ID: <20260302-iino-u64-v2-2-e5388800dae0@kernel.org> (raw)
In-Reply-To: <20260302-iino-u64-v2-0-e5388800dae0@kernel.org>
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.
In dump_mapping(), change the local ino variable to kino_t and use the
PRIino format macro, since this variable holds an i_ino value. In
init_special_inode(), also switch to PRIino.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
fs/inode.c | 49 ++++++++++++++++++++++++-------------------------
include/linux/fs.h | 26 +++++++++++++-------------
2 files changed, 37 insertions(+), 38 deletions(-)
diff --git a/fs/inode.c b/fs/inode.c
index cc12b68e021b2c97cc88a46ddc736334ecb8edfa..24ab9fa10baf7c885244f23bfccd731efe4a14cc 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -672,7 +672,7 @@ static inline void inode_sb_list_del(struct inode *inode)
}
}
-static unsigned long hash(struct super_block *sb, unsigned long hashval)
+static unsigned long hash(struct super_block *sb, u64 hashval)
{
unsigned long tmp;
@@ -685,12 +685,12 @@ static unsigned long hash(struct super_block *sb, unsigned long hashval)
/**
* __insert_inode_hash - hash an inode
* @inode: unhashed inode
- * @hashval: unsigned long value used to locate this object in the
+ * @hashval: u64 value used to locate this object in the
* inode_hashtable.
*
* Add an inode to the inode hash for this superblock.
*/
-void __insert_inode_hash(struct inode *inode, unsigned long hashval)
+void __insert_inode_hash(struct inode *inode, u64 hashval)
{
struct hlist_head *b = inode_hashtable + hash(inode->i_sb, hashval);
@@ -726,7 +726,7 @@ void dump_mapping(const struct address_space *mapping)
struct dentry *dentry_ptr;
struct dentry dentry;
char fname[64] = {};
- unsigned long ino;
+ kino_t ino;
/*
* If mapping is an invalid pointer, we don't want to crash
@@ -750,14 +750,14 @@ void dump_mapping(const struct address_space *mapping)
}
if (!dentry_first) {
- pr_warn("aops:%ps ino:%lx\n", a_ops, ino);
+ pr_warn("aops:%ps ino:%" PRIino "x\n", a_ops, ino);
return;
}
dentry_ptr = container_of(dentry_first, struct dentry, d_u.d_alias);
if (get_kernel_nofault(dentry, dentry_ptr) ||
!dentry.d_parent || !dentry.d_name.name) {
- pr_warn("aops:%ps ino:%lx invalid dentry:%px\n",
+ pr_warn("aops:%ps ino:%" PRIino "x invalid dentry:%px\n",
a_ops, ino, dentry_ptr);
return;
}
@@ -768,7 +768,7 @@ void dump_mapping(const struct address_space *mapping)
* Even if strncpy_from_kernel_nofault() succeeded,
* the fname could be unreliable
*/
- pr_warn("aops:%ps ino:%lx dentry name(?):\"%s\"\n",
+ pr_warn("aops:%ps ino:%" PRIino "x dentry name(?):\"%s\"\n",
a_ops, ino, fname);
}
@@ -1087,7 +1087,7 @@ static struct inode *find_inode(struct super_block *sb,
* iget_locked for details.
*/
static struct inode *find_inode_fast(struct super_block *sb,
- struct hlist_head *head, unsigned long ino,
+ struct hlist_head *head, u64 ino,
bool hash_locked, bool *isnew)
{
struct inode *inode = NULL;
@@ -1301,7 +1301,7 @@ EXPORT_SYMBOL(unlock_two_nondirectories);
* Note that both @test and @set are called with the inode_hash_lock held, so
* they can't sleep.
*/
-struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
+struct inode *inode_insert5(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1378,7 +1378,7 @@ EXPORT_SYMBOL(inode_insert5);
* Note that both @test and @set are called with the inode_hash_lock held, so
* they can't sleep.
*/
-struct inode *iget5_locked(struct super_block *sb, unsigned long hashval,
+struct inode *iget5_locked(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1408,7 +1408,7 @@ EXPORT_SYMBOL(iget5_locked);
* This is equivalent to iget5_locked, except the @test callback must
* tolerate the inode not being stable, including being mid-teardown.
*/
-struct inode *iget5_locked_rcu(struct super_block *sb, unsigned long hashval,
+struct inode *iget5_locked_rcu(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1455,7 +1455,7 @@ EXPORT_SYMBOL_GPL(iget5_locked_rcu);
* hashed, and with the I_NEW flag set. The file system gets to fill it in
* before unlocking it via unlock_new_inode().
*/
-struct inode *iget_locked(struct super_block *sb, unsigned long ino)
+struct inode *iget_locked(struct super_block *sb, u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1527,7 +1527,7 @@ EXPORT_SYMBOL(iget_locked);
*
* Returns 1 if the inode number is unique, 0 if it is not.
*/
-static int test_inode_iunique(struct super_block *sb, unsigned long ino)
+static int test_inode_iunique(struct super_block *sb, u64 ino)
{
struct hlist_head *b = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1616,7 +1616,7 @@ EXPORT_SYMBOL(igrab);
*
* Note2: @test is called with the inode_hash_lock held, so can't sleep.
*/
-struct inode *ilookup5_nowait(struct super_block *sb, unsigned long hashval,
+struct inode *ilookup5_nowait(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data, bool *isnew)
{
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
@@ -1647,7 +1647,7 @@ EXPORT_SYMBOL(ilookup5_nowait);
*
* Note: @test is called with the inode_hash_lock held, so can't sleep.
*/
-struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+struct inode *ilookup5(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct inode *inode;
@@ -1677,7 +1677,7 @@ EXPORT_SYMBOL(ilookup5);
* Search for the inode @ino in the inode cache, and if the inode is in the
* cache, the inode is returned with an incremented reference count.
*/
-struct inode *ilookup(struct super_block *sb, unsigned long ino)
+struct inode *ilookup(struct super_block *sb, u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1726,8 +1726,8 @@ EXPORT_SYMBOL(ilookup);
* very carefully implemented.
*/
struct inode *find_inode_nowait(struct super_block *sb,
- unsigned long hashval,
- int (*match)(struct inode *, unsigned long,
+ u64 hashval,
+ int (*match)(struct inode *, u64,
void *),
void *data)
{
@@ -1773,7 +1773,7 @@ EXPORT_SYMBOL(find_inode_nowait);
*
* The caller must hold the RCU read lock.
*/
-struct inode *find_inode_rcu(struct super_block *sb, unsigned long hashval,
+struct inode *find_inode_rcu(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
@@ -1812,7 +1812,7 @@ EXPORT_SYMBOL(find_inode_rcu);
* The caller must hold the RCU read lock.
*/
struct inode *find_inode_by_ino_rcu(struct super_block *sb,
- unsigned long ino)
+ u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1833,7 +1833,7 @@ EXPORT_SYMBOL(find_inode_by_ino_rcu);
int insert_inode_locked(struct inode *inode)
{
struct super_block *sb = inode->i_sb;
- ino_t ino = inode->i_ino;
+ u64 ino = inode->i_ino;
struct hlist_head *head = inode_hashtable + hash(sb, ino);
bool isnew;
@@ -1884,7 +1884,7 @@ int insert_inode_locked(struct inode *inode)
}
EXPORT_SYMBOL(insert_inode_locked);
-int insert_inode_locked4(struct inode *inode, unsigned long hashval,
+int insert_inode_locked4(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct inode *old;
@@ -2641,9 +2641,8 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev)
/* leave it no_open_fops */
break;
default:
- printk(KERN_DEBUG "init_special_inode: bogus i_mode (%o) for"
- " inode %s:%lu\n", mode, inode->i_sb->s_id,
- inode->i_ino);
+ pr_debug("init_special_inode: bogus i_mode (%o) for inode %s:%" PRIino "u\n",
+ mode, inode->i_sb->s_id, inode->i_ino);
break;
}
}
diff --git a/include/linux/fs.h b/include/linux/fs.h
index e38bc5ece1f360d679a8f30b8171292f7a65c218..d0c4789838b5852111583a3e4cced88999496e68 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2938,32 +2938,32 @@ static inline int inode_generic_drop(struct inode *inode)
extern void d_mark_dontcache(struct inode *inode);
extern struct inode *ilookup5_nowait(struct super_block *sb,
- unsigned long hashval, int (*test)(struct inode *, void *),
+ u64 hashval, int (*test)(struct inode *, void *),
void *data, bool *isnew);
-extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+extern struct inode *ilookup5(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data);
-extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
+extern struct inode *ilookup(struct super_block *sb, u64 ino);
-extern struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
+extern struct inode *inode_insert5(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *),
void *data);
-struct inode *iget5_locked(struct super_block *, unsigned long,
+struct inode *iget5_locked(struct super_block *, u64,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *);
-struct inode *iget5_locked_rcu(struct super_block *, unsigned long,
+struct inode *iget5_locked_rcu(struct super_block *, u64,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *);
-extern struct inode * iget_locked(struct super_block *, unsigned long);
+extern struct inode *iget_locked(struct super_block *, u64);
extern struct inode *find_inode_nowait(struct super_block *,
- unsigned long,
+ u64,
int (*match)(struct inode *,
- unsigned long, void *),
+ u64, void *),
void *data);
-extern struct inode *find_inode_rcu(struct super_block *, unsigned long,
+extern struct inode *find_inode_rcu(struct super_block *, u64,
int (*)(struct inode *, void *), void *);
-extern struct inode *find_inode_by_ino_rcu(struct super_block *, unsigned long);
-extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *), void *);
+extern struct inode *find_inode_by_ino_rcu(struct super_block *, u64);
+extern int insert_inode_locked4(struct inode *, u64, int (*test)(struct inode *, void *), void *);
extern int insert_inode_locked(struct inode *);
#ifdef CONFIG_DEBUG_LOCK_ALLOC
extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
@@ -3018,7 +3018,7 @@ int setattr_should_drop_sgid(struct mnt_idmap *idmap,
*/
#define alloc_inode_sb(_sb, _cache, _gfp) kmem_cache_alloc_lru(_cache, &_sb->s_inode_lru, _gfp)
-extern void __insert_inode_hash(struct inode *, unsigned long hashval);
+extern void __insert_inode_hash(struct inode *, u64 hashval);
static inline void insert_inode_hash(struct inode *inode)
{
__insert_inode_hash(inode, inode->i_ino);
--
2.53.0
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
WARNING: multiple messages have this Message-ID (diff)
From: Jeff Layton <jlayton@kernel.org>
To: "Alexander Viro" <viro@zeniv.linux.org.uk>,
"Christian Brauner" <brauner@kernel.org>,
"Jan Kara" <jack@suse.cz>, "Steven Rostedt" <rostedt@goodmis.org>,
"Masami Hiramatsu" <mhiramat@kernel.org>,
"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
"Dan Williams" <dan.j.williams@intel.com>,
"Matthew Wilcox" <willy@infradead.org>,
"Eric Biggers" <ebiggers@kernel.org>,
"Theodore Y. Ts'o" <tytso@mit.edu>,
"Muchun Song" <muchun.song@linux.dev>,
"Oscar Salvador" <osalvador@suse.de>,
"David Hildenbrand" <david@kernel.org>,
"David Howells" <dhowells@redhat.com>,
"Paulo Alcantara" <pc@manguebit.org>,
"Andreas Dilger" <adilger.kernel@dilger.ca>,
"Jan Kara" <jack@suse.com>, "Jaegeuk Kim" <jaegeuk@kernel.org>,
"Chao Yu" <chao@kernel.org>,
"Trond Myklebust" <trondmy@kernel.org>,
"Anna Schumaker" <anna@kernel.org>,
"Chuck Lever" <chuck.lever@oracle.com>,
NeilBrown <neil@brown.name>,
"Olga Kornievskaia" <okorniev@redhat.com>,
"Dai Ngo" <Dai.Ngo@oracle.com>, "Tom Talpey" <tom@talpey.com>,
"Steve French" <sfrench@samba.org>,
"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
"Shyam Prasad N" <sprasad@microsoft.com>,
"Bharath SM" <bharathsm@microsoft.com>,
"Alexander Aring" <alex.aring@gmail.com>,
"Ryusuke Konishi" <konishi.ryusuke@gmail.com>,
"Viacheslav Dubeyko" <slava@dubeyko.com>,
"Eric Van Hensbergen" <ericvh@kernel.org>,
"Latchesar Ionkov" <lucho@ionkov.net>,
"Dominique Martinet" <asmadeus@codewreck.org>,
"Christian Schoenebeck" <linux_oss@crudebyte.com>,
"David Sterba" <dsterba@suse.com>,
"Marc Dionne" <marc.dionne@auristor.com>,
"Ian Kent" <raven@themaw.net>,
"Luis de Bethencourt" <luisbg@kernel.org>,
"Salah Triki" <salah.triki@gmail.com>,
"Tigran A. Aivazian" <aivazian.tigran@gmail.com>,
"Ilya Dryomov" <idryomov@gmail.com>,
"Alex Markuze" <amarkuze@redhat.com>,
"Jan Harkes" <jaharkes@cs.cmu.edu>,
coda@cs.cmu.edu, "Nicolas Pitre" <nico@fluxnic.net>,
"Tyler Hicks" <code@tyhicks.com>,
"Amir Goldstein" <amir73il@gmail.com>,
"Christoph Hellwig" <hch@infradead.org>,
"John Paul Adrian Glaubitz" <glaubitz@physik.fu-berlin.de>,
"Yangtao Li" <frank.li@vivo.com>,
"Mikulas Patocka" <mikulas@artax.karlin.mff.cuni.cz>,
"David Woodhouse" <dwmw2@infradead.org>,
"Richard Weinberger" <richard@nod.at>,
"Dave Kleikamp" <shaggy@kernel.org>,
"Konstantin Komarov" <almaz.alexandrovich@paragon-software.com>,
"Mark Fasheh" <mark@fasheh.com>,
"Joel Becker" <jlbec@evilplan.org>,
"Joseph Qi" <joseph.qi@linux.alibaba.com>,
"Mike Marshall" <hubcap@omnibond.com>,
"Martin Brandenburg" <martin@omnibond.com>,
"Miklos Szeredi" <miklos@szeredi.hu>,
"Anders Larsen" <al@alarsen.net>,
"Zhihao Cheng" <chengzhihao1@huawei.com>,
"Damien Le Moal" <dlemoal@kernel.org>,
"Naohiro Aota" <naohiro.aota@wdc.com>,
"Johannes Thumshirn" <jth@kernel.org>,
"John Johansen" <john.johansen@canonical.com>,
"Paul Moore" <paul@paul-moore.com>,
"James Morris" <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
"Mimi Zohar" <zohar@linux.ibm.com>,
"Roberto Sassu" <roberto.sassu@huawei.com>,
"Dmitry Kasatkin" <dmitry.kasatkin@gmail.com>,
"Eric Snowberg" <eric.snowberg@oracle.com>,
"Fan Wu" <wufan@kernel.org>,
"Stephen Smalley" <stephen.smalley.work@gmail.com>,
"Ondrej Mosnacek" <omosnace@redhat.com>,
"Casey Schaufler" <casey@schaufler-ca.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Eric Dumazet" <edumazet@google.com>,
"Kuniyuki Iwashima" <kuniyu@google.com>,
"Paolo Abeni" <pabeni@redhat.com>,
"Willem de Bruijn" <willemb@google.com>,
"David S. Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"Simon Horman" <horms@kernel.org>,
"Oleg Nesterov" <oleg@redhat.com>,
"Peter Zijlstra" <peterz@infradead.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Arnaldo Carvalho de Melo" <acme@kernel.org>,
"Namhyung Kim" <namhyung@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Alexander Shishkin" <alexander.shishkin@linux.intel.com>,
"Jiri Olsa" <jolsa@kernel.org>, "Ian Rogers" <irogers@google.com>,
"Adrian Hunter" <adrian.hunter@intel.com>,
"James Clark" <james.clark@linaro.org>,
"Darrick J. Wong" <djwong@kernel.org>,
"Martin Schiller" <ms@dev.tdt.de>,
"Eric Paris" <eparis@redhat.com>,
"Joerg Reuter" <jreuter@yaina.de>,
"Marcel Holtmann" <marcel@holtmann.org>,
"Johan Hedberg" <johan.hedberg@gmail.com>,
"Luiz Augusto von Dentz" <luiz.dentz@gmail.com>,
"Oliver Hartkopp" <socketcan@hartkopp.net>,
"Marc Kleine-Budde" <mkl@pengutronix.de>,
"David Ahern" <dsahern@kernel.org>,
"Neal Cardwell" <ncardwell@google.com>,
"Steffen Klassert" <steffen.klassert@secunet.com>,
"Herbert Xu" <herbert@gondor.apana.org.au>,
"Remi Denis-Courmont" <courmisch@gmail.com>,
"Marcelo Ricardo Leitner" <marcelo.leitner@gmail.com>,
"Xin Long" <lucien.xin@gmail.com>,
"Magnus Karlsson" <magnus.karlsson@intel.com>,
"Maciej Fijalkowski" <maciej.fijalkowski@intel.com>,
"Stanislav Fomichev" <sdf@fomichev.me>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Jesper Dangaard Brouer" <hawk@kernel.org>,
"John Fastabend" <john.fastabend@gmail.com>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-trace-kernel@vger.kernel.org, nvdimm@lists.linux.dev,
fsverity@lists.linux.dev, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-ext4@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org,
samba-technical@lists.samba.org, linux-nilfs@vger.kernel.org,
v9fs@lists.linux.dev, linux-afs@lists.infradead.org,
autofs@vger.kernel.org, ceph-devel@vger.kernel.org,
codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org,
linux-mtd@lists.infradead.org,
jfs-discussion@lists.sourceforge.net, ntfs3@lists.linux.dev,
ocfs2-devel@lists.linux.dev, devel@lists.orangefs.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-security-module@vger.kernel.org,
linux-integrity@vger.kernel.org, selinux@vger.kernel.org,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
netdev@vger.kernel.org, linux-perf-users@vger.kernel.org,
linux-fscrypt@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-hams@vger.kernel.org, linux-x25@vger.kernel.org,
audit@vger.kernel.org, linux-bluetooth@vger.kernel.org,
linux-can@vger.kernel.org, linux-sctp@vger.kernel.org,
bpf@vger.kernel.org, Jeff Layton <jlayton@kernel.org>
Subject: [PATCH v2 002/110] vfs: widen inode hash/lookup functions to u64
Date: Mon, 02 Mar 2026 15:23:46 -0500 [thread overview]
Message-ID: <20260302-iino-u64-v2-2-e5388800dae0@kernel.org> (raw)
In-Reply-To: <20260302-iino-u64-v2-0-e5388800dae0@kernel.org>
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.
In dump_mapping(), change the local ino variable to kino_t and use the
PRIino format macro, since this variable holds an i_ino value. In
init_special_inode(), also switch to PRIino.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
fs/inode.c | 49 ++++++++++++++++++++++++-------------------------
include/linux/fs.h | 26 +++++++++++++-------------
2 files changed, 37 insertions(+), 38 deletions(-)
diff --git a/fs/inode.c b/fs/inode.c
index cc12b68e021b2c97cc88a46ddc736334ecb8edfa..24ab9fa10baf7c885244f23bfccd731efe4a14cc 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -672,7 +672,7 @@ static inline void inode_sb_list_del(struct inode *inode)
}
}
-static unsigned long hash(struct super_block *sb, unsigned long hashval)
+static unsigned long hash(struct super_block *sb, u64 hashval)
{
unsigned long tmp;
@@ -685,12 +685,12 @@ static unsigned long hash(struct super_block *sb, unsigned long hashval)
/**
* __insert_inode_hash - hash an inode
* @inode: unhashed inode
- * @hashval: unsigned long value used to locate this object in the
+ * @hashval: u64 value used to locate this object in the
* inode_hashtable.
*
* Add an inode to the inode hash for this superblock.
*/
-void __insert_inode_hash(struct inode *inode, unsigned long hashval)
+void __insert_inode_hash(struct inode *inode, u64 hashval)
{
struct hlist_head *b = inode_hashtable + hash(inode->i_sb, hashval);
@@ -726,7 +726,7 @@ void dump_mapping(const struct address_space *mapping)
struct dentry *dentry_ptr;
struct dentry dentry;
char fname[64] = {};
- unsigned long ino;
+ kino_t ino;
/*
* If mapping is an invalid pointer, we don't want to crash
@@ -750,14 +750,14 @@ void dump_mapping(const struct address_space *mapping)
}
if (!dentry_first) {
- pr_warn("aops:%ps ino:%lx\n", a_ops, ino);
+ pr_warn("aops:%ps ino:%" PRIino "x\n", a_ops, ino);
return;
}
dentry_ptr = container_of(dentry_first, struct dentry, d_u.d_alias);
if (get_kernel_nofault(dentry, dentry_ptr) ||
!dentry.d_parent || !dentry.d_name.name) {
- pr_warn("aops:%ps ino:%lx invalid dentry:%px\n",
+ pr_warn("aops:%ps ino:%" PRIino "x invalid dentry:%px\n",
a_ops, ino, dentry_ptr);
return;
}
@@ -768,7 +768,7 @@ void dump_mapping(const struct address_space *mapping)
* Even if strncpy_from_kernel_nofault() succeeded,
* the fname could be unreliable
*/
- pr_warn("aops:%ps ino:%lx dentry name(?):\"%s\"\n",
+ pr_warn("aops:%ps ino:%" PRIino "x dentry name(?):\"%s\"\n",
a_ops, ino, fname);
}
@@ -1087,7 +1087,7 @@ static struct inode *find_inode(struct super_block *sb,
* iget_locked for details.
*/
static struct inode *find_inode_fast(struct super_block *sb,
- struct hlist_head *head, unsigned long ino,
+ struct hlist_head *head, u64 ino,
bool hash_locked, bool *isnew)
{
struct inode *inode = NULL;
@@ -1301,7 +1301,7 @@ EXPORT_SYMBOL(unlock_two_nondirectories);
* Note that both @test and @set are called with the inode_hash_lock held, so
* they can't sleep.
*/
-struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
+struct inode *inode_insert5(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1378,7 +1378,7 @@ EXPORT_SYMBOL(inode_insert5);
* Note that both @test and @set are called with the inode_hash_lock held, so
* they can't sleep.
*/
-struct inode *iget5_locked(struct super_block *sb, unsigned long hashval,
+struct inode *iget5_locked(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1408,7 +1408,7 @@ EXPORT_SYMBOL(iget5_locked);
* This is equivalent to iget5_locked, except the @test callback must
* tolerate the inode not being stable, including being mid-teardown.
*/
-struct inode *iget5_locked_rcu(struct super_block *sb, unsigned long hashval,
+struct inode *iget5_locked_rcu(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *data)
{
@@ -1455,7 +1455,7 @@ EXPORT_SYMBOL_GPL(iget5_locked_rcu);
* hashed, and with the I_NEW flag set. The file system gets to fill it in
* before unlocking it via unlock_new_inode().
*/
-struct inode *iget_locked(struct super_block *sb, unsigned long ino)
+struct inode *iget_locked(struct super_block *sb, u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1527,7 +1527,7 @@ EXPORT_SYMBOL(iget_locked);
*
* Returns 1 if the inode number is unique, 0 if it is not.
*/
-static int test_inode_iunique(struct super_block *sb, unsigned long ino)
+static int test_inode_iunique(struct super_block *sb, u64 ino)
{
struct hlist_head *b = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1616,7 +1616,7 @@ EXPORT_SYMBOL(igrab);
*
* Note2: @test is called with the inode_hash_lock held, so can't sleep.
*/
-struct inode *ilookup5_nowait(struct super_block *sb, unsigned long hashval,
+struct inode *ilookup5_nowait(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data, bool *isnew)
{
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
@@ -1647,7 +1647,7 @@ EXPORT_SYMBOL(ilookup5_nowait);
*
* Note: @test is called with the inode_hash_lock held, so can't sleep.
*/
-struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+struct inode *ilookup5(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct inode *inode;
@@ -1677,7 +1677,7 @@ EXPORT_SYMBOL(ilookup5);
* Search for the inode @ino in the inode cache, and if the inode is in the
* cache, the inode is returned with an incremented reference count.
*/
-struct inode *ilookup(struct super_block *sb, unsigned long ino)
+struct inode *ilookup(struct super_block *sb, u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1726,8 +1726,8 @@ EXPORT_SYMBOL(ilookup);
* very carefully implemented.
*/
struct inode *find_inode_nowait(struct super_block *sb,
- unsigned long hashval,
- int (*match)(struct inode *, unsigned long,
+ u64 hashval,
+ int (*match)(struct inode *, u64,
void *),
void *data)
{
@@ -1773,7 +1773,7 @@ EXPORT_SYMBOL(find_inode_nowait);
*
* The caller must hold the RCU read lock.
*/
-struct inode *find_inode_rcu(struct super_block *sb, unsigned long hashval,
+struct inode *find_inode_rcu(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct hlist_head *head = inode_hashtable + hash(sb, hashval);
@@ -1812,7 +1812,7 @@ EXPORT_SYMBOL(find_inode_rcu);
* The caller must hold the RCU read lock.
*/
struct inode *find_inode_by_ino_rcu(struct super_block *sb,
- unsigned long ino)
+ u64 ino)
{
struct hlist_head *head = inode_hashtable + hash(sb, ino);
struct inode *inode;
@@ -1833,7 +1833,7 @@ EXPORT_SYMBOL(find_inode_by_ino_rcu);
int insert_inode_locked(struct inode *inode)
{
struct super_block *sb = inode->i_sb;
- ino_t ino = inode->i_ino;
+ u64 ino = inode->i_ino;
struct hlist_head *head = inode_hashtable + hash(sb, ino);
bool isnew;
@@ -1884,7 +1884,7 @@ int insert_inode_locked(struct inode *inode)
}
EXPORT_SYMBOL(insert_inode_locked);
-int insert_inode_locked4(struct inode *inode, unsigned long hashval,
+int insert_inode_locked4(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *), void *data)
{
struct inode *old;
@@ -2641,9 +2641,8 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev)
/* leave it no_open_fops */
break;
default:
- printk(KERN_DEBUG "init_special_inode: bogus i_mode (%o) for"
- " inode %s:%lu\n", mode, inode->i_sb->s_id,
- inode->i_ino);
+ pr_debug("init_special_inode: bogus i_mode (%o) for inode %s:%" PRIino "u\n",
+ mode, inode->i_sb->s_id, inode->i_ino);
break;
}
}
diff --git a/include/linux/fs.h b/include/linux/fs.h
index e38bc5ece1f360d679a8f30b8171292f7a65c218..d0c4789838b5852111583a3e4cced88999496e68 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2938,32 +2938,32 @@ static inline int inode_generic_drop(struct inode *inode)
extern void d_mark_dontcache(struct inode *inode);
extern struct inode *ilookup5_nowait(struct super_block *sb,
- unsigned long hashval, int (*test)(struct inode *, void *),
+ u64 hashval, int (*test)(struct inode *, void *),
void *data, bool *isnew);
-extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval,
+extern struct inode *ilookup5(struct super_block *sb, u64 hashval,
int (*test)(struct inode *, void *), void *data);
-extern struct inode *ilookup(struct super_block *sb, unsigned long ino);
+extern struct inode *ilookup(struct super_block *sb, u64 ino);
-extern struct inode *inode_insert5(struct inode *inode, unsigned long hashval,
+extern struct inode *inode_insert5(struct inode *inode, u64 hashval,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *),
void *data);
-struct inode *iget5_locked(struct super_block *, unsigned long,
+struct inode *iget5_locked(struct super_block *, u64,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *);
-struct inode *iget5_locked_rcu(struct super_block *, unsigned long,
+struct inode *iget5_locked_rcu(struct super_block *, u64,
int (*test)(struct inode *, void *),
int (*set)(struct inode *, void *), void *);
-extern struct inode * iget_locked(struct super_block *, unsigned long);
+extern struct inode *iget_locked(struct super_block *, u64);
extern struct inode *find_inode_nowait(struct super_block *,
- unsigned long,
+ u64,
int (*match)(struct inode *,
- unsigned long, void *),
+ u64, void *),
void *data);
-extern struct inode *find_inode_rcu(struct super_block *, unsigned long,
+extern struct inode *find_inode_rcu(struct super_block *, u64,
int (*)(struct inode *, void *), void *);
-extern struct inode *find_inode_by_ino_rcu(struct super_block *, unsigned long);
-extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *), void *);
+extern struct inode *find_inode_by_ino_rcu(struct super_block *, u64);
+extern int insert_inode_locked4(struct inode *, u64, int (*test)(struct inode *, void *), void *);
extern int insert_inode_locked(struct inode *);
#ifdef CONFIG_DEBUG_LOCK_ALLOC
extern void lockdep_annotate_inode_mutex_key(struct inode *inode);
@@ -3018,7 +3018,7 @@ int setattr_should_drop_sgid(struct mnt_idmap *idmap,
*/
#define alloc_inode_sb(_sb, _cache, _gfp) kmem_cache_alloc_lru(_cache, &_sb->s_inode_lru, _gfp)
-extern void __insert_inode_hash(struct inode *, unsigned long hashval);
+extern void __insert_inode_hash(struct inode *, u64 hashval);
static inline void insert_inode_hash(struct inode *inode)
{
__insert_inode_hash(inode, inode->i_ino);
--
2.53.0
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2026-03-02 20:25 UTC|newest]
Thread overview: 531+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-02 20:23 [PATCH v2 000/110] vfs: change inode->i_ino from unsigned long to u64 Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 1:25 ` Theodore Tso
2026-03-03 1:25 ` Theodore Tso
2026-03-03 1:25 ` [f2fs-dev] " Theodore Tso
2026-03-03 4:25 ` Darrick J. Wong
2026-03-03 4:25 ` Darrick J. Wong
2026-03-03 4:25 ` [f2fs-dev] " Darrick J. Wong via Linux-f2fs-devel
2026-03-03 10:53 ` Jeff Layton
2026-03-03 10:53 ` Jeff Layton
2026-03-03 10:53 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 13:37 ` Christoph Hellwig
2026-03-03 13:37 ` Christoph Hellwig
2026-03-03 13:37 ` [f2fs-dev] " Christoph Hellwig
2026-03-03 13:43 ` Jeff Layton
2026-03-03 13:43 ` Jeff Layton
2026-03-03 13:43 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 13:59 ` Christoph Hellwig
2026-03-03 13:59 ` Christoph Hellwig
2026-03-03 13:59 ` [f2fs-dev] " Christoph Hellwig
2026-03-03 14:19 ` Jeff Layton
2026-03-03 14:19 ` Jeff Layton
2026-03-03 14:19 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 14:30 ` Christoph Hellwig
2026-03-03 14:30 ` Christoph Hellwig
2026-03-03 14:30 ` [f2fs-dev] " Christoph Hellwig
2026-03-03 15:14 ` Jeff Layton
2026-03-03 15:14 ` Jeff Layton
2026-03-03 15:14 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 15:23 ` Christoph Hellwig
2026-03-03 15:23 ` Christoph Hellwig
2026-03-03 15:23 ` [f2fs-dev] " Christoph Hellwig
2026-03-04 14:10 ` Christian Brauner
2026-03-04 14:10 ` Christian Brauner
2026-03-04 14:10 ` [f2fs-dev] " Christian Brauner via Linux-f2fs-devel
2026-03-03 17:18 ` Matthew Wilcox
2026-03-03 17:18 ` Matthew Wilcox
2026-03-03 17:18 ` [f2fs-dev] " Matthew Wilcox
2026-03-03 15:16 ` Theodore Tso
2026-03-03 15:16 ` Theodore Tso
2026-03-03 15:16 ` [f2fs-dev] " Theodore Tso
2026-03-03 15:25 ` Jeff Layton
2026-03-03 15:25 ` Jeff Layton
2026-03-03 15:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 13:36 ` Christoph Hellwig
2026-03-03 13:36 ` Christoph Hellwig
2026-03-03 13:36 ` [f2fs-dev] " Christoph Hellwig
2026-03-03 10:52 ` Jeff Layton
2026-03-03 10:52 ` Jeff Layton
2026-03-03 10:52 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:00 ` Jan Kara
2026-03-03 11:00 ` Jan Kara
2026-03-03 11:00 ` [f2fs-dev] " Jan Kara
2026-03-02 20:23 ` Jeff Layton [this message]
2026-03-02 20:23 ` [PATCH v2 002/110] vfs: widen inode hash/lookup functions to u64 Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 10:59 ` Jan Kara
2026-03-03 10:59 ` Jan Kara
2026-03-03 10:59 ` [f2fs-dev] " Jan Kara
2026-03-02 20:23 ` [PATCH v2 003/110] audit: widen ino fields " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 23:44 ` Paul Moore
2026-03-02 23:44 ` Paul Moore
2026-03-02 23:44 ` [f2fs-dev] " Paul Moore
2026-03-03 11:04 ` Jeff Layton
2026-03-03 11:04 ` Jeff Layton
2026-03-03 11:04 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 16:03 ` Paul Moore
2026-03-03 16:03 ` Paul Moore
2026-03-03 16:03 ` [f2fs-dev] " Paul Moore
2026-03-03 16:12 ` Jeff Layton
2026-03-03 16:12 ` Jeff Layton
2026-03-03 16:12 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 16:17 ` Paul Moore
2026-03-03 16:17 ` Paul Moore
2026-03-03 16:17 ` [f2fs-dev] " Paul Moore
2026-03-02 20:23 ` [PATCH v2 004/110] net: change sock.sk_ino and sock_i_ino() " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 10:03 ` Marc Kleine-Budde
2026-03-03 10:03 ` Marc Kleine-Budde
2026-03-02 20:23 ` [PATCH v2 005/110] trace: store i_ino as u64 instead of ino_t/unsigned long Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 006/110] trace: reorder TP_STRUCT__entry fields for better packing on 32-bit Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 007/110] ext4: use PRIino format for i_ino Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:20 ` Jan Kara
2026-03-03 11:20 ` Jan Kara
2026-03-03 11:20 ` [f2fs-dev] " Jan Kara
2026-03-03 11:41 ` Jeff Layton
2026-03-03 11:41 ` Jeff Layton
2026-03-03 11:41 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 008/110] jbd2: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:21 ` Jan Kara
2026-03-03 11:21 ` Jan Kara
2026-03-03 11:21 ` [f2fs-dev] " Jan Kara
2026-03-02 20:23 ` [PATCH v2 009/110] f2fs: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 010/110] lockd: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 011/110] nfs: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 012/110] nfsd: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 013/110] locks: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:23 ` [PATCH v2 014/110] proc: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:22 ` Jan Kara
2026-03-03 11:22 ` Jan Kara
2026-03-03 11:22 ` [f2fs-dev] " Jan Kara
2026-03-02 20:23 ` [PATCH v2 015/110] nilfs2: " Jeff Layton
2026-03-02 20:23 ` Jeff Layton
2026-03-02 20:23 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:34 ` Viacheslav Dubeyko
2026-03-02 22:34 ` Viacheslav Dubeyko
2026-03-02 22:34 ` [f2fs-dev] " Viacheslav Dubeyko via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 016/110] 9p: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:52 ` Christian Schoenebeck
2026-03-03 11:52 ` Christian Schoenebeck
2026-03-03 11:52 ` [f2fs-dev] " Christian Schoenebeck via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 017/110] affs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 018/110] afs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 019/110] autofs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 020/110] befs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 021/110] bfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 022/110] cachefiles: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 023/110] ceph: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:24 ` Viacheslav Dubeyko
2026-03-02 22:24 ` Viacheslav Dubeyko
2026-03-02 22:24 ` [f2fs-dev] " Viacheslav Dubeyko via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 024/110] coda: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 025/110] cramfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 026/110] ecryptfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 027/110] efs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 028/110] exportfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 029/110] ext2: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:24 ` Jan Kara
2026-03-03 11:24 ` Jan Kara
2026-03-03 11:24 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 030/110] freevxfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 031/110] hfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:26 ` Viacheslav Dubeyko
2026-03-02 22:26 ` Viacheslav Dubeyko
2026-03-02 22:26 ` [f2fs-dev] " Viacheslav Dubeyko via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 032/110] hfsplus: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:36 ` Viacheslav Dubeyko
2026-03-02 22:36 ` Viacheslav Dubeyko
2026-03-02 22:36 ` [f2fs-dev] " Viacheslav Dubeyko via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 033/110] hpfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 034/110] isofs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:24 ` Jan Kara
2026-03-03 11:24 ` Jan Kara
2026-03-03 11:24 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 035/110] jffs2: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 036/110] jfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:54 ` Dave Kleikamp
2026-03-02 20:24 ` [PATCH v2 037/110] minix: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:25 ` Jan Kara
2026-03-03 11:25 ` Jan Kara
2026-03-03 11:25 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 038/110] nsfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 039/110] ntfs3: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 040/110] ocfs2: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:26 ` Jan Kara
2026-03-03 11:26 ` Jan Kara
2026-03-03 11:26 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 041/110] orangefs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 042/110] overlayfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 043/110] qnx4: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 044/110] qnx6: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 045/110] ubifs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 046/110] udf: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:27 ` Jan Kara
2026-03-03 11:27 ` Jan Kara
2026-03-03 11:27 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 047/110] ufs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 048/110] zonefs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:57 ` Damien Le Moal
2026-03-02 22:57 ` Damien Le Moal
2026-03-02 22:57 ` [f2fs-dev] " Damien Le Moal via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 049/110] security: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 2:28 ` Paul Moore
2026-03-03 2:28 ` Paul Moore
2026-03-03 2:28 ` [f2fs-dev] " Paul Moore
2026-03-02 20:24 ` [PATCH v2 050/110] drm/amdgpu: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 051/110] fsnotify: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:27 ` Jan Kara
2026-03-03 11:27 ` Jan Kara
2026-03-03 11:27 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 052/110] net: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 053/110] uprobes: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-04 1:12 ` Masami Hiramatsu
2026-03-04 1:12 ` Masami Hiramatsu
2026-03-04 1:12 ` [f2fs-dev] " Masami Hiramatsu (Google) via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 054/110] dma-buf: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 055/110] fscrypt: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 056/110] fsverity: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 057/110] iomap: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 058/110] net: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 059/110] vfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:28 ` Jan Kara
2026-03-03 11:28 ` Jan Kara
2026-03-03 11:28 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 060/110] vfs: change kino_t from unsigned long to u64 Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:29 ` Jan Kara
2026-03-03 11:29 ` Jan Kara
2026-03-03 11:29 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 061/110] ext4: replace PRIino with %llu/%llx format strings Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:31 ` Jan Kara
2026-03-03 11:31 ` Jan Kara
2026-03-03 11:31 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 062/110] jbd2: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:32 ` Jan Kara
2026-03-03 11:32 ` Jan Kara
2026-03-03 11:32 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 063/110] f2fs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 064/110] lockd: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 065/110] nfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 066/110] nfsd: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 067/110] proc: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:32 ` Jan Kara
2026-03-03 11:32 ` Jan Kara
2026-03-03 11:32 ` [f2fs-dev] " Jan Kara
2026-03-02 20:24 ` [PATCH v2 068/110] nilfs2: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:38 ` Viacheslav Dubeyko
2026-03-02 22:38 ` Viacheslav Dubeyko
2026-03-02 22:38 ` [f2fs-dev] " Viacheslav Dubeyko via Linux-f2fs-devel
2026-03-02 22:38 ` Viacheslav Dubeyko
2026-03-02 20:24 ` [PATCH v2 069/110] 9p: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 12:12 ` Christian Schoenebeck
2026-03-03 12:12 ` Christian Schoenebeck
2026-03-03 12:12 ` [f2fs-dev] " Christian Schoenebeck via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 070/110] affs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 071/110] afs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 072/110] autofs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 073/110] befs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 074/110] bfs: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:24 ` [PATCH v2 075/110] cachefiles: " Jeff Layton
2026-03-02 20:24 ` Jeff Layton
2026-03-02 20:24 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 076/110] ceph: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:39 ` Viacheslav Dubeyko
2026-03-02 22:39 ` Viacheslav Dubeyko
2026-03-02 22:39 ` [f2fs-dev] " Viacheslav Dubeyko via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 077/110] coda: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 078/110] cramfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 079/110] ecryptfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 080/110] efs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 081/110] exportfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 082/110] ext2: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:33 ` Jan Kara
2026-03-03 11:33 ` Jan Kara
2026-03-03 11:33 ` [f2fs-dev] " Jan Kara
2026-03-02 20:25 ` [PATCH v2 083/110] freevxfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 084/110] hfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:40 ` Viacheslav Dubeyko
2026-03-02 22:40 ` Viacheslav Dubeyko
2026-03-02 22:40 ` [f2fs-dev] " Viacheslav Dubeyko via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 085/110] hfsplus: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 086/110] hpfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 087/110] isofs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:33 ` Jan Kara
2026-03-03 11:33 ` Jan Kara
2026-03-03 11:33 ` [f2fs-dev] " Jan Kara
2026-03-02 20:25 ` [PATCH v2 088/110] jffs2: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 089/110] jfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 090/110] minix: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:35 ` Jan Kara
2026-03-03 11:35 ` Jan Kara
2026-03-03 11:35 ` [f2fs-dev] " Jan Kara
2026-03-02 20:25 ` [PATCH v2 091/110] ntfs3: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 092/110] ocfs2: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:34 ` Jan Kara
2026-03-03 11:34 ` Jan Kara
2026-03-03 11:34 ` [f2fs-dev] " Jan Kara
2026-03-02 20:25 ` [PATCH v2 093/110] orangefs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 094/110] overlayfs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 095/110] qnx4: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 096/110] qnx6: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 097/110] ubifs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 098/110] udf: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:36 ` Jan Kara
2026-03-03 11:36 ` Jan Kara
2026-03-03 11:36 ` [f2fs-dev] " Jan Kara
2026-03-02 20:25 ` [PATCH v2 099/110] ufs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 100/110] zonefs: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 22:58 ` Damien Le Moal
2026-03-02 22:58 ` Damien Le Moal
2026-03-02 22:58 ` [f2fs-dev] " Damien Le Moal via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 101/110] fscrypt: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 102/110] fsverity: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 103/110] iomap: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 104/110] fsnotify: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:36 ` Jan Kara
2026-03-03 11:36 ` Jan Kara
2026-03-03 11:36 ` [f2fs-dev] " Jan Kara
2026-03-02 20:25 ` [PATCH v2 105/110] security: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 2:30 ` Paul Moore
2026-03-03 2:30 ` Paul Moore
2026-03-03 2:30 ` [f2fs-dev] " Paul Moore
2026-03-03 18:06 ` Casey Schaufler
2026-03-03 18:06 ` Casey Schaufler
2026-03-03 18:06 ` [f2fs-dev] " Casey Schaufler
2026-03-02 20:25 ` [PATCH v2 106/110] drm/amdgpu: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 107/110] dma-buf: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 108/110] net: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 109/110] uprobes: " Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-02 20:25 ` [PATCH v2 110/110] vfs: remove kino_t typedef and PRIino format macro Jeff Layton
2026-03-02 20:25 ` Jeff Layton
2026-03-02 20:25 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-03 11:37 ` Jan Kara
2026-03-03 11:37 ` Jan Kara
2026-03-03 11:37 ` [f2fs-dev] " Jan Kara
2026-03-03 10:48 ` [PATCH v2 000/110] vfs: change inode->i_ino from unsigned long to u64 David Howells
2026-03-03 10:48 ` [f2fs-dev] " David Howells via Linux-f2fs-devel
2026-03-03 10:55 ` David Howells
2026-03-03 10:55 ` David Howells
2026-03-03 10:55 ` [f2fs-dev] " David Howells via Linux-f2fs-devel
2026-03-03 10:58 ` Jeff Layton
2026-03-03 10:58 ` Jeff Layton
2026-03-03 10:58 ` [f2fs-dev] " Jeff Layton via Linux-f2fs-devel
2026-03-04 6:26 ` NeilBrown
2026-03-04 6:26 ` NeilBrown
2026-03-04 6:26 ` [f2fs-dev] " NeilBrown
2026-03-04 9:30 ` David Laight
2026-03-04 9:30 ` David Laight
2026-03-04 9:30 ` [f2fs-dev] " David Laight
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260302-iino-u64-v2-2-e5388800dae0@kernel.org \
--to=jlayton@kernel.org \
--cc=Dai.Ngo@oracle.com \
--cc=acme@kernel.org \
--cc=adilger.kernel@dilger.ca \
--cc=adrian.hunter@intel.com \
--cc=airlied@gmail.com \
--cc=aivazian.tigran@gmail.com \
--cc=al@alarsen.net \
--cc=alex.aring@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=almaz.alexandrovich@paragon-software.com \
--cc=amarkuze@redhat.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=amir73il@gmail.com \
--cc=anna@kernel.org \
--cc=apparmor@lists.ubuntu.com \
--cc=asmadeus@codewreck.org \
--cc=ast@kernel.org \
--cc=audit@vger.kernel.org \
--cc=autofs@vger.kernel.org \
--cc=bharathsm@microsoft.com \
--cc=bpf@vger.kernel.org \
--cc=brauner@kernel.org \
--cc=casey@schaufler-ca.com \
--cc=ceph-devel@vger.kernel.org \
--cc=chao@kernel.org \
--cc=chengzhihao1@huawei.com \
--cc=christian.koenig@amd.com \
--cc=chuck.lever@oracle.com \
--cc=coda@cs.cmu.edu \
--cc=codalist@coda.cs.cmu.edu \
--cc=code@tyhicks.com \
--cc=courmisch@gmail.com \
--cc=dan.j.williams@intel.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=david@kernel.org \
--cc=devel@lists.orangefs.org \
--cc=dhowells@redhat.com \
--cc=djwong@kernel.org \
--cc=dlemoal@kernel.org \
--cc=dmitry.kasatkin@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=dsahern@kernel.org \
--cc=dsterba@suse.com \
--cc=dwmw2@infradead.org \
--cc=ebiggers@kernel.org \
--cc=ecryptfs@vger.kernel.org \
--cc=edumazet@google.com \
--cc=eparis@redhat.com \
--cc=eric.snowberg@oracle.com \
--cc=ericvh@kernel.org \
--cc=frank.li@vivo.com \
--cc=fsverity@lists.linux.dev \
--cc=glaubitz@physik.fu-berlin.de \
--cc=hawk@kernel.org \
--cc=hch@infradead.org \
--cc=herbert@gondor.apana.org.au \
--cc=horms@kernel.org \
--cc=hubcap@omnibond.com \
--cc=idryomov@gmail.com \
--cc=irogers@google.com \
--cc=jack@suse.com \
--cc=jack@suse.cz \
--cc=jaegeuk@kernel.org \
--cc=jaharkes@cs.cmu.edu \
--cc=james.clark@linaro.org \
--cc=jfs-discussion@lists.sourceforge.net \
--cc=jlbec@evilplan.org \
--cc=jmorris@namei.org \
--cc=johan.hedberg@gmail.com \
--cc=john.fastabend@gmail.com \
--cc=john.johansen@canonical.com \
--cc=jolsa@kernel.org \
--cc=joseph.qi@linux.alibaba.com \
--cc=jreuter@yaina.de \
--cc=jth@kernel.org \
--cc=konishi.ryusuke@gmail.com \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-afs@lists.infradead.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fscrypt@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-hams@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-nilfs@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-sctp@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux-unionfs@vger.kernel.org \
--cc=linux-x25@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=linux_oss@crudebyte.com \
--cc=lucho@ionkov.net \
--cc=lucien.xin@gmail.com \
--cc=luisbg@kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=marc.dionne@auristor.com \
--cc=marcel@holtmann.org \
--cc=marcelo.leitner@gmail.com \
--cc=mark.rutland@arm.com \
--cc=mark@fasheh.com \
--cc=martin@omnibond.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=miklos@szeredi.hu \
--cc=mikulas@artax.karlin.mff.cuni.cz \
--cc=mingo@redhat.com \
--cc=mkl@pengutronix.de \
--cc=ms@dev.tdt.de \
--cc=muchun.song@linux.dev \
--cc=namhyung@kernel.org \
--cc=naohiro.aota@wdc.com \
--cc=ncardwell@google.com \
--cc=neil@brown.name \
--cc=netdev@vger.kernel.org \
--cc=netfs@lists.linux.dev \
--cc=nico@fluxnic.net \
--cc=ntfs3@lists.linux.dev \
--cc=nvdimm@lists.linux.dev \
--cc=ocfs2-devel@lists.linux.dev \
--cc=okorniev@redhat.com \
--cc=oleg@redhat.com \
--cc=omosnace@redhat.com \
--cc=osalvador@suse.de \
--cc=pabeni@redhat.com \
--cc=paul@paul-moore.com \
--cc=pc@manguebit.org \
--cc=peterz@infradead.org \
--cc=raven@themaw.net \
--cc=richard@nod.at \
--cc=roberto.sassu@huawei.com \
--cc=ronniesahlberg@gmail.com \
--cc=rostedt@goodmis.org \
--cc=salah.triki@gmail.com \
--cc=samba-technical@lists.samba.org \
--cc=sdf@fomichev.me \
--cc=selinux@vger.kernel.org \
--cc=serge@hallyn.com \
--cc=sfrench@samba.org \
--cc=shaggy@kernel.org \
--cc=simona@ffwll.ch \
--cc=slava@dubeyko.com \
--cc=socketcan@hartkopp.net \
--cc=sprasad@microsoft.com \
--cc=steffen.klassert@secunet.com \
--cc=stephen.smalley.work@gmail.com \
--cc=sumit.semwal@linaro.org \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
--cc=tytso@mit.edu \
--cc=v9fs@lists.linux.dev \
--cc=viro@zeniv.linux.org.uk \
--cc=willemb@google.com \
--cc=willy@infradead.org \
--cc=wufan@kernel.org \
--cc=zohar@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.