Linux XFS filesystem development
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Carlos Maiolino <cmaiolino@redhat.com>
Cc: "Darrick J . Wong" <djwong@kernel.org>,
	linux-xfs@vger.kernel.org, Dave Chinner <dchinner@redhat.com>,
	Pankaj Raghav <p.raghav@samsung.com>
Subject: [PATCH 5/5] mkfs: use a sensible log sector size default
Date: Wed, 13 Mar 2024 14:40:51 -0700	[thread overview]
Message-ID: <20240313214051.1718117-6-hch@lst.de> (raw)
In-Reply-To: <20240313214051.1718117-1-hch@lst.de>

Currently the XFS log sector size defaults to the 512 bytes unless
explicitly overriden.  Default to the device logical block size queried
by get_topology instead.  If that is also 512 nothing changes, and if
the device logical block size is larger this prevents a mkfs failure
because the libxfs buffer cache blows up and as we obviously can't
use a smaller than hardware supported sector size.  This fixes xfs/157
with a 4k block size device.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Tested-by: Pankaj Raghav <p.raghav@samsung.com>
---
 mkfs/xfs_mkfs.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
index be65ccc1e..022a11a7f 100644
--- a/mkfs/xfs_mkfs.c
+++ b/mkfs/xfs_mkfs.c
@@ -2075,7 +2075,8 @@ static void
 validate_log_sectorsize(
 	struct mkfs_params	*cfg,
 	struct cli_params	*cli,
-	struct mkfs_default_params *dft)
+	struct mkfs_default_params *dft,
+	struct fs_topology	*ft)
 {
 
 	if (cli->loginternal && cli->lsectorsize &&
@@ -2090,7 +2091,7 @@ _("Can't change sector size on internal log!\n"));
 	else if (cli->loginternal)
 		cfg->lsectorsize = cfg->sectorsize;
 	else
-		cfg->lsectorsize = dft->sectorsize;
+		cfg->lsectorsize = ft->log.logical_sector_size;
 	cfg->lsectorlog = libxfs_highbit32(cfg->lsectorsize);
 
 	if (cfg->lsectorsize < XFS_MIN_SECTORSIZE ||
@@ -4196,7 +4197,7 @@ main(
 	blocksize = cfg.blocksize;
 	sectorsize = cfg.sectorsize;
 
-	validate_log_sectorsize(&cfg, &cli, &dft);
+	validate_log_sectorsize(&cfg, &cli, &dft, &ft);
 	validate_sb_features(&cfg, &cli);
 
 	/*
-- 
2.39.2


  parent reply	other threads:[~2024-03-13 21:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-13 21:40 fix log sector size detection v3 Christoph Hellwig
2024-03-13 21:40 ` [PATCH 1/5] libxfs: remove the unused fs_topology_t typedef Christoph Hellwig
2024-03-13 21:40 ` [PATCH 2/5] libxfs: refactor the fs_topology structure Christoph Hellwig
2024-03-13 21:40 ` [PATCH 3/5] libxfs: remove the S_ISREG check from blkid_get_topology Christoph Hellwig
2024-03-13 21:40 ` [PATCH 4/5] libxfs: also query log device topology in get_topology Christoph Hellwig
2024-03-13 21:40 ` Christoph Hellwig [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-04-17 21:17 [PATCHSET V3 07/11] xfsprogs: fix log sector size detection Darrick J. Wong
2024-04-17 21:42 ` [PATCH 5/5] mkfs: use a sensible log sector size default Darrick J. Wong
2024-03-26  2:56 [PATCHSET V2 05/18] xfsprogs: fix log sector size detection Darrick J. Wong
2024-03-26  3:23 ` [PATCH 5/5] mkfs: use a sensible log sector size default Darrick J. Wong
2024-03-13  1:48 [PATCHSET V2 05/10] xfsprogs: fix log sector size detection Darrick J. Wong
2024-03-13  2:12 ` [PATCH 5/5] mkfs: use a sensible log sector size default Darrick J. Wong
2024-01-17 17:33 fix log sector size detection v2 Christoph Hellwig
2024-01-17 17:33 ` [PATCH 5/5] mkfs: use a sensible log sector size default Christoph Hellwig
2024-01-29  9:25   ` Pankaj Raghav (Samsung)

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=20240313214051.1718117-6-hch@lst.de \
    --to=hch@lst.de \
    --cc=cmaiolino@redhat.com \
    --cc=dchinner@redhat.com \
    --cc=djwong@kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=p.raghav@samsung.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox