Re: [PATCH 1/6] VFS: improve interface for lookup_one functions

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

 



On Fri, Apr 04, 2025 at 03:41:01PM +0200, Christian Brauner wrote:
> On Fri, Mar 28, 2025 at 12:18:16PM +1100, NeilBrown wrote:
> > On Fri, 21 Mar 2025, David Howells wrote:
> > > NeilBrown <neil@xxxxxxxxxx> wrote:
> > > 
> > > > Also the path component name is passed as "name" and "len" which are
> > > > (confusingly?) separate by the "base".  In some cases the len in simply
> > > > "strlen" and so passing a qstr using QSTR() would make the calling
> > > > clearer.
> > > > Other callers do pass separate name and len which are stored in a
> > > > struct.  Sometimes these are already stored in a qstr, other times it
> > > > easily could be.
> > > > 
> > > > So this patch changes these three functions to receive a 'struct qstr',
> > > > and improves the documentation.
> > > 
> > > You did want 'struct qstr' not 'struct qstr *' right?  I think there are
> > > arches where this will cause the compiler to skip a register argument or two
> > > if it's the second argument or third argument - i386 for example.  Plus you
> > > have an 8-byte alignment requirement because of the u64 in it that may suck if
> > > passed through several layers of function.
> > 
> > I don't think it is passed through several layers - except where the
> > intermediate are inlined.
> > And gcc enforces 16 byte alignment of the stack on function calls for
> > i386, so I don't think alignment will be an issue.
> > 
> > I thought 'struct qstr' would result in slightly cleaner calling.  But I
> > cannot make a strong argument in favour of it so I'm willing to change
> > if there are concerns.
> 
> Fwiw, I massaged the whole series to pass struct qstr * instead of
> struct qstr. I just forgot to finish that rebase and push.
> /me doing so now.

Fwiw, there were a bunch of build failures for me when I built the
individual commits that I fixed up. I generally do:

git rebase -i HEAD~XXXXX -x "make -j512"

with an allmodconfig to make sure that it cleanly builds at each commit.




[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