On Sun, Jul 26, 2009 at 04:44:45AM +1100, leon zadorin wrote:
> Man page for mount_vnd states:
> "
> The `c' partition of a vnd image should not be used.  When a superblock
>      becomes damaged, fsck_ffs(8) needs information contained in the disklabel
>      to determine the location of alternate superblocks.  This information is
>      not available when directly using the `c' partition, so checking the file
>      system image will fail.
> "
> 
> Also, the man page for newfs states:
> "
> Before running newfs or mount_mfs, the disk must be labeled using
>      disklabel(8).  newfs builds a file system on the specified special de-
>      vice, basing its defaults on the information in the disk label.
> "
> 
> But... the man 5 disklabel states:
> "
> Note that when a disk has no real BSD disklabel the kernel creates a de-
>      fault label so that the disk can be used.
> "
> 
> And indeed, it would appear (or may be my brain is getting sleepy)
> that, running newfs on a device (such as svnd0c or vnd0c) which has no
> disklabel installed explicitly does work ok...
> ... now --  if, as man page for mount_vnd states, fsck_ffs needs
> disklabel info when superblock is damaged -- why would it have any
> trouble getting the default label that kernel creates for the "disk"
> automatically as per man 5 disklabel quote above (the very same info,
> I presume that newfs uses when initializing the fs initially on an
> image with no explicit label)?
> 
> For example, wrt alternate superblock issues during fskc, the man page
> for newfs says:
> "
>      -S sector-size
>                  The size of a sector in bytes (almost never anything but
>                  512).  Changing this is useful only when using newfs to build
>                  a file system whose raw image will eventually be used on a
>                  different type of disk than the one on which it is initially
>                  created (for example on a write-once disk).  Note that chang-
>                  ing this from its default will make it impossible for fsck(8)
>                  to find the alternate superblocks if the standard superblock
>                  is lost.
> "
> 
> Now, if the default disklabel (created by kernel, on the fly so to
> speak) provides info for the sector size (which is used by newfs
> during initializing, and by fsck when checking/restoring/fixing, the
> fs) then why would it still be bad to use the "c" partition of
> svnd/vnd?
> 
> Kind regards
> Leon.

'c' is a special partition that the kernel freely changes as the
mood hits it. A slight exaggeration. Never use 'c' for anything
other than reading/writing raw data.

.... Ken

Reply via email to