Re: 2.6.24-rc2-mm1

Torsten Kaiser
2007-11-15T21:24:40Z

On Nov 15, 2007 6:36 PM, Jan Blunck <jblunck@suse.de> wrote:
> On Wed, Nov 14, Torsten Kaiser wrote:
>
> > > > So I can create new directories, but not new files. Reading files works normal.
> > > >>
> > > > The client is 2.6.24-rc2-mm1, the server 2.6.22-gentoo-r9.
> >
> > I added Jan Blunck to the recipents, as he wrote
> > use-struct-path-in-struct-svc_expkey and
> > use-struct-path-in-struct-svc_export
>
> These patches only change the server code. Hard to imagine how this could
> break the client. The other patches are pure cleanups only.

While the next bisect proved that these patches are innocent, I'm
still blaming you for my problems. ;)

The problem with the first bisect-try was, that everything between
bisect-good: r-o-bind-mounts-elevate-write-count-over-calls-to-vfs_rename
and
bisect-bad: use-struct-path-in-struct-svc_export
did not compile like this:

CC [M] fs/nfsd/vfs.o
fs/nfsd/vfs.c: In function 'nfsd_rename':
fs/nfsd/vfs.c:1695: error: request for member 'mnt' in something not a
structure or union
make[2]: *** [fs/nfsd/vfs.o] Error 1
make[1]: *** [fs/nfsd] Error 2
make: *** [fs] Error 2

This is cause by: nfsd-fix-wrong-mnt_writer-count-in-rename

With this patch reverted I was able to finish the bisect:

Good: move-struct-path-into-its-own-header
...: embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt
Bad: embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt-checkpatch-fixes

As you also wrote
embed-a-struct-path-into-struct-nameidata-instead-of-nd-dentrymnt , I
would like to ask you to take another look at it.

The only thing that looks suspicious to me in that patch is the
following change in nfs4_atomic_open(), nfs4_open_revalidate() and
nfs4_proc_create()

- struct path path = {
- .mnt = nd->mnt,
- .dentry = dentry,
- };
+ struct path path = nd->path;

This changes the path.dentry from the explizit parameter 'dentry' to
the embedded dentry from the parameter 'nd'.

Hope this helps.

Torsten