Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jul 2008 02:58:23 +0200
From:      Kris Kennaway <kris@FreeBSD.org>
To:        freebsd-geom@FreeBSD.org
Subject:   GEOM_STRIPE device wackiness
Message-ID:  <4879532F.7000603@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
I tried to create a stripe on two disks, after writing a new label to 
overwrite the previous one (all filesystems and swap had been 
unconfigured).  No slices were in use on the disk and I did

gstripe label -v -s 131072 data /dev/da0d /dev/da1d

newfs worked fine, etc.  Rebooted, and geom decided my da0 needed to 
sprout a da0s1, and that the gstripe should attach there (actually the 
da0? devices were completely gone).  The filesystem was corrupt because 
the offsets were now all wrong on one of the disks.

Rebooting into single-user mode the devices were sort of back:

# ls -l /dev/da0*
crw-r-----  1 root  operator    0,  74 Jul 13 00:48 /dev/da0
crw-r-----  1 root  operator    0,  76 Jul 13 00:48 /dev/da0b
crw-r-----  1 root  operator    0,  77 Jul 13 00:48 /dev/da0c
crw-r-----  1 root  operator    0,  83 Jul 13 00:48 /dev/da0cs1
crw-r-----  1 root  operator    0,  87 Jul 13 00:48 /dev/da0cs1b
crw-r-----  1 root  operator    0,  88 Jul 13 00:48 /dev/da0cs1c
crw-r-----  1 root  operator    0,  89 Jul 13 00:48 /dev/da0cs1d
crw-r-----  1 root  operator    0,  78 Jul 13 00:48 /dev/da0d
crw-r-----  1 root  operator    0,  79 Jul 13 00:48 /dev/da0s1
crw-r-----  1 root  operator    0,  84 Jul 13 00:48 /dev/da0s1b
crw-r-----  1 root  operator    0,  85 Jul 13 00:48 /dev/da0s1c
crw-r-----  1 root  operator    0,  86 Jul 13 00:48 /dev/da0s1d

"da0cs1"? Uh ok.

# bsdlabel -r /dev/da0
# /dev/da0:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
   b: 33554432       16      swap
   c: 143638992        0    unused        0     0         # "raw" part, 
don't edit
   d: 110084544 33554448    4.2BSD        0     0     0

...still looks fine

# gstripe destroy data
GEOM_STRIPE: Disk da0d removed from data.
GEOM_STRIPE: Device data destroyed.
# gstripe label -v -s 131072 -h data /dev/da0d /dev/da1d
GEOM_STRIPE: Device data created (id=2560258567).
GEOM_STRIPE: Disk da0s1d attached to data.
GEOM_STRIPE: Disk da0s1d removed from data.
GEOM_STRIPE: Device data destroyed.
GEOM_STRIPE: Device data created (id=476052638).
GEOM_STRIPE: Disk da0d attached to data.
GEOM_STRIPE: Device data already configured.
GEOM_STRIPE: Cannot create device data.
Metadata value stored on da0d.
GEOM_STRIPE: Disk da1d attached to data.
GEOM_STRIPE: Device data activated.
Metadata value stored on da1d.
Done.

Why all this craziness?

Now I can mount the filesystem again, but still:

# ls -l /dev/da0*
crw-r-----  1 root  operator    0,  74 Jul 13 00:48 /dev/da0
crw-r-----  1 root  operator    0,  76 Jul 13 00:48 /dev/da0b
crw-r-----  1 root  operator    0,  77 Jul 13 00:48 /dev/da0c
crw-r-----  1 root  operator    0,  83 Jul 13 00:48 /dev/da0cs1
crw-r-----  1 root  operator    0,  87 Jul 13 00:48 /dev/da0cs1b
crw-r-----  1 root  operator    0,  88 Jul 13 00:48 /dev/da0cs1c
crw-r-----  1 root  operator    0,  89 Jul 13 00:48 /dev/da0cs1d
crw-r-----  1 root  operator    0,  78 Jul 13 00:49 /dev/da0d

What's going on here?

Kris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4879532F.7000603>