A zoned block device consists of a number of zones. Zones are eitherconventional and accepting random writes or sequential and requiringthat writes be issued in LBA order from each zone write pointerposition. For the write restriction, zoned block devices are notsuitable for a swap device. Disallow swapon on them. Signed-off-by: Naohiro Aota <naohiro.aota@xxxxxxx> --- mm/swapfile.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/swapfile.c b/mm/swapfile.c index dab43523afdd..a9da20739017 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2887,6 +2887,8 @@ static int claim_swapfile(struct swap_info_struct *p, struct inode *inode) error = set_blocksize(p->bdev, PAGE_SIZE); if (error < 0) return error; + 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; -- 2.23.0