From mboxrd@z Thu Jan 1 00:00:00 1970 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 4A3E8C3ABAC for ; Fri, 2 May 2025 23:13:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 751736B0085; Fri, 2 May 2025 19:13:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6FDF36B0088; Fri, 2 May 2025 19:13:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 613166B0089; Fri, 2 May 2025 19:13:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 432AA6B0085 for ; Fri, 2 May 2025 19:13:13 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D7254120955 for ; Fri, 2 May 2025 23:13:14 +0000 (UTC) X-FDA: 83399520708.08.BBB600F Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf27.hostedemail.com (Postfix) with ESMTP id 2CF5E40002 for ; Fri, 2 May 2025 23:13:11 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=UL7USB42; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=quarantine); spf=none (imf27.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746227593; a=rsa-sha256; cv=none; b=koe6oKYsAIy7+qshAULCMXhOSdgiqbH2Uv4jY3V5gxP+5SbDIMwKRQsKS2pQEFrfDLeU/A GOAoon8oARdeLRbIvrKPr02uUL4z9ufMj3wNmAuQbcCXkFV3OXvEUGhqtHCZUpMkeUCppe 6PquJIrG2lT4fw0evU9Mk/1gjBlnLOc= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=UL7USB42; dmarc=fail reason="No valid SPF, DKIM not aligned (relaxed)" header.from=kernel.org (policy=quarantine); spf=none (imf27.hostedemail.com: domain of mcgrof@infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=mcgrof@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746227593; h=from:from:sender: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:dkim-signature; bh=7xZlHB96OdbsZaadFl1ZFhCP7efudJCxUbyl8Hjq7Dk=; b=etmJ+Fvv/9F0NBKqTb93Qx05aN7DR4dzV7oHaABXCyQpVRa/V4t1AY9IstlTf2b1/I7Qsz E5CeeAqhdPuSMPxu1vIkeoCX04ptOxMH0w22INuK/D7m/6p4bzS/C/MeFJLu1MEGkYMzKn S7VjdS1ST5JRB2/WoeeMX6MT2DxictY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=7xZlHB96OdbsZaadFl1ZFhCP7efudJCxUbyl8Hjq7Dk=; b=UL7USB42ja/xg2QvVFYXQUTMgj BFhH8t0FKunrNRA+uM1gqFMjAvHTN/J9S0kz+P9r+i0EsiGO8f3HAE/HfU1cKhCz177Rz1JfACrOw UiiOuE+cqPIh8afcmHkX+JoyAy/rDSVaHbPmJxEcKKjOqCIDeCCroqE4ByiB2z0K26gRCVbl9flqO sod2DlawYKujJLfwOZJ/36LiNsgC/zZJBtXYT7rm5lfEVxTuls1DKUSNpEMjQJ96sK6HAOD7ITJQB thuko/0aZpgB40AeA1Lo1sD9SNECIN7LJs/0CKDmGDTjrqzOlWwTcPXT/vlhtgJl/XosNpPx1Skye UnhcMHjg==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1uAzZ7-00000003DHD-2UoX; Fri, 02 May 2025 23:13:09 +0000 From: Luis Chamberlain To: brauner@kernel.org, akpm@linux-foundation.org Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org, gost.dev@samsung.com, p.raghav@samsung.com, da.gomez@samsung.com, mcgrof@kernel.org Subject: [PATCH] swapfile: disable swapon for bs > ps devices Date: Fri, 2 May 2025 16:13:09 -0700 Message-ID: <20250502231309.766016-1-mcgrof@kernel.org> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Pre-Result: action=add header; module=dmarc; Action set by DMARC X-Rspamd-Queue-Id: 2CF5E40002 X-Rspamd-Server: rspam04 X-Stat-Signature: 7q7s9tcz3cxfrft895x9drmmqen997ct X-Rspam: Yes X-HE-Tag: 1746227591-720463 X-HE-Meta: U2FsdGVkX19SYjgRCosPB49HvZ+TWsM1N80hqZ5iUs4jjDMKDUqDl4vgAA2L7vIo44bisdWZBQMaI16JNxL2BFM7+F7gYkL28FibKopK4fwsQFErQlS1dHlhvRuAHJL7lGHxInHtsdSGFCN+Rlh3/bqhonJj4KPNRv9Bqf4vDweb9Caf1FkQDEZU43tUaEeM7X45OdyYqzl+3RWeHnDV2Dcw1pZVs8Lwcln6lbZx6bq26DHKAfcfGvaWfk7YmFcR+1i86h7NWrg/d1+ZrShUJWL6SvKsPd1DstaegrnWVfHJo5EuO1GZjpOQSGRhuaAYyLesXnxUD5XFW5NaXqtbJywOu4wWbW1AUHQTD5mk0502zxLrO64pf1Bzc1X+Y2O4DAnj0Yu+ov6xqZpxXoqGVWANQX/0ibchuDMxGjKK2UZN4G1ElSJ4XcUL9j9YJluHAC2DaAbfoRZE++lSgdqQHDtA8ZhHNgQ/OVhHcWFMpZcM/s9cAkJBVGI40DTdvb5657Msc2lpt6I2BUuftRAC3OFXRxAUoR04XiWWxcpkgo3qy6bDVtRVsnBZ+I/Sj0n9YV/7Vw7BTpBjiguW+z7ckkN/TWmnKyKUeHtlgcfDAzmifagKu9Wa2zj1fOo6dY4Fo/d/1Kwf6SPIR3pPm8So+AUFOPpLEDh80v0XC/O1FQHf2dI6DiZqJHFJjZb9CgJBi6jImhIdUBUhSPEhy061YPnjZ5K4SPkrecvdQ23CHKTxRJo0UdQisEmXG6zgoGNVnE9w0yOWhw4y1t5oFfyqPi2qjc8dJezw+Sce+AfPLUy62KxCCt3FHZSr7KLnR5ymCsaDRdmplLK1sfyq2sqmYet1Cx29nkHpgaY/se0TOzccS0b4L0Sv8yxXM6TkDa0Wfvtoh5OlBOCW0btZ+SxFq/+35eczWqtQ5KFL/PS+FRz6cPzKvU1coQBN+BmuxjgchjeoDy6nfLqfyYtgGhr C8uUXKa+ 75wA3LxlbziVpIgUgZo/ABF76OaMg6im47d5kCBVm/EErARi0FqoO+Yab9OGPfApAs4cIwaA4kEK1QcMewUZqGqGJamITjgETK3WTBOeoZO0wXqIeg8GCN3AGMsOgt2TpO2VOsdbfAkMttkHwM+EysbiyVU7hkiUayXe7vZAqBUbIMpApHtcwrv4Na38TZrPWoFn6CXKp85BIqD8/RaTkElQauBmXvGj8TvkN7wisclpqMgow2QL/398pUqz6038hZeqLxBkpzW2QhcDpkGPqxeeOPiyAvuu0pDltbFw5dKX3Xeafdl60rEF5z3nE4bTeUzHtH5+zDlTR+eMqXWIoMHQh5gYfUH5ZflMfLfH/obVHBTvlj7keWJRcOtF4YK/WujjQXrLZzPG0AAC+vO5OTFWDGHdRUgSScToelkHUUX7dL70= 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: Devices which have a requirement for bs > ps cannot be supported for swap as swap still needs work. Now that the block device cache sets the min order for block devices we need this stop gap otherwise all swap operations are rejected. Without this you'll end up with errors on these devices as the swap code still needs much love to support min order. # cat /sys/block/nvme3n1/queue/logical_block_size 16384 # mkswap /dev/nvme3n1 mkswap: /dev/nvme3n1: warning: wiping old swap signature. Setting up swapspace version 1, size = 100 GiB (107374178304 bytes) no label, UUID=6af76b5c-7e7b-4902-b7f7-4c24dde6fa36 # swapon /dev/nvme3n1 swapon: /dev/nvme3n1: swapon failed: Invalid argument Signed-off-by: Luis Chamberlain --- I had posted an RFC about a heads up about us needing this less than a year ago [0] and well, we now need it for v6.15 since swap code is just not ready. Christian, this should probably go through your tree. I tested it on a LBS device where the logical block size is 16 KiB on x86_64 and confirm that while mkswap would swapon would be rejected. [0] https://lore.kernel.org/all/20240627000924.2074949-1-mcgrof@kernel.org/T/#u mm/swapfile.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mm/swapfile.c b/mm/swapfile.c index 2eff8b51a945..c24ec16dfc7a 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -3322,6 +3322,11 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags) goto bad_swap_unlock_inode; } + if (mapping_min_folio_order(mapping) > 0) { + error = -EINVAL; + goto bad_swap_unlock_inode; + } + /* * Read the swap header. */ -- 2.47.2