diff options
author | trasz <trasz@FreeBSD.org> | 2012-05-24 16:48:33 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2012-05-24 16:48:33 +0000 |
commit | fa26d41fa3872963b571cdc0e9268656dbfaca4c (patch) | |
tree | 26b88727e94cfb9f94ce4f862ccb24634fc4ce2b /sys/geom | |
parent | bbf3b9348d561c7c86b6ff80193ad674bff7fc93 (diff) | |
download | FreeBSD-src-fa26d41fa3872963b571cdc0e9268656dbfaca4c.zip FreeBSD-src-fa26d41fa3872963b571cdc0e9268656dbfaca4c.tar.gz |
Make g_label(4) ignore provider size when looking for UFS labels.
Without it, it fails to create labels for filesystems resized by
growfs(8).
PR: kern/165962
Submitted by: Olivier Cochard-Labbe <olivier at cochard dot me>
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/label/g_label_ufs.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/geom/label/g_label_ufs.c b/sys/geom/label/g_label_ufs.c index b9b0443..6035a6a 100644 --- a/sys/geom/label/g_label_ufs.c +++ b/sys/geom/label/g_label_ufs.c @@ -81,12 +81,10 @@ g_label_ufs_taste_common(struct g_consumer *cp, char *label, size_t size, int wh fs = (struct fs *)g_read_data(cp, superblock, SBLOCKSIZE, NULL); if (fs == NULL) continue; - /* Check for magic and make sure things are the right size */ - if (fs->fs_magic == FS_UFS1_MAGIC && fs->fs_fsize > 0 && - pp->mediasize / fs->fs_fsize == fs->fs_old_size) { + /* Check for magic */ + if (fs->fs_magic == FS_UFS1_MAGIC && fs->fs_fsize > 0) { /* Valid UFS1. */ - } else if (fs->fs_magic == FS_UFS2_MAGIC && fs->fs_fsize > 0 && - pp->mediasize / fs->fs_fsize == fs->fs_size) { + } else if (fs->fs_magic == FS_UFS2_MAGIC && fs->fs_fsize > 0) { /* Valid UFS2. */ } else { g_free(fs); |