On Mon 02-03-26 15:25:34, Jeff Layton wrote: > Now that i_ino has been widened to u64, replace the kino_t typedef with > u64 and the PRIino format macro with the concrete format strings. > > Replace the remaining PRIino uses throughout the tree, and remove the > typedef and #define from include/linux/fs.h. Change the i_ino field in > struct inode from kino_t to u64. > > Signed-off-by: Jeff Layton <[email protected]>
Looks good. Feel free to add: Reviewed-by: Jan Kara <[email protected]> Honza > --- > fs/dcache.c | 4 ++-- > fs/eventpoll.c | 2 +- > fs/fserror.c | 2 +- > fs/inode.c | 10 +++++----- > fs/locks.c | 6 +++--- > fs/nsfs.c | 4 ++-- > fs/pipe.c | 2 +- > include/linux/fs.h | 5 +---- > 8 files changed, 16 insertions(+), 19 deletions(-) > > diff --git a/fs/dcache.c b/fs/dcache.c > index > 13fb3e89cba7442c9bed74c41ca18be5e43e28c9..9ceab142896f6631017067890fd1079240448e13 > 100644 > --- a/fs/dcache.c > +++ b/fs/dcache.c > @@ -1637,11 +1637,11 @@ static enum d_walk_ret umount_check(void *_data, > struct dentry *dentry) > if (dentry == _data && dentry->d_lockref.count == 1) > return D_WALK_CONTINUE; > > - WARN(1, "BUG: Dentry %p{i=%" PRIino "x,n=%pd} " > + WARN(1, "BUG: Dentry %p{i=%llx,n=%pd} " > " still in use (%d) [unmount of %s %s]\n", > dentry, > dentry->d_inode ? > - dentry->d_inode->i_ino : (kino_t)0, > + dentry->d_inode->i_ino : (u64)0, > dentry, > dentry->d_lockref.count, > dentry->d_sb->s_type->name, > diff --git a/fs/eventpoll.c b/fs/eventpoll.c > index > 90fd92425492221d13bd0cf067d47579bb407a01..4ccd4d2e31adf571f939d2e777123e40302e565f > 100644 > --- a/fs/eventpoll.c > +++ b/fs/eventpoll.c > @@ -1080,7 +1080,7 @@ static void ep_show_fdinfo(struct seq_file *m, struct > file *f) > struct inode *inode = file_inode(epi->ffd.file); > > seq_printf(m, "tfd: %8d events: %8x data: %16llx " > - " pos:%lli ino:%" PRIino "x sdev:%x\n", > + " pos:%lli ino:%llx sdev:%x\n", > epi->ffd.fd, epi->event.events, > (long long)epi->event.data, > (long long)epi->ffd.file->f_pos, > diff --git a/fs/fserror.c b/fs/fserror.c > index > b685b329b5956a639c41b25c42cfff16e6e5ab6e..1e4d11fd9562fd158a23b64ca60e9b7e01719cb8 > 100644 > --- a/fs/fserror.c > +++ b/fs/fserror.c > @@ -176,7 +176,7 @@ void fserror_report(struct super_block *sb, struct inode > *inode, > lost: > if (inode) > pr_err_ratelimited( > - "%s: lost file I/O error report for ino %" PRIino "u type %u pos 0x%llx len > 0x%llx error %d", > + "%s: lost file I/O error report for ino %llu type %u pos 0x%llx len 0x%llx > error %d", > sb->s_id, inode->i_ino, type, pos, len, error); > else > pr_err_ratelimited( > diff --git a/fs/inode.c b/fs/inode.c > index > 24ab9fa10baf7c885244f23bfccd731efe4a14cc..5ad169d51728c260aeaabb810e59eb3ec1d1ce52 > 100644 > --- a/fs/inode.c > +++ b/fs/inode.c > @@ -726,7 +726,7 @@ void dump_mapping(const struct address_space *mapping) > struct dentry *dentry_ptr; > struct dentry dentry; > char fname[64] = {}; > - kino_t ino; > + u64 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:%" PRIino "x\n", a_ops, ino); > + pr_warn("aops:%ps ino:%llx\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:%" PRIino "x invalid dentry:%px\n", > + pr_warn("aops:%ps ino:%llx 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:%" PRIino "x dentry name(?):\"%s\"\n", > + pr_warn("aops:%ps ino:%llx dentry name(?):\"%s\"\n", > a_ops, ino, fname); > } > > @@ -2641,7 +2641,7 @@ void init_special_inode(struct inode *inode, umode_t > mode, dev_t rdev) > /* leave it no_open_fops */ > break; > default: > - pr_debug("init_special_inode: bogus i_mode (%o) for inode %s:%" > PRIino "u\n", > + pr_debug("init_special_inode: bogus i_mode (%o) for inode > %s:%llu\n", > mode, inode->i_sb->s_id, inode->i_ino); > break; > } > diff --git a/fs/locks.c b/fs/locks.c > index > 9c5aa23f09b6e061dc94c81cd802bb65dd0053c1..d8b066fb42108971f6b3c7449dbc9b5f8df16b13 > 100644 > --- a/fs/locks.c > +++ b/fs/locks.c > @@ -234,7 +234,7 @@ locks_check_ctx_lists(struct inode *inode) > if (unlikely(!list_empty(&ctx->flc_flock) || > !list_empty(&ctx->flc_posix) || > !list_empty(&ctx->flc_lease))) { > - pr_warn("Leaked locks on dev=0x%x:0x%x ino=0x%" PRIino "x:\n", > + pr_warn("Leaked locks on dev=0x%x:0x%x ino=0x%llx:\n", > MAJOR(inode->i_sb->s_dev), MINOR(inode->i_sb->s_dev), > inode->i_ino); > locks_dump_ctx_list(&ctx->flc_flock, "FLOCK"); > @@ -251,7 +251,7 @@ locks_check_ctx_file_list(struct file *filp, struct > list_head *list, char *list_ > > list_for_each_entry(flc, list, flc_list) > if (flc->flc_file == filp) > - pr_warn("Leaked %s lock on dev=0x%x:0x%x ino=0x%" > PRIino "x " > + pr_warn("Leaked %s lock on dev=0x%x:0x%x ino=0x%llx " > " fl_owner=%p fl_flags=0x%x fl_type=0x%x > fl_pid=%u\n", > list_type, MAJOR(inode->i_sb->s_dev), > MINOR(inode->i_sb->s_dev), inode->i_ino, > @@ -2896,7 +2896,7 @@ static void lock_get_status(struct seq_file *f, struct > file_lock_core *flc, > (type == F_RDLCK) ? "READ" : "UNLCK"); > if (inode) { > /* userspace relies on this representation of dev_t */ > - seq_printf(f, "%d %02x:%02x:%" PRIino "u ", pid, > + seq_printf(f, "%d %02x:%02x:%llu ", pid, > MAJOR(inode->i_sb->s_dev), > MINOR(inode->i_sb->s_dev), inode->i_ino); > } else { > diff --git a/fs/nsfs.c b/fs/nsfs.c > index > 0e099ee2121f8831645c3a25d759793ef2ff9ce6..eac326b85314ac8080248347154d599c953969c7 > 100644 > --- a/fs/nsfs.c > +++ b/fs/nsfs.c > @@ -46,7 +46,7 @@ static char *ns_dname(struct dentry *dentry, char *buffer, > int buflen) > struct ns_common *ns = inode->i_private; > const struct proc_ns_operations *ns_ops = ns->ops; > > - return dynamic_dname(buffer, buflen, "%s:[%" PRIino "u]", > + return dynamic_dname(buffer, buflen, "%s:[%llu]", > ns_ops->name, inode->i_ino); > } > > @@ -394,7 +394,7 @@ static int nsfs_show_path(struct seq_file *seq, struct > dentry *dentry) > const struct ns_common *ns = inode->i_private; > const struct proc_ns_operations *ns_ops = ns->ops; > > - seq_printf(seq, "%s:[%" PRIino "u]", ns_ops->name, inode->i_ino); > + seq_printf(seq, "%s:[%llu]", ns_ops->name, inode->i_ino); > return 0; > } > > diff --git a/fs/pipe.c b/fs/pipe.c > index > 311928e8713989747605fd79f653e36d27ce8c0e..9841648c9cf3e8e569cf6ba5c792624fe92396f5 > 100644 > --- a/fs/pipe.c > +++ b/fs/pipe.c > @@ -873,7 +873,7 @@ static struct vfsmount *pipe_mnt __ro_after_init; > */ > static char *pipefs_dname(struct dentry *dentry, char *buffer, int buflen) > { > - return dynamic_dname(buffer, buflen, "pipe:[%" PRIino "u]", > + return dynamic_dname(buffer, buflen, "pipe:[%llu]", > d_inode(dentry)->i_ino); > } > > diff --git a/include/linux/fs.h b/include/linux/fs.h > index > 4193817e02e8bf94f29514ca43379af21f37ac61..097443bf12e289c347651e5f3da5b67eb6b53121 > 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -758,9 +758,6 @@ struct inode_state_flags { > enum inode_state_flags_enum __state; > }; > > -typedef u64 kino_t; > -#define PRIino "ll" > - > /* > * Keep mostly read-only and often accessed (especially for > * the RCU path lookup and 'stat' data) fields at the beginning > @@ -786,7 +783,7 @@ struct inode { > #endif > > /* Stat data, not accessed from path walking */ > - kino_t i_ino; > + u64 i_ino; > /* > * Filesystems may only read i_nlink directly. They shall use the > * following functions for modification: > > -- > 2.53.0 > -- Jan Kara <[email protected]> SUSE Labs, CR
