[PATCHv9 4/7] block, fs: add write hint to kiocb
Keith Busch
kbusch at kernel.org
Mon Oct 28 07:38:05 PDT 2024
On Mon, Oct 28, 2024 at 12:59:32PM +0100, Christoph Hellwig wrote:
> 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.
It's a hint. fcntl doesn't error if you give an unusable hint, so
neither should this. You get sane default behavior.
More information about the Linux-nvme
mailing list