From patchwork Sun Dec 1 01:49:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Morton X-Patchwork-Id: 11268209 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BD292112B for ; Sun, 1 Dec 2019 01:50:00 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7A50B215E5 for ; Sun, 1 Dec 2019 01:50:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="rZbwFGIW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7A50B215E5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2528F6B027A; Sat, 30 Nov 2019 20:49:59 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 22BE46B027B; Sat, 30 Nov 2019 20:49:59 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1401E6B027C; Sat, 30 Nov 2019 20:49:59 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0252.hostedemail.com [216.40.44.252]) by kanga.kvack.org (Postfix) with ESMTP id EA1446B027A for ; Sat, 30 Nov 2019 20:49:58 -0500 (EST) Received: from smtpin13.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with SMTP id 95F3540FB for ; Sun, 1 Dec 2019 01:49:58 +0000 (UTC) X-FDA: 76214891676.13.cats60_9146b36ac3a00 X-Spam-Summary: 2,0,0,5a7616698a72441d,d41d8cd98f00b204,akpm@linux-foundation.org,:akpm@linux-foundation.org:hare@suse.de:hch@lst.de:hughd@google.com::mm-commits@vger.kernel.org:naohiro.aota@wdc.com:torvalds@linux-foundation.org:tytso@mit.edu:willy@infradead.org,RULES_HIT:41:355:379:800:960:967:973:988:989:1260:1263:1345:1381:1431:1437:1534:1541:1711:1730:1747:1777:1792:2198:2199:2393:2525:2559:2563:2682:2685:2731:2859:2902:2933:2937:2939:2942:2945:2947:2951:2954:3022:3138:3139:3140:3141:3142:3352:3865:3866:3868:3870:3874:3934:3936:3938:3941:3944:3947:3950:3953:3956:3959:4250:4321:5007:6261:6653:7576:8599:9025:9545:10004:10913:11026:11658:11914:12043:12048:12296:12297:12517:12519:12555:12679:12783:12986:13069:13161:13229:13311:13357:13846:14181:14384:14721:14849:21080:21451:21627:21740:21939:30034:30054,0,RBL:error,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fp,MSBL:0,DNSBL:neutral,Custom_rules:0:0:0,LFtime:6,LUA_SUMMARY:none X-HE-Tag: cats60_9146b36ac3a00 X-Filterd-Recvd-Size: 2886 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf01.hostedemail.com (Postfix) with ESMTP for ; Sun, 1 Dec 2019 01:49:58 +0000 (UTC) Received: from localhost.localdomain (c-73-231-172-41.hsd1.ca.comcast.net [73.231.172.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 48B902086A; Sun, 1 Dec 2019 01:49:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575164997; bh=A0GEc7IFh8b6AbmlxqjSNknz+r6JLlOHUayMLRhqlis=; h=Date:From:To:Subject:From; b=rZbwFGIWULkTZ6RQk+MTczDeNJWF8UCCzysKHPCA+NFB36O2PA2GZK6vw9wDIlftx P0cWJjd0TG5pdz2rdYWaj/+aud4hf4dLoTE2svcTM+yMCeJMPwLUg71G6VPy5xAtGW xyf2lCyLzWNjkHuTQU7awJRqwcF6bNUMUUUv1ZCY= Date: Sat, 30 Nov 2019 17:49:56 -0800 From: akpm@linux-foundation.org To: akpm@linux-foundation.org, hare@suse.de, hch@lst.de, hughd@google.com, linux-mm@kvack.org, mm-commits@vger.kernel.org, naohiro.aota@wdc.com, torvalds@linux-foundation.org, tytso@mit.edu, willy@infradead.org Subject: [patch 016/158] mm, swap: disallow swapon() on zoned block devices Message-ID: <20191201014956.tXC37Qp6P%akpm@linux-foundation.org> User-Agent: s-nail v14.8.16 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: From: Naohiro Aota Subject: mm, swap: disallow swapon() on zoned block devices 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. [akpm@linux-foundation.org: reflow and reword comment, per Christoph] Link: http://lkml.kernel.org/r/20191015085814.637837-1-naohiro.aota@wdc.com Signed-off-by: Naohiro Aota Reviewed-by: Christoph Hellwig Cc: Matthew Wilcox Cc: "Theodore Y. Ts'o" Cc: Hannes Reinecke Cc: Hugh Dickins Signed-off-by: Andrew Morton --- mm/swapfile.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/mm/swapfile.c~mm-swap-disallow-swapon-on-zoned-block-devices +++ a/mm/swapfile.c @@ -2887,6 +2887,13 @@ static int claim_swapfile(struct swap_in error = set_blocksize(p->bdev, PAGE_SIZE); if (error < 0) return error; + /* + * Zoned block devices contain zones that have a sequential + * write only restriction. Hence zoned block devices are not + * suitable for swapping. Disallow them here. + */ + if (blk_queue_is_zoned(p->bdev->bd_queue)) + return -EINVAL; p->flags |= SWP_BLKDEV; } else if (S_ISREG(inode->i_mode)) { p->bdev = inode->i_sb->s_bdev;