Re: [PATCH 08/14] libfuse: connect high level fuse library to fuse_reply_attr_iflags

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

 



On Tue, Jul 29, 2025 at 7:35 AM Darrick J. Wong <djwong@xxxxxxxxxx> wrote:
>
> On Thu, Jul 24, 2025 at 09:56:16PM +0200, Amir Goldstein wrote:
> > > > Also a bit surprising to see all your lowlevel work and then fuse high
> > > > level coming ;)
> > >
> > > Right now fuse2fs is a high level fuse server, so I hacked whatever I
> > > needed into fuse.c to make it sort of work, awkwardly.  That stuff
> > > doesn't need to live forever.
> > >
> > > In the long run, the lowlevel server will probably have better
> > > performance because fuse2fs++ can pass ext2 inode numbers to the kernel
> > > as the nodeids, and libext2fs can look up inodes via nodeid.  No more
> > > path construction overhead!
> > >
> >
> > I was wondering how well an LLM would be in the mechanical task of
> > converting fuse2fs to a low level fuse fs, so I was tempted to try.
> >
> > Feel free to use it or lose it or use as a reference, because at least
> > for basic testing it seems to works:
> > https://github.com/amir73il/e2fsprogs/commits/fuse4fs/
>
> Heh, I'll take a closer look in the morning, but it looks like a
> reasonable conversion.  Are you willing to add a "Co-developed-by" tag
> per Sasha's recent proposal[1] if I pull it in?
>
> [1] https://lore.kernel.org/lkml/20250727195802.2222764-1-sashal@xxxxxxxxxx/
>

Sure. Added and pushed.

FYI, some behind the scenes for the interested:
- The commit titles roughly align to the LLM prompts that I used
- One liner commit message "LLM aided conversion" means it's mostly hands off
- Anything other than the one liner commit message suggests human intervention,
  that was usually done to make the code more human friendly, the patches
  diffstat smaller and frankly, to match my human preferences
- I did not let the agent touch git at all and I took care of applying
fixes into
  respective patches manually when needed
- The code compiles, but obviously does not work mid series
- The most interesting part was the last commit of tests, when the agent
  was testing and fixing its own conversion. This comes with some nice
  observations about machine-human collaboration in this context, for example:
- The machine figured out the need to convert
  EXT2_ROOT_INO <=> FUSE_ROOT_INO by itself from self testing,
  created the conversion helpers and used them in lookup and some other
  methods
- Obviously, it would have figured out that the conversion helpers need to
  be used for all methods sooner or later during self testing, but its self
  reflecting cycles can be so long and tedious for an observation that
  look so trivial, so a nudge from human "convert all methods" really helps
  speeding things up, at least with the agent/model/version that I used

I think that language/API conversion is one of the tasks where LLM
can contribute most to humans, as long the work is meticulously
reviewed by a human that has good knowledge of both source and
target language/dialect.

Thanks,
Amir.





[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