Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'zonefs-5.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs

Pull zonefs fixes from Damien Le Moal:
"Two fixes in here:

- Revert the initial decision to silently ignore IOCB_NOWAIT for
asynchronous direct IOs to sequential zone files. Instead, return
an error to the user to signal that the feature is not supported
(from Christoph)

- A fix to zonefs Kconfig to select FS_IOMAP to avoid build failures
if no other file system already selected this option (from
Johannes)"

* tag 'zonefs-5.6-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
zonefs: select FS_IOMAP
zonefs: fix IOCB_NOWAIT handling

+5 -4
+1
fs/zonefs/Kconfig
··· 2 2 tristate "zonefs filesystem support" 3 3 depends on BLOCK 4 4 depends on BLK_DEV_ZONED 5 + select FS_IOMAP 5 6 help 6 7 zonefs is a simple file system which exposes zones of a zoned block 7 8 device (e.g. host-managed or host-aware SMR disk drives) as files.
+4 -4
fs/zonefs/super.c
··· 601 601 ssize_t ret; 602 602 603 603 /* 604 - * For async direct IOs to sequential zone files, ignore IOCB_NOWAIT 604 + * For async direct IOs to sequential zone files, refuse IOCB_NOWAIT 605 605 * as this can cause write reordering (e.g. the first aio gets EAGAIN 606 606 * on the inode lock but the second goes through but is now unaligned). 607 607 */ 608 - if (zi->i_ztype == ZONEFS_ZTYPE_SEQ && !is_sync_kiocb(iocb) 609 - && (iocb->ki_flags & IOCB_NOWAIT)) 610 - iocb->ki_flags &= ~IOCB_NOWAIT; 608 + if (zi->i_ztype == ZONEFS_ZTYPE_SEQ && !is_sync_kiocb(iocb) && 609 + (iocb->ki_flags & IOCB_NOWAIT)) 610 + return -EOPNOTSUPP; 611 611 612 612 if (iocb->ki_flags & IOCB_NOWAIT) { 613 613 if (!inode_trylock(inode))