From owner-freebsd-fs@FreeBSD.ORG Mon Feb 16 22:41:03 2015 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2CDA810B; Mon, 16 Feb 2015 22:41:03 +0000 (UTC) Received: from mail-ob0-x22c.google.com (mail-ob0-x22c.google.com [IPv6:2607:f8b0:4003:c01::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E357BD49; Mon, 16 Feb 2015 22:41:02 +0000 (UTC) Received: by mail-ob0-f172.google.com with SMTP id nt9so47049733obb.3; Mon, 16 Feb 2015 14:41:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=jNNg4ARYPqrtelK9X1lWV5TGpwMezAEN9PkKHfKFv7o=; b=ZP4h/Nw+fJgw7ybk2op4nhuA4guyefEYyRiqTqcminI/vDTpCn8CgomP4Bled34sKU kceQXB1Ct5z7DAfi3aPSHmdsrmAaXG4pGbKXFTTvmfBk07joRB39V7gCXYCCnF73pim2 hK7Wfg0wa1KnedeSBkI11saRQTO9Yjlje2KkwPI8AZSpnLZYOPHMCECdjdT8dqLPOYMe kF0xsRLPEpNBP/Pj3yODMHd181BtgHc7/pxg/tWmW+FE9+FHe7qje4G/DtvqYnBMtx7+ 74sJjdysBZzrRIh7fYjjuzfkiC10Y8VvVj0EqjoS7VFpFDSS0UoHpfjTvYCRfY+RDKQR Mw1w== MIME-Version: 1.0 X-Received: by 10.182.43.129 with SMTP id w1mr16886932obl.86.1424126462250; Mon, 16 Feb 2015 14:41:02 -0800 (PST) Received: by 10.76.68.10 with HTTP; Mon, 16 Feb 2015 14:41:02 -0800 (PST) Date: Mon, 16 Feb 2015 17:41:02 -0500 Message-ID: Subject: zfs set running_with_scissors=on zroot From: Zaphod Beeblebrox To: FreeBSD Hackers , freebsd-fs Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Feb 2015 22:41:03 -0000 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.