From owner-freebsd-fs@freebsd.org Sat Jun 30 20:19:36 2018 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EDEBBFDA9D7 for ; Sat, 30 Jun 2018 20:19:35 +0000 (UTC) (envelope-from paul@mueller-blockhaus.de) Received: from wp188.webpack.hosteurope.de (wp188.webpack.hosteurope.de [IPv6:2a01:488:42:1000:50ed:84c3::]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89B1A8B711 for ; Sat, 30 Jun 2018 20:19:35 +0000 (UTC) (envelope-from paul@mueller-blockhaus.de) Received: from p54af4f56.dip0.t-ipconnect.de ([84.175.79.86] helo=[192.168.1.26]); authenticated by wp188.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) id 1fZMLE-0003a6-0f; Sat, 30 Jun 2018 22:19:32 +0200 To: freebsd-fs@freebsd.org From: Paul Blockhaus Subject: Question to zfs scrub code Message-ID: <5d2ccda7-e306-2b1b-090a-27f7ec564296@mueller-blockhaus.de> Date: Sat, 30 Jun 2018 22:19:31 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-bounce-key: webpack.hosteurope.de; paul@mueller-blockhaus.de; 1530389975; 30a95cca; X-HE-SMSGID: 1fZMLE-0003a6-0f X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Jun 2018 20:19:36 -0000 Hello folks, I'm not entirely shure wether this is the right place to ask, but maybe someone can help my anyway. I'm trying to understand how the zfs scrub code works, but I'm stuck at dsl_scan in dsl_scan.c, it just looks like a dead end in the code. All called functions don't seem to traverse any data blocks and just magically end in a scrubbed pool. What am I missing? Is there any documentation where the scrub continues? Or does anyone of you can explain, what happens in and after the dsl_scan function? Thanks in advance, Paul