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

Reply via email to