Date: Tue, 14 Apr 2009 16:25:34 +0300 From: Andriy Gapon <avg@icyb.net.ua> To: Ivan Voras <ivoras@freebsd.org> Cc: freebsd-geom@freebsd.org Subject: Re: glabel: newfs vs tunefs Message-ID: <49E48ECE.8050809@icyb.net.ua> In-Reply-To: <gs1tu5$eut$1@ger.gmane.org> References: <49E46F44.30606@icyb.net.ua> <gs1tu5$eut$1@ger.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
on 14/04/2009 15:01 Ivan Voras said the following:
> Andriy Gapon wrote:
>> I am not 100% sure, but it seems that glabel detects newfs -L labels very well,
>> but doesn't see labels set by tunefs -L. I am not sure if ths happens always or
>> "sometimes".
>> Also, I used tunefs without -A option (it's documented as "potentially
>> dangerous"). So could it possibly be that tunefs updates one copy of superblock,
>> but glabel checks some other?
>
> Glabel checks superblocks in the order defined in ufs/ffs/fs.h :
>
> 68 #define SBLOCK_FLOPPY 0
> 69 #define SBLOCK_UFS1 8192
> 70 #define SBLOCK_UFS2 65536
> 71 #define SBLOCK_PIGGY 262144
> 72 #define SBLOCKSIZE 8192
> 73 #define SBLOCKSEARCH \
> 74 { SBLOCK_UFS2, SBLOCK_UFS1, SBLOCK_FLOPPY, SBLOCK_PIGGY, -1 }
>
> So it's theoretically possible that tunefs modifies the old (UFS1)
> location...
OK, superblock location turned out to be a big red herring.
There is a different problem in my case.
>From dumpsfs output:
size 13107199
fsize 2048
>From gpart list output:
Mediasize: 26843545600
26843545600 / 2048 = 13107200 != 13107199
So the filesystem is slightly smaller that it could have been (probably because of
the history of trying gjournal for it).
Thus the following check in g_label_ufs.c fails:
pp->mediasize / fs->fs_fsize == fs->fs_size
While typically a filesystem covers whole available space (in a partition, etc),
it doesn't have to be the case (e.g. newfs has -s option).
So maybe this check is a little bit too strict?
--
Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49E48ECE.8050809>
