From patchwork Thu Jun 29 08:16:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shiyang Ruan X-Patchwork-Id: 13296743 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5510EB64D9 for ; Thu, 29 Jun 2023 08:18:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BCE6B8D0002; Thu, 29 Jun 2023 04:18:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B58CF8D0001; Thu, 29 Jun 2023 04:18:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9FA6D8D0002; Thu, 29 Jun 2023 04:18:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8CEB18D0001 for ; Thu, 29 Jun 2023 04:18:13 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 65E45AF706 for ; Thu, 29 Jun 2023 08:18:13 +0000 (UTC) X-FDA: 80955082866.06.956D441 Received: from esa4.hc1455-7.c3s2.iphmx.com (esa4.hc1455-7.c3s2.iphmx.com [68.232.139.117]) by imf01.hostedemail.com (Postfix) with ESMTP id 049B940013 for ; Thu, 29 Jun 2023 08:18:10 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=fujitsu.com; spf=pass (imf01.hostedemail.com: domain of ruansy.fnst@fujitsu.com designates 68.232.139.117 as permitted sender) smtp.mailfrom=ruansy.fnst@fujitsu.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688026691; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=waUhlnZqL/81lwPqc/QO7r9FhwEvM4I/mgYFnIfXCZ4=; b=0uUBkC+BFCSyCjqxwwGafpEf8hqge8fVEdXW+LRFJsWD7ToSTcSq2v8zFgVJv5po1oU2iK XnNCdJG0qH4h/dgnpxLEuyEmfPuXnc7X5nTmDO+Ufjp12Sqz2jFKkuulGp+kA9YysFLS05 kkuxyU1p9z/wepz9fdOykXDN2wXviuk= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=fujitsu.com; spf=pass (imf01.hostedemail.com: domain of ruansy.fnst@fujitsu.com designates 68.232.139.117 as permitted sender) smtp.mailfrom=ruansy.fnst@fujitsu.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688026691; a=rsa-sha256; cv=none; b=MgcNIK1QHCsFpWRc62Qj3EgwfA3BUVF9NwuIDqLatUd7TCkHaFlU8xbZE2+5WjEVpqIJfg dBqL0gZgFkWFX+uAkBGeTRgZVf/Wjmvwu2v69VwAIjgYEZ7Dvs/4GjEuepZUQNzxp9oBXh uackODXOrQa/DV+XRTS/egqK1WkcEpI= X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="122688734" X-IronPort-AV: E=Sophos;i="6.01,168,1684767600"; d="scan'208";a="122688734" Received: from unknown (HELO yto-r4.gw.nic.fujitsu.com) ([218.44.52.220]) by esa4.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jun 2023 17:18:09 +0900 Received: from yto-m2.gw.nic.fujitsu.com (yto-nat-yto-m2.gw.nic.fujitsu.com [192.168.83.65]) by yto-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id 8478ECD6DF for ; Thu, 29 Jun 2023 17:18:06 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id B60ACD67C0 for ; Thu, 29 Jun 2023 17:18:05 +0900 (JST) Received: from irides.g08.fujitsu.local (unknown [10.167.234.230]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id E94226C9C4; Thu, 29 Jun 2023 17:17:59 +0900 (JST) From: Shiyang Ruan To: linux-fsdevel@vger.kernel.org, nvdimm@lists.linux.dev, linux-xfs@vger.kernel.org, linux-mm@kvack.org Cc: dan.j.williams@intel.com, willy@infradead.org, jack@suse.cz, akpm@linux-foundation.org, djwong@kernel.org, mcgrof@kernel.org Subject: [PATCH v12 0/2] mm, pmem, xfs: Introduce MF_MEM_REMOVE for unbind Date: Thu, 29 Jun 2023 16:16:49 +0800 Message-Id: <20230629081651.253626-1-ruansy.fnst@fujitsu.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-27720.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-27720.005 X-TMASE-Result: 10--9.126200-10.000000 X-TMASE-MatchedRID: hVaMx/vKxVQoSt6MGxonhwrcxrzwsv5usnK72MaPSqdujEcOZiInj57V Ny7+UW/9bDnaZmit5bheZNY97UagkJpOjqlsrZgYKsurITpSv+MQhNjZQYyI3Jsoi2XrUn/Js98 n9dYnJNNQSFbL1bvQASAHAopEd76vRWXiIgS5n2V4xdTY+QAKe3yk+v4CROBMf8DjiQCwSeDQ86 vbNAcB2g== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 X-Rspam-User: X-Stat-Signature: 45sx7gji6pp7pqrhnx9nt7r7kz6pc37i X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 049B940013 X-HE-Tag: 1688026690-294144 X-HE-Meta: U2FsdGVkX18NpiduduuFLKFLk7QlIF1Z5aAn8MB9wzDmyXw0g5NQmKooHBMECohAL2XUZuwzoHDWLcJgWXbGycbQ0j1qQ48qtcitUV1qEsekQBZQhIZNe1vNjedrkIwn7VJA0/1ycXQNFLqS3K0/kSIq4Pk5jpipDqrzJ0A8ZuiI3YxNJKkhV47l693JGjl9SL7ejooir1BxOcoMknSUDKEP4B+ocAW1n3Y/cyerx1we3/rUQWxAwhOCXEGSBJoPKj4cQUt7/TWpFQUWjGHGDQBZZFkzX+LJBg8U2d07P9fw0hohdRUddO6C9vr5tI/P3g2IOz6iLrltEJfFrMaTmYZUJp+Kxpmn70Gg1DXLnfNV6NhCWFt45MOncdGvudgo8BGSj6vrl6jARuW0mArANy5KD+ZzF2y8Ur0dqnEgK/Ar8/+1PmtvFpBddMDBw4qwbZ/+GuiAh4UQw+Ec714l7ASiYg4xWvPH9R5kSIFsxF1WlFMq64DZY3BqI0UfXMEYJFP+Qq1EBj15rj7neEKi3HJbFMJCeqxFdsaMB3eL0511gmYOMSmzZhEc/kPywG1k81iSyZImveMcYX/jKytUnfnTSadECrLReYS9zYCRZbR1YqUfXWobxZKzXtsOyn51qp2RB4bc9d+B6bRlza0Un/K+Sl0wWUFSMGa0gNP5WlZg5JwCrwjP5KqaB47yJ7XTJD4AOtzJ6pw6niU2OIihe8nm2I34CuVQEaOalAfkt1QpWaRAlRGl50xgNJSmu18b0p6p3Gtp8vDqf36k+Qms3dJ+BCFVBVpv13D8PuGktftWERLdA3wBZ5mFMRUUXUO7MUNlzlMJK3Qm5vWzPINH446V6okam4rEKCA1yP9VA4xcOTVn7u5uVHEMAHxYFQMOD4JMSpygFrRDL8cWxGwoyot9zLHinja/wJBj1KZRT9DM4qhkprzuZMxESvO6X96tETKm94gh8G/OrA9Or8h NR1GNh9K p67jnMhkTUecSjhnEeXakq9If3/QzK+x6Kc6hbd379gOavJp7eaH/k5ytJ8292Aiwnt4OhfYAyA/PFBkF7d5sVachJY4v7CrMvNI9njBfnS43+FoY3cYUhVUHJTmkIC0peBHq2m93vSh+wylXw6/lWjnRH67vacnjw5LvnUINfI9PC/Zz4IBF8Ctx4u5wmmUDBbxT5q+GZ4MT/b9QiFdMeF1AYw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: This patchset is to add gracefully unbind support for pmem. Patch1 corrects the calculation of length and end of a given range. Patch2 introduces a new flag call MF_MEM_REMOVE, to let dax holder know it is a remove event. With the help of notify_failure mechanism, we are able to shutdown the filesystem on the pmem gracefully. Changes since v11: Patch1: 1. correct the count calculation in xfs_failure_pgcnt(). (was a wrong fix in v11) Patch2: 1. use new exclusive freeze_super/thaw_super API, to make sure the unbind progress won't be disturbed by any other freezer. Shiyang Ruan (2): xfs: fix the calculation for "end" and "length" mm, pmem, xfs: Introduce MF_MEM_REMOVE for unbind drivers/dax/super.c | 3 +- fs/xfs/xfs_notify_failure.c | 95 +++++++++++++++++++++++++++++++++---- include/linux/mm.h | 1 + mm/memory-failure.c | 17 +++++-- 4 files changed, 101 insertions(+), 15 deletions(-)