Make r242379 - the fix for UFS labels disappearing after resizing
the provider - also apply to UFS1 filesystems. This should help with resizing filesystems created by makefs(8), which still uses UFS1. Tested by: jmg@ Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
7870802b3f
commit
54f013e376
@ -81,13 +81,15 @@ 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);
|
fs = (struct fs *)g_read_data(cp, superblock, SBLOCKSIZE, NULL);
|
||||||
if (fs == NULL)
|
if (fs == NULL)
|
||||||
continue;
|
continue;
|
||||||
/* Check for magic. We also need to check if file system size is equal
|
/*
|
||||||
|
* Check for magic. We also need to check if file system size is equal
|
||||||
* to providers size, because sysinstall(8) used to bogusly put first
|
* to providers size, because sysinstall(8) used to bogusly put first
|
||||||
* partition at offset 0 instead of 16, and glabel/ufs would find file
|
* partition at offset 0 instead of 16, and glabel/ufs would find file
|
||||||
* system on slice instead of partition.
|
* system on slice instead of partition.
|
||||||
*/
|
*/
|
||||||
if (fs->fs_magic == FS_UFS1_MAGIC && fs->fs_fsize > 0 &&
|
if (fs->fs_magic == FS_UFS1_MAGIC && fs->fs_fsize > 0 &&
|
||||||
pp->mediasize / fs->fs_fsize == fs->fs_old_size) {
|
((pp->mediasize / fs->fs_fsize == fs->fs_old_size) ||
|
||||||
|
(pp->mediasize / fs->fs_fsize == fs->fs_providersize))) {
|
||||||
/* Valid UFS1. */
|
/* Valid UFS1. */
|
||||||
} else if (fs->fs_magic == FS_UFS2_MAGIC && fs->fs_fsize > 0 &&
|
} else if (fs->fs_magic == FS_UFS2_MAGIC && fs->fs_fsize > 0 &&
|
||||||
((pp->mediasize / fs->fs_fsize == fs->fs_size) ||
|
((pp->mediasize / fs->fs_fsize == fs->fs_size) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user