On Fri, Oct 25, 2024 at 02:36:42PM -0700, Keith Busch wrote: > +static u16 blkdev_write_hint(struct kiocb *iocb, struct block_device *bdev) > +{ > + u16 hint = iocb->ki_write_hint; > + > + if (!hint) > + return file_inode(iocb->ki_filp)->i_write_hint; > + > + if (hint > bdev_max_write_hints(bdev)) > + return file_inode(iocb->ki_filp)->i_write_hint; > + > + if (bdev_is_partition(bdev) && > + !test_bit(hint - 1, bdev->write_hint_mask)) > + return file_inode(iocb->ki_filp)->i_write_hint; I would have expected an error when using an invalid stream identifier. That of course requires telling the application how many are available through e.g. statx as requested last time.