Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1345685pxk; Fri, 18 Sep 2020 09:59:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyncacDFjxhjaPJ6FAgM+4kSOlk5TL2WoHtdqsh3hj48q46aj9nnk8Qln2NXsljrQmOpy+W X-Received: by 2002:a17:906:9443:: with SMTP id z3mr38779672ejx.156.1600448359075; Fri, 18 Sep 2020 09:59:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600448359; cv=none; d=google.com; s=arc-20160816; b=MvNfMKd9JOeSiDNZ+Ma9z9R3zlEyAGsc3jGI15OnanSyIXA1ZOfGL5ZcmqK4JBrFTH SYKIgt80+oRH54Hl5SsEAuvumC3AZ3mgK3dbfxflb4Af3AFJIDFVGr9IsnUsXFWzGoma nbIGgHAyl5m/K/s6uZukzw2ITrFXm333dlz2dGosf+PPCV5/O0d7vth9Z+FVNOQ7ch2m +sqyA7F0+791AC0s5/P9Koo1C2XjVj2ybEvV//SfXg9s4GEP7xrHCRS3K6/dgCiM6QUK jc1sbXFZ5crUvFzMVIt8Uez3oxL230IqawK/mFyI/7HyrFVK++gmpcUzad+6FXifxUu4 tHiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=yxwRMmZAvscI9qLISrOKxKWDWXBsK0Qiq++otHhpMpM=; b=oZxBhuKbz/5Smr4I7f0+4Gp8u3bL0BlrTEl+u6rvD0DKuEwfqAT0TKcb1NdSwyqQ/H 1IDEDWmlCyEyiK0Hw9ckJohpSzxEHO5fXOVdYyb4pWVcXLKcCLBvttvspQvzmk2gsSSV eppCl7nbuVqhg/Ah7w2PZaqTeCigSxp2vp4Ul38i50PLif2v3SWrT/4TyNFEuJijIQ9v q0B9k9bWCNfgCG4VDpG5LcK/uHy76l6tT/LoX+F/dgBkRFNOKUoSumSjI8l6+wUDSZdh 26hFT5J8qK96nuBy0o0qCIQFm0B3XBYIwlo1nVc8EAEPioe47ytgOtu+Ebm5I9CV/dsB sjWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=vW9xAgzL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r15si2612934edo.318.2020.09.18.09.58.55; Fri, 18 Sep 2020 09:59:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=vW9xAgzL; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726126AbgIRQzF (ORCPT + 99 others); Fri, 18 Sep 2020 12:55:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50204 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726044AbgIRQzF (ORCPT ); Fri, 18 Sep 2020 12:55:05 -0400 Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E10BC0613CF for ; Fri, 18 Sep 2020 09:55:04 -0700 (PDT) Received: by mail-ed1-x541.google.com with SMTP id n13so6683515edo.10 for ; Fri, 18 Sep 2020 09:55:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yxwRMmZAvscI9qLISrOKxKWDWXBsK0Qiq++otHhpMpM=; b=vW9xAgzLdO0QTngXP251avBoOv0g0D8jITnPZCJ5/Gugk+FHUHF/kvs6N/4BGb4yRp kwWQrpEvWarWlY6oGD1By4fOTSpcnfY6T5RGy1jX3cdIMv/EEDhvGn5NMNtptRwMLdk9 TeIAV3rz/9S3/Lu+cwsk0KqQ/wvILgP0cetKg5Ci454hEpq8RvIg4WXN774E5PSIoMHa DsJC9VcCZV4SAA+etDYxCrS/HmvNAGtSF0KuTLpB/dl9CdoduF6NOwxzGVgG6ZJCJvpV bIXTRwy1i/WvQl4YY+EbOK5NGuWUtetdeY9jGfArhxhr2VbmzVU9ho3TRx2nE6NTGkEk 2xTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yxwRMmZAvscI9qLISrOKxKWDWXBsK0Qiq++otHhpMpM=; b=BFDldmeDO6+kM9pg4w4GrcL/6o+OGHoXENrL9rfZcSoO0KUmy4K/TpWUnmISVi2Wug 1ZecypM8C6cOjPlpqjjK/jeffd+QKkXiyp4MX0wtb71HEoJMvCC2bJs7Nt7WLGjBCV8a xatDDKcSxk6iYKDgTMAcFOnHrNKGUlyN56+GjtGPkFVdrjR9Uf2eT/FaMHSAj5J/c5sJ wncmI98kdgM5b2H/eSJzhHVsF9XpWC8jEp/hi2Ap4fkZ/OMLkG5cxVzYyuAAps/HmEGO zZvmfJH9kdYQDArBAXwlkRASkmna+keR+k2p6h/sm6aHmP1Dupq9VZsU4H4lOZyxCvft eeyA== X-Gm-Message-State: AOAM530Ev6cZocUFCHcn2J1u7TJwVNkbsBo9K+JOEyRsAt3w7cgb1Tip M7BMiwHoJGuJjKsSS2xWvR4GJ/jh9w8bauI/JO+rUw== X-Received: by 2002:aa7:c511:: with SMTP id o17mr40445469edq.300.1600448103080; Fri, 18 Sep 2020 09:55:03 -0700 (PDT) MIME-Version: 1.0 References: <160040692945.25320.13233625491405115889.stgit@dwillia2-desk3.amr.corp.intel.com> <20200918153041.GN7954@magnolia> In-Reply-To: <20200918153041.GN7954@magnolia> From: Dan Williams Date: Fri, 18 Sep 2020 09:54:51 -0700 Message-ID: Subject: Re: [dm-devel] [PATCH v2] dm: Call proper helper to determine dax support To: "Darrick J. Wong" Cc: linux-nvdimm , Jan Kara , Mike Snitzer , Linux Kernel Mailing List , stable , device-mapper development , Adrian Huang , Mikulas Patocka , "Weiny, Ira" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 18, 2020 at 8:31 AM Darrick J. Wong wrote: > > On Thu, Sep 17, 2020 at 10:30:03PM -0700, Dan Williams wrote: > > From: Jan Kara > > > > DM was calling generic_fsdax_supported() to determine whether a device > > referenced in the DM table supports DAX. However this is a helper for "leaf" device drivers so that > > they don't have to duplicate common generic checks. High level code > > should call dax_supported() helper which that calls into appropriate > > helper for the particular device. This problem manifested itself as > > kernel messages: > > > > dm-3: error: dax access failed (-95) > > > > when lvm2-testsuite run in cases where a DM device was stacked on top of > > another DM device. > > Is there somewhere where it is documented which of: > > bdev_dax_supported, generic_fsdax_supported, and dax_supported > > one is supposed to use for a given circumstance? generic_fsdax_supported should be private to device drivers populating their dax_operations. I think it deserves a rename at this point. dax_supported() knows how to route through multiple layers of stacked block-devices to ask the "is dax supported" question at each level. > I guess the last two can test a given range w/ blocksize; the first one > only does blocksize; and the middle one also checks with whatever fs > might be mounted? > > (I ask because it took me a while to figure out how to revert correctly > the brokenness in rc3-5 that broke my nightly dax fstesting.) Again, apologies for that.