Re: d2d4e1271b33 - main - stand: Change zfs_fmtdev to take a struct devdesc *

From: Ravi Pokala <rpokala_at_freebsd.org>
Date: Thu, 11 Aug 2022 23:47:43 UTC
-----Original Message-----
From: <owner-src-committers@freebsd.org> on behalf of Warner Losh <imp@FreeBSD.org>
Date: 2022-08-11, Thursday at 09:27
To: <src-committers@FreeBSD.org>, <dev-commits-src-all@FreeBSD.org>, <dev-commits-src-main@FreeBSD.org>
Subject: git: d2d4e1271b33 - main - stand: Change zfs_fmtdev to take a struct devdesc *

    The branch main has been updated by imp:

    URL: https://cgit.FreeBSD.org/src/commit/?id=d2d4e1271b33b233f57fd18a61a1b5c1b0aeb355

    commit d2d4e1271b33b233f57fd18a61a1b5c1b0aeb355
    Author:     Warner Losh <imp@FreeBSD.org>
    AuthorDate: 2022-08-11 15:05:15 +0000
    Commit:     Warner Losh <imp@FreeBSD.org>
    CommitDate: 2022-08-11 16:27:15 +0000

        stand: Change zfs_fmtdev to take a struct devdesc *

Yes, but why?

Also, shouldn't the other places in zfs_fmtdev() that use 'dev->dd.' be updated to use 'vdev->'?

Thanks,

Ravi (rpokala@)

        Sponsored by:           Netflix
        Differential Revision:  https://reviews.freebsd.org/D35974
    ---
     stand/i386/loader/main.c           | 2 +-
     stand/i386/zfsboot/zfsboot.c       | 2 +-
     stand/libsa/zfs/devicename_stubs.c | 2 +-
     stand/libsa/zfs/libzfs.h           | 2 +-
     stand/libsa/zfs/zfs.c              | 6 +++---
     stand/userboot/userboot/main.c     | 2 +-
     6 files changed, 8 insertions(+), 8 deletions(-)

    diff --git a/stand/i386/loader/main.c b/stand/i386/loader/main.c
    index 29c40921a85a..4d5a0a98a08e 100644
    --- a/stand/i386/loader/main.c
    +++ b/stand/i386/loader/main.c
    @@ -387,7 +387,7 @@ extract_currdev(void)

     #ifdef LOADER_ZFS_SUPPORT
     	if (new_currdev.dd.d_dev->dv_type == DEVT_ZFS)
    -		init_zfs_boot_options(zfs_fmtdev(&new_currdev));
    +		init_zfs_boot_options(zfs_fmtdev(&new_currdev.dd));
     #endif

     	env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev),
    diff --git a/stand/i386/zfsboot/zfsboot.c b/stand/i386/zfsboot/zfsboot.c
    index b68d80e802c2..52fd41688a17 100644
    --- a/stand/i386/zfsboot/zfsboot.c
    +++ b/stand/i386/zfsboot/zfsboot.c
    @@ -226,7 +226,7 @@ main(void)
     	 */
     	if (bdev != NULL && bdev->dd.d_dev->dv_type == DEVT_ZFS) {
     		/* set up proper device name string for ZFS */
    -		strncpy(boot_devname, zfs_fmtdev(bdev), sizeof (boot_devname));
    +		strncpy(boot_devname, zfs_fmtdev(&bdev->dd), sizeof (boot_devname));
     		if (zfs_get_bootonce(bdev, OS_BOOTONCE, cmd,
     		    sizeof(cmd)) == 0) {
     			nvlist_t *benv;
    diff --git a/stand/libsa/zfs/devicename_stubs.c b/stand/libsa/zfs/devicename_stubs.c
    index 41bf907e0cf1..e58bc9c40e35 100644
    --- a/stand/libsa/zfs/devicename_stubs.c
    +++ b/stand/libsa/zfs/devicename_stubs.c
    @@ -39,7 +39,7 @@ zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path)

     __attribute__((weak))
     char *
    -zfs_fmtdev(void *vdev)
    +zfs_fmtdev(struct devdesc *vdev)
     {
         static char	buf[128];

    diff --git a/stand/libsa/zfs/libzfs.h b/stand/libsa/zfs/libzfs.h
    index e8676c0d53b8..2f0dfd8afc86 100644
    --- a/stand/libsa/zfs/libzfs.h
    +++ b/stand/libsa/zfs/libzfs.h
    @@ -50,7 +50,7 @@ struct zfs_devdesc {

     int	zfs_parsedev(struct zfs_devdesc *dev, const char *devspec,
     		     const char **path);
    -char	*zfs_fmtdev(void *vdev);
    +char	*zfs_fmtdev(struct devdesc *);
     int	zfs_probe_dev(const char *devname, uint64_t *pool_guid);
     int	zfs_list(const char *name);
     int	zfs_get_bootonce(void *, const char *, char *, size_t);
    diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c
    index 71e3a49c2929..5392bcaa4fb1 100644
    --- a/stand/libsa/zfs/zfs.c
    +++ b/stand/libsa/zfs/zfs.c
    @@ -1583,7 +1583,7 @@ zfs_dev_open(struct open_file *f, ...)
     	rv = 0;
     	/* This device is not set as currdev, mount us private copy. */
     	if (mount == NULL)
    -		rv = zfs_mount(zfs_fmtdev(dev), NULL, (void **)&mount);
    +		rv = zfs_mount(zfs_fmtdev(&dev->dd), NULL, (void **)&mount);

     	if (rv == 0) {
     		f->f_devdata = mount;
    @@ -1681,7 +1681,7 @@ zfs_parsedev(struct zfs_devdesc *dev, const char *devspec, const char **path)
     }

     char *
    -zfs_fmtdev(void *vdev)
    +zfs_fmtdev(struct devdesc *vdev)
     {
     	static char		rootname[ZFS_MAXNAMELEN];
     	static char		buf[2 * ZFS_MAXNAMELEN + 8];
    @@ -1689,7 +1689,7 @@ zfs_fmtdev(void *vdev)
     	spa_t			*spa;

     	buf[0] = '\0';
    -	if (dev->dd.d_dev->dv_type != DEVT_ZFS)
    +	if (vdev->d_dev->dv_type != DEVT_ZFS)
     		return (buf);

     	/* Do we have any pools? */
    diff --git a/stand/userboot/userboot/main.c b/stand/userboot/userboot/main.c
    index 07630945cf80..d3f12ab1675e 100644
    --- a/stand/userboot/userboot/main.c
    +++ b/stand/userboot/userboot/main.c
    @@ -260,7 +260,7 @@ extract_currdev(void)
     		bzero(&zdev, sizeof(zdev));
     		zdev.dd.d_dev = &zfs_dev;

    -		init_zfs_boot_options(zfs_fmtdev(&zdev));
    +		init_zfs_boot_options(zfs_fmtdev(&zdev.dd));
     		dd = &zdev.dd;
     	} else
     #endif