Re: [PATCH v3] fuse: Allow page aligned writes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 8/29/24 15:45, Miklos Szeredi wrote:
> On Thu, 29 Aug 2024 at 15:07, Bernd Schubert <bschubert@xxxxxxx> wrote:
> 
>> Sorry forgot, additionally we (at DDN) will probably also need aligned
>> setxattr.
> 
> Hmm, that's trickier.
> 
> I'm thinking that with the uring interface it would be possible to
> e.g. give a separate buffer for the header and the payload.  But
> that's just handwaving, would need to flesh out the details.

New fuse-uring rfc should go out today, but I plan to do another change 
after that to get the buffer layout closer (or hopefully exactly) 
to the existing buffer layout to avoid differences.

Current uring has fuse_in_header/fuse_out_header separated from the 
request, but then there is still the per request header. 
We could change it, also for non-uring, but it would be a rather 
big change. At least for userspace. My personal preference would 
be something like

#define IN_OUT_HEADER_SZ 128
#define REQ_HEADER_SZ    256

struct fuse_header
{
     union {
        struct fuse_in_header in;
        struct fuse_out_header out;
        uint8_t in_out_header[IN_OUT_HEADER_SZ];
     };

     union {
        struct fuse_init_in  init_in;
        struct fuse_init_out init_out;
        struct cuse_init_in  cuse_in;
        struct cuse_init_out cuse_out; 
        ...
        uint8_t req_header[REQ_HEADER_SZ];
     }
}

And then actual data would follow after. Would solve 
changes in struct sizes, up to IN_OUT_HEADER_SZ and 
REQ_HEADER_SZ, but rather cumbersome.


Thanks,
Bernd





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux