On Thu, Jan 20, 2022 at 06:36:03PM -0800, Darrick J. Wong wrote:
> Sure. How's this? I couldn't think of a real case of directio
> requiring different alignments for pos and bytecount, so the only real
> addition here is the alignment requirements for best performance.
While I see some benefits of adding the information to a catchall like
statx we really need to be careful to not bloat the structure like
crazy.
> struct statx {
> ...
> /* 0x90 */
> __u64 stx_mnt_id;
>
> /* Memory buffer alignment required for directio, in bytes. */
> __u32 stx_dio_mem_align;
>
> /* File range alignment required for directio, in bytes. */
> __u32 stx_dio_fpos_align_min;
So this really needs a good explanation why we need both iven that we
had no real use case for this.
> /* File range alignment needed for best performance, in bytes. */
> __u32 stx_dio_fpos_align_opt;
And why we really care about this. I guess you want to allow sector
size dio in reflink setups, but discourage it. But is this really as
important?
> /* Maximum size of a directio request, in bytes. */
> __u32 stx_dio_max_iosize;
I know XFS_IOC_DIOINFO had this, but does it really make much sense?
Why do we need it for direct I/O and not buffered I/O?
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel