Re: [PATCHv11 0/9] write hints with nvme fdp and scsi streams

Kanchan Joshi
2024-11-12T13:26:33Z

On 11/11/2024 3:59 PM, Christoph Hellwig wrote:
> - there is a separate write_stream value now instead of overloading
> the write hint. For now it is an 8-bit field for the internal
> data structures so that we don't have to grow the bio, but all the
> user interfaces are kept at 16 bits (or in case of statx reduced to
> it). If this becomes now enough because we need to support devices
> with multiple reclaim groups we'll have to find some space by using
> unions or growing structures

> - block/fops.c is the place to map the existing write hints into
> the write streams instead of the driver

Last time when I attempted this separation between temperature and
placement hints, it required adding a new fcntl[*] too because
per-inode/file hints continues to be useful even when they are treated
as passthrough by FS.

Applications are able to use temperature hints to group multiple files
on device regardless of the logical placement made by FS.
The same ability is useful for write-streams/placement-hints too. But
these patches reduce the scope to only block device.

IMO, passthrough propagation of hints/streams should continue to remain
the default behavior as it applies on multiple filesystems. And more
active placement by FS should rather be enabled by some opt in (e.g.,
mount option). Such opt in will anyway be needed for other reasons (like
regression avoidance on a broken device).

[*]