[PATCHv9 4/7] block, fs: add write hint to kiocb
Christoph Hellwig
hch at lst.de
Mon Oct 28 09:08:08 PDT 2024
On Mon, Oct 28, 2024 at 08:38:05AM -0600, Keith Busch wrote:
> > > + 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.
Well, why does it have to be a hint?
If I have a data placement aware application I really want to know
into how many buckets I can sort and adjust my algorithm for it.
And I'd rather have an error checked interface to pass that down
as far as I can.
Same for my file system use case. I guess you have a use case where
a hint would be enough, at least with good enough knowledge of the
underlying implementation. But would there be an actual downside
in not having a hint? Because historically speaking everything we've
done as a not error checked vaguely defined hint has not been all
the useful, but it in hardware or software interfaces.
More information about the Linux-nvme
mailing list