Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp883296pxb; Wed, 27 Oct 2021 14:25:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzWxZVajMBY+7caGpYavVKV2G9SckUYDOQ2KuJ+uXskUgPewCl+Urf5diEFMpQ5F2+k9xuE X-Received: by 2002:a17:907:3eaa:: with SMTP id hs42mr33809ejc.429.1635369917902; Wed, 27 Oct 2021 14:25:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635369917; cv=none; d=google.com; s=arc-20160816; b=1Azz4e7n8UMIx+eLDZnRq+5VKuRl+e0mO/XJ013USaebhqgP3CtwVL8lI4wsewb8PZ d/Yti0y4ufz9H20frM8ckN33BwyPv+ug7oQ/oK3SBgynNS3TuXO87rAUtoXkfBgyWdhu yRFZVrqNR1mj9Doxhdly6RUtIlRChGHqYV1HL6VD9EohtOJ9zXDXvtzI1b5C4MlmL94E JNYDH/JyIlyAJZ29JXlxLpnwl/49ank7NETUjFFh9cyUHMGTkf5yK73AS9JXzUdZwmMN NvCjW1eA03x+0RJnbWPnjsHa5fFipz1JMaW8q9iod4KNhusyrjc6LTZJ6XvejsP6To1r tMpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=bMXY5ja6NpN4aZx7kHs6S29zSYsU1Kn8+hYLidaHKuI=; b=0ZLv9Ud+v8EsGU5LAaZlR0m255+LaX8KY3Oau8LD0GTw1STLTpb/zBDAY666fY3bWX 3yTCrmaYMpcMqfZ1Np7QRfxZ3w73o/cIa4mf+ObWjr5koLxd3i9GECPd+8iYq3CnuHBR tyd8pPtgHoJHddXHelr2ZULDRZ15pq1qoDW9w1VsV7qSXQGDTYxJ7C5vlPhXkGKM5xM7 fDV+zZkU0VOPLJs1A72fkiEwGhL6M554gW+VGDzi3RsWevafCLg2JAX/AqPmxbXUMElL nw5vPXnctPNToRe2I5IyWtPyTwYcInHjfFl0k0cIQihCHBXSegJTy6tLd2AZTt1gIhT1 EBXA== ARC-Authentication-Results: i=1; mx.google.com; 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 e10si1271219edl.605.2021.10.27.14.24.54; Wed, 27 Oct 2021 14:25:17 -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; 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 S240184AbhJ0MMH (ORCPT + 97 others); Wed, 27 Oct 2021 08:12:07 -0400 Received: from mga11.intel.com ([192.55.52.93]:22295 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235323AbhJ0MMG (ORCPT ); Wed, 27 Oct 2021 08:12:06 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10149"; a="227600306" X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="227600306" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2021 05:09:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,186,1631602800"; d="scan'208";a="486649975" Received: from dev01.bj.intel.com ([10.238.158.57]) by orsmga007.jf.intel.com with ESMTP; 27 Oct 2021 05:09:38 -0700 From: Huaisheng Ye To: dan.j.williams@intel.com, hch@lst.de, vishal.l.verma@intel.com, dave.jiang@intel.com, ira.weiny@intel.com Cc: nvdimm@lists.linux.dev, linux-kernel@vger.kernel.org, Huaisheng Ye Subject: [PATCH 0/4] add ro state control function for nvdimm drivers Date: Wed, 27 Oct 2021 20:09:33 +0800 Message-Id: <20211027120937.1163744-1-huaisheng.ye@intel.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org libndctl failed to pass for the reason of writing pmem disk when running ndctl testing. Here is the error message below, namespace6.0: failed to write /dev/pmem6 check_namespaces: namespace6.0 validate_bdev failed ndctl-test1 failed: -6 Commit 98f49b63e84d4ee1a5c327d0b5f4e8699f6c70fe removes set_device_ro and e00adcadf3af7a8335026d71ab9f0e0a922191ac adds a new set_read_only method to allow for driver-specific processing when changing the block device's read-only state. Current drivers nd_pmem, nd_blk and nd_btt don't have the capability to enable or disable write protect (read-only) state. Without that, blkdev_roset just modifies the value of bd_read_only of struct block_device and returns success to ioctl of block device. Error would happen when writing read-only disk next. Add ro state control function in libnvdimm for this purpose, and implement set_read_only for BLKROSET. Huaisheng Ye (4): libnvdimm: add a ro state control function for nvdimm libnvdimm/pmem: implement ->set_read_only to hook into BLKROSET processing libnvdimm/blk: implement ->set_read_only to hook into BLKROSET processing libnvdimm/btt: implement ->set_read_only to hook into BLKROSET processing drivers/nvdimm/blk.c | 1 + drivers/nvdimm/btt.c | 1 + drivers/nvdimm/bus.c | 17 +++++++++++++++++ drivers/nvdimm/nd.h | 1 + drivers/nvdimm/pmem.c | 1 + 5 files changed, 21 insertions(+) -- 2.27.0