aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2024-01-25 01:47:36 +0000
committerEd Maste <emaste@FreeBSD.org>2024-03-22 19:03:48 +0000
commit0459337491cdfdd752507c0d2722999a6a9781ef (patch)
treeb2e9007cd6b008fa58762d066c8febe0ca7a0573
parenta59eba2caacf82f741e8bbc334b2382c615744df (diff)
downloadsrc-0459337491cdfdd752507c0d2722999a6a9781ef.tar.gz
src-0459337491cdfdd752507c0d2722999a6a9781ef.zip
makefs: warn that ffs sectorsize other than 512 may not work
newfs always sets sectorsize to DEV_BSIZE (512) and derives some other values based on the number of 512-byte sectors per real sector. Similar logic is required in makefs. Until that happens, emit a warning that the image may be incorrect. PR: 276571 (cherry picked from commit 176b9e0d724b4c1a24d2c46a1256381784f04edc) (cherry picked from commit 8e402178193f7b273a956b864d8d8b288ce62ee7)
-rw-r--r--usr.sbin/makefs/ffs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c
index 7504d6653180..cc83f2f2d3d2 100644
--- a/usr.sbin/makefs/ffs.c
+++ b/usr.sbin/makefs/ffs.c
@@ -340,6 +340,9 @@ ffs_validate(const char *dir, fsnode *root, fsinfo_t *fsopts)
/* set FFS defaults */
if (fsopts->sectorsize == -1)
fsopts->sectorsize = DFL_SECSIZE;
+ if (fsopts->sectorsize != DFL_SECSIZE)
+ warnx("sectorsize %d may produce nonfunctional image",
+ fsopts->sectorsize);
if (ffs_opts->fsize == -1)
ffs_opts->fsize = MAX(DFL_FRAGSIZE, fsopts->sectorsize);
if (ffs_opts->bsize == -1)