mirror of
https://git.FreeBSD.org/src.git
synced 2024-10-18 02:19:39 +00:00
Revert "nfscl: Enable support for the Lookup+Open RPC"
This reverts commit 9792c7d3eb
.
The email thread "panic: nfsv4root ref cnt cpuid=1"
on freebsd-fs@freebsd.org descibes
crashes that occurred for a NFSv4.1 client mount
using "oneopenown" where the same file is re-opened
many times by different processes.
The crashes appear to have been caused by the use
of the Lookup+Open RPC (which only happens for
mounts using the "oneopenown" option).
There appears to be a race between closure of the
open and the open acquired by the Lookup+Open RPC.
Since Lookup+Open RPCs are only an optimization
and can only be done for "oneopenown" at this time,
this patch reverts enabling of them.
It may be possible to fix the code so that
Lookup+Open works reliably, so the code is left
in place (although it will never be executed) for now.
Reported by: J David <j.david.lists@gmail.com>
MFC after: 2 weeks
This commit is contained in:
parent
76c60597fa
commit
6df05714da
@ -1309,6 +1309,11 @@ nfs_lookup(struct vop_lookup_args *ap)
|
||||
}
|
||||
|
||||
openmode = 0;
|
||||
#if 0
|
||||
/*
|
||||
* The use of LookupOpen breaks some builds. It is disabled
|
||||
* until that is fixed.
|
||||
*/
|
||||
/*
|
||||
* If this an NFSv4.1/4.2 mount using the "oneopenown" mount
|
||||
* option, it is possible to do the Open operation in the same
|
||||
@ -1328,6 +1333,7 @@ nfs_lookup(struct vop_lookup_args *ap)
|
||||
openmode |= NFSV4OPEN_ACCESSWRITE;
|
||||
}
|
||||
NFSUNLOCKMNT(nmp);
|
||||
#endif
|
||||
|
||||
newvp = NULLVP;
|
||||
NFSINCRGLOBAL(nfsstatsv1.lookupcache_misses);
|
||||
|
Loading…
Reference in New Issue
Block a user