Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Feb 2014 15:47:35 +0100
From:      Borja Marcos <borjam@sarenet.es>
To:        "freebsd-fs@FreeBSD.org Filesystems" <freebsd-fs@freebsd.org>
Subject:   Possible ZFS bug? Insufficient sanity checks
Message-ID:  <BF2D310C-7B8F-413D-9D20-A887236C5913@sarenet.es>

next in thread | raw e-mail | index | archive | help

Hello,

Doing something stupid I managed to corrupt a ZFS pool. I think it =
shouldn=B4t have been possible. I hope to reproduce it next week, but
it's better to share just in case.=20

I know what I did was quite foolish, and no dolphins were hurt as it's =
just a test machine.

FreeBSD pruebassd 10.0-STABLE FreeBSD 10.0-STABLE #8: Wed Feb 12 =
09:32:29 UTC 2014     root@pruebassd:/usr/obj/usr/src/sys/PRUEBASSD2_10  =
amd64

The pool has one RAIDZ vdev, with 6 OCZ Vertex 4 SSDs.

The stupid manoeuvre was as follows:

1) Pick up one of the disks at random.

2) Extract it.

So far so good. zpool warns that the pool is in degraded state, but =
everythng works.

3) Take the disk to a different system. Insert it and create a new pool =
on it. Just one disk, I was testing a data corruption issue with a "mfi" =
adapter.

4) Do some tests.

5) Probably (not sure) destroy the newly created pool.

6) take the ssd to the original machine -> insert it

And here the fun comes.

7) zpool online cashopul (the previously removed disk)

8) KABOOM! zpool warns of data corruption all over the place. -> most =
files corrupted.



My  theory: When doing the "zpool online" ZFS just checked the disk =
serial number or identification, and, being the same, *not verifying the =
pool identity* it mixed it into the pool with disastrous consequences.

What I think should have happened instead:

- ZFS should verify the physical disk "identity" *and* verify that the =
ZFS metadata on the disk indeed belongs to the pool on which it's being =
"onlined".


Again, I do know that I did something very foolish (I behave in a =
foolish and careless way with that machine on purpose).

I'll try to reproduce this next week (I'm waiting to receive some SAS  =
cables).


Cheers,






Borja.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BF2D310C-7B8F-413D-9D20-A887236C5913>