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 X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03E02ECE58E for ; Tue, 15 Oct 2019 08:59:12 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B23922089C for ; Tue, 15 Oct 2019 08:59:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=wdc.com header.i=@wdc.com header.b="KMLZxIcR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B23922089C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=wdc.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 4A4338E0005; Tue, 15 Oct 2019 04:59:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 455378E0001; Tue, 15 Oct 2019 04:59:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 344C08E0005; Tue, 15 Oct 2019 04:59:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0240.hostedemail.com [216.40.44.240]) by kanga.kvack.org (Postfix) with ESMTP id 12DE28E0001 for ; Tue, 15 Oct 2019 04:59:11 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with SMTP id B38609407 for ; Tue, 15 Oct 2019 08:59:10 +0000 (UTC) X-FDA: 76045419660.10.copy21_8a29dd5a9b306 X-HE-Tag: copy21_8a29dd5a9b306 X-Filterd-Recvd-Size: 4337 Received: from esa4.hgst.iphmx.com (esa4.hgst.iphmx.com [216.71.154.42]) by imf33.hostedemail.com (Postfix) with ESMTP for ; Tue, 15 Oct 2019 08:59:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1571129949; x=1602665949; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3ABJ/rSB7KNqHg+mL12hjg8Dv/xkM6l7ADv2N2ztBvs=; b=KMLZxIcRcJ5CunXsLtAIXhGZI31hoOh9DSjfCXrLHlivc8pfRVp3JS42 3Hm/XV3LKfhNQ7PaKLn9bksVUhCpzRSwLNR4vwdo0GPQe2m3Le7oPirxb P84/dW5DA5i0T3n0DFlDWtlINEcrF6bMlMi5VI0DZUDRT2FmLrFFlvMCt 6kCs8TCJDI6NlHAa9GtOpb5p0V74PvuEJwb0KRKMSLsElF3i9m6KFfBja blS+t0Yx/RGMCUIJH6Z9RHe6ra/Oo6lgH3UJDSOR2ANHgIvPgr03qXh8+ wF4ageAg9Htkk0V6wq6jFdSpBJ7iCDWbzYe1I4Z9wlfSzET1YyMwwOIW1 w==; IronPort-SDR: BclucGuq15cy5cl2EU6c/WQGFgFYy5B/kiJoozoZ+fetfO09h4T9GlsrtCfotdLzRgzaRdaIur lQEobO0RbM3YRhLxdcSumTNImCPVoU/ICuiXL/q8nyifhicxUVYYE4jZ1ImLLpKj3PdRlrABFj 4CQfw8skO6GYximscJmefGv0QYKSwXnkqm4WHnRN6eZvTiDth0W5ZP6SLKcgFb/RE0aP0LjZuD 7KH0CSvep4Ngkhy0LJTNul61x4afEjfq2hTQjs7crn9v1qPukZcxhpJDwluO/tVVjN/nkNPIuE jFY= X-IronPort-AV: E=Sophos;i="5.67,298,1566835200"; d="scan'208";a="120567430" Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 15 Oct 2019 16:59:07 +0800 IronPort-SDR: lXGBZ9iDZuJEHBHjDdqgsQDNcoAmcYEf7YZGD3FzodQSrcylV+0eMiYYmtC9PsMLC4fNM72QTV pJA6udOkR/es2E0GnVFc0HUzHYlpwp75rR65T0TWF/IDKkxwtNQj5V53Z9apALgbcQaDO4uDd+ kmczV+SfunQNV80LZhd72QCT0h0HFfdGPFKjglvOqh7YUhF8ARQYcjZCxbP/K9Spuxi7xv+vhL m0ducr/3SwDnvktzaxE7CxmKM9QggtA+flqglD99NwRsnWMn7K1KBxmeHY0194RH+4gYntMpwl Hrr1NIuMjMcic5idm1H7Sipl Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2019 01:54:56 -0700 IronPort-SDR: ++tfugDXIq0n1EdYbqNhqnw0Z+6CedmpSMgWCqEaZZh3BpgtC9AWvj8ZQGjDhErmoDkhhyoO5P 1b9ODiPVdx8k23KHhAgavN6NG745eLYYSMTwfmLlzOX3QWRASJzUEjhz5zXyYOlKIaOF2VaMrr l4RoP0S+/kzzYMeVpM+SXmth4DL3NFXPyszAh/gVWeC6W4f4gCGHSoguqaUBileHpbau0/6Kpe SbIv9bZHw7NbAcP8d7ssSEurSVQ2lfnrIjE/+3ivFU2FYr1Ve9igU0ztkywEApYykeptduSuTs G/U= WDCIronportException: Internal Received: from naota.dhcp.fujisawa.hgst.com (HELO naota.fujisawa.hgst.com) ([10.149.53.115]) by uls-op-cesaip02.wdc.com with ESMTP; 15 Oct 2019 01:59:06 -0700 From: Naohiro Aota To: linux-mm@kvack.org Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, Andrew Morton , Christoph Hellwig , Naohiro Aota Subject: [PATCH v2] mm, swap: disallow swapon() on zoned block devices Date: Tue, 15 Oct 2019 17:58:14 +0900 Message-Id: <20191015085814.637837-1-naohiro.aota@wdc.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191015043827.160444-1-naohiro.aota@wdc.com> References: <20191015043827.160444-1-naohiro.aota@wdc.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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: A zoned block device consists of a number of zones. Zones are either conventional and accepting random writes or sequential and requiring that writes be issued in LBA order from each zone write pointer position. For the write restriction, zoned block devices are not suitable for a swap device. Disallow swapon on them. Signed-off-by: Naohiro Aota --- v2: add comments according to Christoph's feedback, reformat chengelog. --- mm/swapfile.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mm/swapfile.c b/mm/swapfile.c index dab43523afdd..f2c4224d1f8a 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2887,6 +2887,14 @@ static int claim_swapfile(struct swap_info_struct = *p, struct inode *inode) error =3D set_blocksize(p->bdev, PAGE_SIZE); if (error < 0) return error; + /* + * Zoned block device contains zones that have + * sequential write only restriction. For the restriction, + * zoned block devices are not suitable for a swap device. + * Disallow them here. + */ + if (blk_queue_is_zoned(p->bdev->bd_queue)) + return -EINVAL; p->flags |=3D SWP_BLKDEV; } else if (S_ISREG(inode->i_mode)) { p->bdev =3D inode->i_sb->s_bdev; --=20 2.23.0