Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Feb 2015 17:41:02 -0500
From:      Zaphod Beeblebrox <zbeeble@gmail.com>
To:        FreeBSD Hackers <freebsd-hackers@freebsd.org>, freebsd-fs <freebsd-fs@freebsd.org>
Subject:   zfs set running_with_scissors=on zroot
Message-ID:  <CACpH0Mc_ndaeJgqgBmcZ4Dt-DEseTQ4Osq68M6G%2B7uiNE0_Pzg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
I've been struggling for awhile with zdb and friends recovering some data
from a curiously problematic old ZFS array and I had an idea:

Why not add a 'running_with_scissors' or maybe more properly named
'read_what_you_got_anyways' flag to zfs.

Maybe this produces some garbage for a problem file or maybe it doesn't  I
see two scenarios where this is useful:

1) where ZFS has declared an "error" somewhere where a scrub will
eventually remove that error.

2) where ZFS is having some sort of problem and the user just wants to try
pushing through it.

My concept of "how this would work" is that the flag would stop the
machinery that would normally stop the data from being delivered.

Note that case (1) might also be ameliorated by a flag or behavior that
rechecked only the blocks and checksums of data in question.  Right now, if
ZFS has "declared" something bad, it will return an error when you access
it --- even if a subsequent "scrub" would remove that flag --- that scrub
can take many, many hours.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACpH0Mc_ndaeJgqgBmcZ4Dt-DEseTQ4Osq68M6G%2B7uiNE0_Pzg>