From: Brian Foster <bfoster@redhat.com>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH] mkfs: inode/block size error messages confusing
Date: Wed, 6 May 2015 07:36:15 -0400 [thread overview]
Message-ID: <20150506113615.GA5021@laptop.bfoster> (raw)
In-Reply-To: <20150505224846.GI21261@dastard>
On Wed, May 06, 2015 at 08:48:46AM +1000, Dave Chinner wrote:
>
> From: Dave Chinner <dchinner@redhat.com>
>
> As reported by Brain:
>
> # ./mkfs/mkfs.xfs -f /dev/test/scratch -b size=512
> illegal inode size 512
> allowable inode size with 512 byte blocks is 256
> # ./mkfs/mkfs.xfs -f /dev/test/scratch -b size=512 -i size=256
> Minimum inode size for CRCs is 512 bytes
> Usage: mkfs.xfs
> ...
>
> Fix mkfs to catch the block size as being too small, rather than
> leaving it for inode size detection to enforce.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>
> ---
> include/xfs_types.h | 3 +++
> mkfs/xfs_mkfs.c | 6 ++++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/include/xfs_types.h b/include/xfs_types.h
> index 65c6e66..accb95d 100644
> --- a/include/xfs_types.h
> +++ b/include/xfs_types.h
> @@ -100,11 +100,14 @@ typedef __uint64_t xfs_filblks_t; /* number of blocks in a file */
> * Minimum and maximum blocksize and sectorsize.
> * The blocksize upper limit is pretty much arbitrary.
> * The sectorsize upper limit is due to sizeof(sb_sectsize).
> + * CRC enable filesystems use 512 byte inodes, meaning 512 byte block sizes
> + * cannot be used.
> */
> #define XFS_MIN_BLOCKSIZE_LOG 9 /* i.e. 512 bytes */
> #define XFS_MAX_BLOCKSIZE_LOG 16 /* i.e. 65536 bytes */
> #define XFS_MIN_BLOCKSIZE (1 << XFS_MIN_BLOCKSIZE_LOG)
> #define XFS_MAX_BLOCKSIZE (1 << XFS_MAX_BLOCKSIZE_LOG)
> +#define XFS_MIN_CRC_BLOCKSIZE (1 << (XFS_MIN_BLOCKSIZE_LOG + 1))
> #define XFS_MIN_SECTORSIZE_LOG 9 /* i.e. 512 bytes */
> #define XFS_MAX_SECTORSIZE_LOG 15 /* i.e. 32768 bytes */
> #define XFS_MIN_SECTORSIZE (1 << XFS_MIN_SECTORSIZE_LOG)
> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
> index 0218491..e2a052d 100644
> --- a/mkfs/xfs_mkfs.c
> +++ b/mkfs/xfs_mkfs.c
> @@ -1758,6 +1758,12 @@ _("cannot specify both crc and ftype\n"));
> fprintf(stderr, _("illegal block size %d\n"), blocksize);
> usage();
> }
> + if (crcs_enabled && blocksize < XFS_MIN_CRC_BLOCKSIZE) {
> + fprintf(stderr,
> +_("Minimum block size for CRC enabled filesystems is %d bytes.\n"),
> + XFS_MIN_CRC_BLOCKSIZE);
> + usage();
> + }
I'd move this down by the crc inode size check a page or so down since
we already have a crcs_enabled block there (the error messages could
also be made more uniform I suppose). Otherwise looks good, thanks!
Reviewed-by: Brian Foster <bfoster@redhat.com>
>
> memset(&ft, 0, sizeof(ft));
> get_topology(&xi, &ft, force_overwrite);
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2015-05-06 11:36 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-04 3:52 [V2] mkfs: default to CRC enabled filesystems Dave Chinner
2015-05-05 14:28 ` Brian Foster
2015-05-05 22:48 ` [PATCH] mkfs: inode/block size error messages confusing Dave Chinner
2015-05-06 11:36 ` Brian Foster [this message]
2015-05-06 22:07 ` Dave Chinner
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=20150506113615.GA5021@laptop.bfoster \
--to=bfoster@redhat.com \
--cc=david@fromorbit.com \
--cc=xfs@oss.sgi.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.