Received: by 10.223.164.221 with SMTP id h29csp212139wrb; Fri, 3 Nov 2017 07:59:45 -0700 (PDT) X-Google-Smtp-Source: ABhQp+TswotX6bFucEERUm86aKxZlmMTXaw14mK4qFYTsSsZ76cG35fahEYyG6c0EnsV0OctaBiW X-Received: by 10.159.216.140 with SMTP id s12mr7157201plp.318.1509721185404; Fri, 03 Nov 2017 07:59:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509721185; cv=none; d=google.com; s=arc-20160816; b=n6GwzPGvfmE7DwYH2jMuf2Yx1zRn79Kbtos9s/ufl2V1t6Tj3h99zQ1VzBPfaJc/Hm DvtogNceOa56I0XNjJWuuDePSut1wDyYUQwKC0sYnmy+E3I/+bP5/kwxKNnx60zyeGhN M0EY6x9AGvxQzC1Qyox/k+srtHhINi0L6REuxcaI3YvEo/cjpBgvF5mTuwQut80BlcVg rWCrvTB8PWrdY1+D0BArmQbF8+8BdT9oPUjIsPWPAOl0Hz6MMTMH3GosnN87HUBF6WSV wPqjG2gb0ssDshdzhD7fQ/5kVoAJMwDXOsVl4ovYNp2I/XAMJdM2GOfHonpZf2JXRhE3 sxwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=gE3XiZTn6w/K2mkN+DlQc5FVineR/90AT6KjokjOVlU=; b=Epf0KpnrWqziQb3XSksAwq1Ws3oYf6sL/5BKHhdni7kMOYMkSl4WtQzrhg6FRiAxNH BmaOxS76O5d19sgVntOr69IUevhFbSQZy58qcilTqedGFtOqVmPOf0KvljnJErkYoiWo kZ4ttwQx2QU4HKUXSu/cdZwdGCpPIqyoT7tFaUuVw0iiXn018TVxanu7GD8PIfZrECOI dKqM40H277MffBnCIWioMBv7Gufa/fkXdlqS0hXIRytVjaWl6bXBE+yYpf/Td9JkTTgG KXoelj8hWc4JPf8NaoYngSqZJC+8Baxb+xjWyGOmz2H2zv+i/zl1pEMlF9F8Qwr8zom1 LnWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v15si6925986pfj.120.2017.11.03.07.59.31; Fri, 03 Nov 2017 07:59:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754718AbdKCO5v (ORCPT + 95 others); Fri, 3 Nov 2017 10:57:51 -0400 Received: from mga03.intel.com ([134.134.136.65]:9041 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750819AbdKCO5t (ORCPT ); Fri, 3 Nov 2017 10:57:49 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Nov 2017 07:57:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,339,1505804400"; d="scan'208";a="1239376274" Received: from unknown (HELO localhost.localdomain) ([10.232.112.44]) by fmsmga002.fm.intel.com with ESMTP; 03 Nov 2017 07:57:47 -0700 Date: Fri, 3 Nov 2017 09:02:04 -0600 From: Keith Busch To: Christoph Hellwig Cc: Javier =?iso-8859-1?Q?Gonz=E1lez?= , sagi@grimberg.me, linux-nvme@lists.infradead.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Javier =?iso-8859-1?Q?Gonz=E1lez?= Subject: Re: [PATCH 1/3] nvme: do not check for ns on rw path Message-ID: <20171103150203.GA11300@localhost.localdomain> References: <1509703370-20379-1-git-send-email-javier@cnexlabs.com> <1509703370-20379-2-git-send-email-javier@cnexlabs.com> <20171103125339.GA25186@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171103125339.GA25186@lst.de> User-Agent: Mutt/1.9.0 (2017-09-02) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 03, 2017 at 01:53:40PM +0100, Christoph Hellwig wrote: > > - if (ns && ns->ms && > > + if (ns->ms && > > (!ns->pi_type || ns->ms != sizeof(struct t10_pi_tuple)) && > > !blk_integrity_rq(req) && !blk_rq_is_passthrough(req)) > > return BLK_STS_NOTSUPP; > > blk_rq_is_passthrough also can't be true here. > > How about: > > if (ns->ms && !blk_integrity_rq(req) && > (!ns->pi_type || ns->ms != sizeof(struct t10_pi_tuple))) > return BLK_STS_NOTSUPP; > > Although I have to admit I don't really understand what this check > is even trying to do. It basically checks for a namespace that has > a format with metadata that is not T10 protection information and > then rejects all I/O to it. Why are we even creating a block device > node for such a thing? If the namespace has metadata, but the request doesn't have a metadata payload attached to it for whatever reason, we can't construct the command for that format. We also can't have the controller strip/generate the payload with PRACT bit set if it's not a T10 format, so we just fail the command. From 1583050045690325037@xxx Fri Nov 03 13:02:50 +0000 2017 X-GM-THRID: 1583038799453206809 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread