From patchwork Wed May 22 07:46:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Sukrit.Bhatnagar@sony.com" X-Patchwork-Id: 13670526 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 C4EFCC25B79 for ; Wed, 22 May 2024 07:42:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 58F486B009C; Wed, 22 May 2024 03:42:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 53E196B009E; Wed, 22 May 2024 03:42:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3DEA86B009F; Wed, 22 May 2024 03:42:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1BC426B009C for ; Wed, 22 May 2024 03:42:57 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B68A2A018A for ; Wed, 22 May 2024 07:42:56 +0000 (UTC) X-FDA: 82145240352.20.1A8970B Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) by imf20.hostedemail.com (Postfix) with ESMTP id 95BD21C000D for ; Wed, 22 May 2024 07:42:54 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=oPsAhQBe; spf=pass (imf20.hostedemail.com: domain of Sukrit.Bhatnagar@sony.com designates 211.125.140.165 as permitted sender) smtp.mailfrom=Sukrit.Bhatnagar@sony.com; dmarc=pass (policy=none) header.from=sony.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716363775; 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:in-reply-to:references:references:dkim-signature; bh=ATSJTIQ7YlfNHhI2J03NerUHdvI37i6ERHqni1M7vn4=; b=pdXwTx1Ko9e9QG9eIxdIYsxaVlN+xiouxdPg6lYPBfLA9zBTuGs3NbqcERqz+RqYTaX7oV L0mbdjT/7nx24/YzorbflZ/uftC6XFtFHkQuy97IhBXPxf3ij6uO4ei6fBG/A3zYlptuiW 0l+TJEKV4m2DV8L2nbnYtPZWx9CFiyg= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=oPsAhQBe; spf=pass (imf20.hostedemail.com: domain of Sukrit.Bhatnagar@sony.com designates 211.125.140.165 as permitted sender) smtp.mailfrom=Sukrit.Bhatnagar@sony.com; dmarc=pass (policy=none) header.from=sony.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716363775; a=rsa-sha256; cv=none; b=JROl5QsJf+q6nlqjWbIQlPZmG8e0KiHyLRKDmpXGdceZdhSlQXSSoqp08OvkrSzeft3gCd 0QOM5h8wejB9VX7qQdVzk+XT0WaVSsoeZvyJ/GOqTk+MiueeeBIfBPUtnY3ItNnYxnmx8M 92XoQoRUwCW16Arn+UjzP1K5IsvoOI8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1716363775; x=1747899775; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ATSJTIQ7YlfNHhI2J03NerUHdvI37i6ERHqni1M7vn4=; b=oPsAhQBeYoF5QW5q1yDmw1cyKsoi7oXRGrF1MOQHTifs1mZqc+7j36pq di4EsTCVH1tfgCVsh6qouRFwkQxnt5pq1JDX8X6yzVymh7K3/vc3Dow7/ HqR7/kPSMnyglcFOcJ+I9FpmOhcGz0Ls0HfmmkEUdVsqwj8CFOHP5uhZY c8l7Pqga/AcYnXOAOSMzOJzI++wKZV+NoGJPZRinwLjnw8QbYYZmhrc7w Ovv9x6I4kFUVLsi/F0BxPG9dwV1XV3VpYU3S9x4aTCznU1BPjFBuKMdCK kZMybmdpOOigQR3tCsx5MW2tb2ad5aq2kz9/dHw3pXNik+u2n0goSsoTi g==; Received: from unknown (HELO jpmta-ob1.noc.sony.co.jp) ([IPv6:2001:cf8:0:6e7::6]) by jpms-ob02.noc.sony.co.jp with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 May 2024 16:42:51 +0900 X-IronPort-AV: E=Sophos;i="6.08,179,1712588400"; d="scan'208";a="415026696" Received: from unknown (HELO OptiPlex-7080..) ([IPv6:2001:cf8:1:5f1:0:dddd:6fe5:f4d0]) by jpmta-ob1.noc.sony.co.jp with ESMTP; 22 May 2024 16:42:51 +0900 From: Sukrit Bhatnagar To: "Rafael J. Wysocki" , Pavel Machek , Christian Brauner , "Darrick J. Wong" , Andrew Morton Cc: linux-xfs@vger.kernel.org, linux-pm@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Sukrit.Bhatnagar@sony.com Subject: [PATCH 1/2] iomap: swap: print warning for unaligned swapfile Date: Wed, 22 May 2024 16:46:57 +0900 Message-Id: <20240522074658.2420468-2-Sukrit.Bhatnagar@sony.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240522074658.2420468-1-Sukrit.Bhatnagar@sony.com> References: <20240522074658.2420468-1-Sukrit.Bhatnagar@sony.com> MIME-Version: 1.0 X-Stat-Signature: w18syff36jjmtr8oae6jzui6bfmbtj9m X-Rspamd-Queue-Id: 95BD21C000D X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1716363774-201753 X-HE-Meta: U2FsdGVkX1+uxfOPOBuTKPBB6xK92ndq+1kMPSe4RXeO9dR77XDctziGbF4T5rqcSp++KkxBa6TQaYki3ekXDOcHrJb//CE2nvUexRdlqJK5TVHHGMB1hif57t22Vwhy1DS3+wbxufumw06uxlZn5OeOK+yiXERmrkrPJfuMSybvxqA7X8AbaiYe4bW0829ULstJcIBonMfBfCJE+f5iOpslJoLjDQqSYV8IUXKjxsScmXfNguA1sWmS8MG/z+eItTRrFQrM77Tw8d08I5oGzrTExCBsllQ4gC1saNwTb7QMTeBl6DIEdhF0Wd0yRSKyM7HJijI685E93+aA+c1HIRMNi6NNtNYyMWzvyI8DRdsyUMFt7mxcFUPJ+Byvwpg6E1zw8cxaxjvIr2Ys0ZCy0QPDHZQP/xS9Wt7IgBnFIzz/QA46rxQiLyWK+jVJ+voDMrvIv15sbf3nUToiU+PgJh3MJE9kqOtL9BDMwjYuvLGUlPt8UysAo3Pkrou5zciuZq9mTtQUtCIyUicOCsNRTHx+g47MFw7MhteAVzQg40ng5qO+ul/JK+eStwUqHN/nCf4lrxZR/NeSk/s3tAOAY10pDwz5BdjvXTN0GGqJNKuRfFlwqeHWS8A5BdwnndXu/YTF0oFs7yRLyNWzDzWiH62YnzA9FYN7iNw1MaMqrgGEiuuLe9nU9MGTdtWISY7SueoTBrpCnPlXjD3Iq9U+pLQio4jqONegEaoWvLvpmHjDqXMXuhG5Iw46WgBvJz8Yr4DAB855Ad4xDFMyuomoR11hG4GYRRtSlKWHDvze/N/tL5vOBdm37v/ImKKkV+KvQO4K9Z0vP9Mdb6OlctHtzPTlLaUmRc47AcNo7VaCsya0VjnmPZKJDu248wMnXtOiKXph5KYSkMs6GP/f80lf2eZuqYSsABrJy1kBE9XT/7WTuqg4QE93RyvWaAqsi6Lb14RXRRdH9J7UIxd6CRZ Uv/xbAT+ bQ6ljyPLTkqvdQmWDkr2g235sJF5GUXzwntwbi3o4sJytdB0slAChz+Z5gBxnrVw68HKiY6fJqTgoMMODMulMvL8pul9/tP0Ebj5DcYdSBZ4/nNy6akd5oc4VH9/kRAo5Nlixq5hqgm4Dm0ue7Xr6Y9fTU7c9SvaeyEre0J5bsUrMi1fYJVrYmhoTNBk1qwbls4EiD4xJ8uS45/pNLoA+YCO9TA== 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: List-Subscribe: List-Unsubscribe: When creating a swapfile on a filesystem with block size less than the PAGE_SIZE, there is a possibility that the starting physical block is not page-aligned, which results in rounding up that value before setting it in the first swap extent. But now that the value is rounded up, we have lost the actual offset location of the first physical block. The starting physical block value is needed in hibernation when using a swapfile, i.e., the resume_offset. After we have written the snapshot pages, some values will be set in the swap header which is accessed using that offset location. However, it will not find the swap header if the offset value was rounded up and results in an error. The swapfile offset being unaligned should not fail the swapon activation as the swap extents will always have the alignment. Therefore, just print a warning if an unaligned swapfile is activated when hibernation is enabled. Signed-off-by: Sukrit Bhatnagar --- fs/iomap/swapfile.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fs/iomap/swapfile.c b/fs/iomap/swapfile.c index 5fc0ac36dee3..1f7b189089dd 100644 --- a/fs/iomap/swapfile.c +++ b/fs/iomap/swapfile.c @@ -49,6 +49,16 @@ static int iomap_swapfile_add_extent(struct iomap_swapfile_info *isi) next_ppage = ALIGN_DOWN(iomap->addr + iomap->length, PAGE_SIZE) >> PAGE_SHIFT; +#ifdef CONFIG_HIBERNATION + /* + * Print a warning if the starting physical block is not aligned + * to PAGE_SIZE (for filesystems using smaller block sizes). + * This will fail the hibernation suspend as we need to read + * the swap header later using the starting block offset. + */ + if (!iomap->offset && iomap->addr & PAGE_MASK) + pr_warn("swapon: starting physical offset not page-aligned\n"); +#endif /* Skip too-short physical extents. */ if (first_ppage >= next_ppage) return 0; From patchwork Wed May 22 07:46:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Sukrit.Bhatnagar@sony.com" X-Patchwork-Id: 13670527 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 BA1B0C25B77 for ; Wed, 22 May 2024 07:42:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D567B6B009E; Wed, 22 May 2024 03:42:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDEDC6B009F; Wed, 22 May 2024 03:42:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B344D6B00A0; Wed, 22 May 2024 03:42:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8AEA96B009E for ; Wed, 22 May 2024 03:42:58 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 46BC61206F6 for ; Wed, 22 May 2024 07:42:58 +0000 (UTC) X-FDA: 82145240436.26.CCA1A11 Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) by imf10.hostedemail.com (Postfix) with ESMTP id 25714C0020 for ; Wed, 22 May 2024 07:42:55 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=B5M674OS; spf=pass (imf10.hostedemail.com: domain of Sukrit.Bhatnagar@sony.com designates 211.125.140.165 as permitted sender) smtp.mailfrom=Sukrit.Bhatnagar@sony.com; dmarc=pass (policy=none) header.from=sony.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716363776; 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:in-reply-to:references:references:dkim-signature; bh=tcuh+p5nJoghdQBJL3ji43C7DQTD/lzlQqzzKUPARXQ=; b=MgO5J0cONyHiwYyVLlUIuTKNvUSvHriwYhVKYrIl6Ua7kbPIwxD0z04PvnLuvfAZVYqkp9 rm3+vKeUSZtE8osFXKlqgrQ9Idf4wH+QKHJQA714z2C15tcTWfIV6pmkgIFkcBOyBe0VUV KoqeM+g3DBoIhOm7CqQYHjzWGUGPNS0= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=B5M674OS; spf=pass (imf10.hostedemail.com: domain of Sukrit.Bhatnagar@sony.com designates 211.125.140.165 as permitted sender) smtp.mailfrom=Sukrit.Bhatnagar@sony.com; dmarc=pass (policy=none) header.from=sony.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716363776; a=rsa-sha256; cv=none; b=Pg3w1WpvALNUsYfeX08mDLH69vsjYt0tOy1T9RV3fmG9uzCpvDey8BDzteuOPxNzJzT7wv UgkwxRPPsn2xJJycmpFcMerIptg8OxD66ZJKSir12G7rP6BiFBVPDq+NJzEM3RhWX7+yV8 dr0q6HC9Y3nhZxGdxYqm16iSM+144XE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1716363777; x=1747899777; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tcuh+p5nJoghdQBJL3ji43C7DQTD/lzlQqzzKUPARXQ=; b=B5M674OSWzzyequ+qhlEXgxh2V+58YVZcc/ZqIyn62utm7ZtQpi6ukKt cENSjo0QAtA9z29yIANwDlTEnPr8UjbzGqzHvYyqn5np1nnDC1BUNmj6o +LReVdR0CSDbZ5e9/rPBlAg316exvX7cAmO9C1AE+C8qE9b6k5OMaXOVb ibfdsdbDPpEH3kbKt1CKbzOYsq0PeihuEKObbf1d/01E2JO4evA/6TP18 8yWFQJ0OCqbJkZgPe7qI2AnMQJVW+eq1LUlAMTCxmnB7fEUFVSiUK131T xrlPGJWGdp/g4kBEOCzDC+qAG6HDxWt+iPx6SgaFaxmX8qlRmwigu2ZSg Q==; Received: from unknown (HELO jpmta-ob1.noc.sony.co.jp) ([IPv6:2001:cf8:0:6e7::6]) by jpms-ob02.noc.sony.co.jp with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 May 2024 16:42:51 +0900 X-IronPort-AV: E=Sophos;i="6.08,179,1712588400"; d="scan'208";a="415026697" Received: from unknown (HELO OptiPlex-7080..) ([IPv6:2001:cf8:1:5f1:0:dddd:6fe5:f4d0]) by jpmta-ob1.noc.sony.co.jp with ESMTP; 22 May 2024 16:42:51 +0900 From: Sukrit Bhatnagar To: "Rafael J. Wysocki" , Pavel Machek , Christian Brauner , "Darrick J. Wong" , Andrew Morton Cc: linux-xfs@vger.kernel.org, linux-pm@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Sukrit.Bhatnagar@sony.com Subject: [PATCH 2/2] mm: swap: print starting physical block offset in swapon Date: Wed, 22 May 2024 16:46:58 +0900 Message-Id: <20240522074658.2420468-3-Sukrit.Bhatnagar@sony.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240522074658.2420468-1-Sukrit.Bhatnagar@sony.com> References: <20240522074658.2420468-1-Sukrit.Bhatnagar@sony.com> MIME-Version: 1.0 X-Stat-Signature: 85fassia81ozuu6xrbb4prdfahdkdyoh X-Rspamd-Queue-Id: 25714C0020 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1716363775-116563 X-HE-Meta: U2FsdGVkX1/KqhEjOefgdw5cMl5KqWJRHOEIKW7ZJSEKpswtmASATBj5wKZvmM1lV/G66AHZAlonLWxPD15yG8hd2AbDFXgdcZuIeJ0VWPKoHu5kUolAps9XnxyjIKyEUGHOuyW+jWoY/yZDBtcAurij1cvAM3BRbXQQY6WshARMLUXfGfh7J4CO7K+OIykWnmfXZCY/tZocrzA1sHlkl3LVLqM1DqCQkj5qjSIKnfcqYiNyIslyLt7ZiFsd2Bt1C1YaUjPuY6nxtwtLyW6ThxG5bEydqVEmXFXnnZR/ggQBha3FrYLvWgABf0fGwVc1kkXzx9UMV5YRcdQhn6oT7Xbzg10LEsyX/hXRLYqjKWOo5tpoJcTz3+THRtwxTbuIjKfDpMO19fGITioKU32CXOoQMN1k7zda9HEFzFxq7j42fLFUUsolFhzH/aygLu/PRY+TFSiW9V3HdaQq7VODriTJCG1U60WqlYIssnDU9nxWDSBJmHJbbEXgPORnoLEF519o6H+V0drx756/GXF1xytgqnatQTBdREE+pIwg9JfitmRx+hjBdBxo0XxdmCyS1qnpHKvfYjttToFMchri35XS4A0RuNLM2igAruPCGd91gtexmRHcFuPUbuVTnzMFOkjyqmPfB6ji+xKeuAGuD+cDrgncO2I0k+sir3D2PLQpyae66U8K3fLEFGt6ltzkVphKsV2xPRUvRKyTV0YQ6Pf5Rz8S1UI1k5I7DWmw/eY9/0elzssUpvwm856fDpXnxBs6B5gPV49GrXYyBRPDfA7hc12jVD4PP4e1nL1a3pcKVzimTmiaotWXR+b+l5N/CXkAbQOudq9ZSroh/4+vemaOAtedbRonWCPVi/9YdGiuwTqMQFaipuoiDUHQjZd4kS653FxLLogFGq0Jhcw0JwpdCtouonKwiTUPNVWDRYVeCW4Nfpo1MbcdXqUd4tA6RgPudrTInUIU7z2P8Wy VpzDBWZK 9kTtpo1/ONKrDT97dZRrOlsLYjWazLUTdO8K2GUIAwIyA5OMGl5RCk4+bhtT6sU11aAuznttumU6Q5jFqotaat6lsCAxAL7WLbZsiNPRImHVx3hurSH9dLEWMgkiLHoYv9VCSQEDI9NGdOvWX0OtDe86g4OAFM8aWEmh9xSaDzZWVG5FKHUv2ljMtS0VodZGN5AKpXDzTxZysNmWxdcN7pD1qrg== 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: List-Subscribe: List-Unsubscribe: When a swapfile is created for hibernation purposes, we always need the starting physical block offset, which is usually determined using userspace commands such as filefrag. It would be good to have that value printed when we do swapon and get that value directly from dmesg. Signed-off-by: Sukrit Bhatnagar --- mm/swapfile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/swapfile.c b/mm/swapfile.c index f6ca215fb92f..53c9187d5fbe 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -3264,8 +3264,9 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) (swap_flags & SWAP_FLAG_PRIO_MASK) >> SWAP_FLAG_PRIO_SHIFT; enable_swap_info(p, prio, swap_map, cluster_info); - pr_info("Adding %uk swap on %s. Priority:%d extents:%d across:%lluk %s%s%s%s\n", + pr_info("Adding %uk swap on %s. Priority:%d extents:%d start:%llu across:%lluk %s%s%s%s\n", K(p->pages), name->name, p->prio, nr_extents, + (unsigned long long)first_se(p)->start_block, K((unsigned long long)span), (p->flags & SWP_SOLIDSTATE) ? "SS" : "", (p->flags & SWP_DISCARDABLE) ? "D" : "",