diff options
author | Christoph Hellwig <hch@lst.de> | 2023-12-11 17:37:30 +0100 |
---|---|---|
committer | Carlos Maiolino <cem@kernel.org> | 2023-12-18 14:57:48 +0100 |
commit | ddd9942bccaf3a52630a862fbb7e5c94a2571363 (patch) | |
tree | d4c7bfe13f9904cd2a168654a40bc23683fda5fb | |
parent | 01dcfd9e47afaa1544d3ab5427717489af0f9075 (diff) | |
download | xfsprogs-dev-ddd9942bccaf3a52630a862fbb7e5c94a2571363.tar.gz |
libxfs: pass a struct libxfs_init to libxfs_mount
Pass a libxfs_init structure to libxfs_mount instead of three separate
dev_t values.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
-rw-r--r-- | copy/xfs_copy.c | 2 | ||||
-rw-r--r-- | db/init.c | 3 | ||||
-rw-r--r-- | include/xfs_mount.h | 3 | ||||
-rw-r--r-- | libxfs/init.c | 8 | ||||
-rw-r--r-- | mkfs/xfs_mkfs.c | 5 | ||||
-rw-r--r-- | repair/xfs_repair.c | 2 |
6 files changed, 11 insertions, 12 deletions
diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c index 12ad81eb19..fbccd32a16 100644 --- a/copy/xfs_copy.c +++ b/copy/xfs_copy.c @@ -755,7 +755,7 @@ main(int argc, char **argv) } libxfs_buf_relse(sbp); - mp = libxfs_mount(&mbuf, sb, xargs.ddev, xargs.logdev, xargs.rtdev, 0); + mp = libxfs_mount(&mbuf, sb, &xargs, 0); if (mp == NULL) { do_log(_("%s: %s filesystem failed to initialize\n" "%s: Aborting.\n"), progname, source_name, progname); @@ -130,8 +130,7 @@ init( } agcount = sbp->sb_agcount; - mp = libxfs_mount(&xmount, sbp, x.ddev, x.logdev, x.rtdev, - LIBXFS_MOUNT_DEBUGGER); + mp = libxfs_mount(&xmount, sbp, &x, LIBXFS_MOUNT_DEBUGGER); if (!mp) { fprintf(stderr, _("%s: device %s unusable (not an XFS filesystem?)\n"), diff --git a/include/xfs_mount.h b/include/xfs_mount.h index 99d1d9ab13..9adc1f8986 100644 --- a/include/xfs_mount.h +++ b/include/xfs_mount.h @@ -10,6 +10,7 @@ struct xfs_inode; struct xfs_buftarg; struct xfs_da_geometry; +struct libxfs_init; typedef void (*buf_writeback_fn)(struct xfs_buf *bp); @@ -272,7 +273,7 @@ __XFS_UNSUPP_OPSTATE(shutdown) void libxfs_compute_all_maxlevels(struct xfs_mount *mp); struct xfs_mount *libxfs_mount(struct xfs_mount *mp, struct xfs_sb *sb, - dev_t dev, dev_t logdev, dev_t rtdev, unsigned int flags); + struct libxfs_init *xi, unsigned int flags); int libxfs_flush_mount(struct xfs_mount *mp); int libxfs_umount(struct xfs_mount *mp); extern void libxfs_rtmount_destroy (xfs_mount_t *); diff --git a/libxfs/init.c b/libxfs/init.c index cafd40b112..1b73978195 100644 --- a/libxfs/init.c +++ b/libxfs/init.c @@ -744,9 +744,7 @@ struct xfs_mount * libxfs_mount( struct xfs_mount *mp, struct xfs_sb *sb, - dev_t dev, - dev_t logdev, - dev_t rtdev, + struct libxfs_init *xi, unsigned int flags) { struct xfs_buf *bp; @@ -759,7 +757,7 @@ libxfs_mount( xfs_set_debugger(mp); if (flags & LIBXFS_MOUNT_REPORT_CORRUPTION) xfs_set_reporting_corruption(mp); - libxfs_buftarg_init(mp, dev, logdev, rtdev); + libxfs_buftarg_init(mp, xi->ddev, xi->logdev, xi->rtdev); mp->m_finobt_nores = true; xfs_set_inode32(mp); @@ -825,7 +823,7 @@ libxfs_mount( /* Initialize the precomputed transaction reservations values */ xfs_trans_init(mp); - if (dev == 0) /* maxtrres, we have no device so leave now */ + if (xi->ddev == 0) /* maxtrres, we have no device so leave now */ return mp; /* device size checks must pass unless we're a debugger. */ diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c index 346516e13c..5aadf0f943 100644 --- a/mkfs/xfs_mkfs.c +++ b/mkfs/xfs_mkfs.c @@ -3483,11 +3483,12 @@ calculate_log_size( int min_logblocks; /* absolute minimum */ int max_logblocks; /* absolute max for this AG */ struct xfs_mount mount; + struct libxfs_init dummy_init = { }; /* we need a temporary mount to calculate the minimum log size. */ memset(&mount, 0, sizeof(mount)); mount.m_sb = *sbp; - libxfs_mount(&mount, &mp->m_sb, 0, 0, 0, 0); + libxfs_mount(&mount, &mp->m_sb, &dummy_init, 0); min_logblocks = libxfs_log_calc_minimum_size(&mount); libxfs_umount(&mount); @@ -4320,7 +4321,7 @@ main( * mount. */ prepare_devices(&cfg, &xi, mp, sbp, force_overwrite); - mp = libxfs_mount(mp, sbp, xi.ddev, xi.logdev, xi.rtdev, 0); + mp = libxfs_mount(mp, sbp, &xi, 0); if (mp == NULL) { fprintf(stderr, _("%s: filesystem failed to initialize\n"), progname); diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c index ff29bea974..8a6cf31b4e 100644 --- a/repair/xfs_repair.c +++ b/repair/xfs_repair.c @@ -1034,7 +1034,7 @@ main(int argc, char **argv) * initialized in phase 2. */ memset(&xfs_m, 0, sizeof(xfs_mount_t)); - mp = libxfs_mount(&xfs_m, &psb, x.ddev, x.logdev, x.rtdev, 0); + mp = libxfs_mount(&xfs_m, &psb, &x, 0); if (!mp) { fprintf(stderr, |