| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Set NOCACHE flag for CREATE namei() calls, do not specially handle
MAKEENTRY in VOP_LOOKUP().
|
|
|
|
|
|
|
| |
Delete some duplicate code that was harmless because
exactly the same code is at the end of the nfscl_checksattr()
function that is called just before it. As such, this code
had already been executed and didn't do anything.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A deadlock in the NFSv4 server with vfs.nfsd.enable_locallocks=1
was reported via email. This was caused by a LOR between the
sleep lock used to serialize the local locking (nfsrv_locklf())
and locking the vnode. I believe this patch fixes the problem
by delaying relocking of the vnode until the sleep lock is
unlocked (nfsrv_unlocklf()). To avoid nfsvno_advlock() having the side
effect of unlocking the vnode, unlocking the vnode was moved to before
the functions that call nfsvno_advlock().
It shouldn't affect the execution of the default case where
vfs.nfsd.enable_locallocks=0.
|
|
|
|
| |
Do not call VFS_SYNC() before VFS_UNMOUNT() for forced unmount.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adjust the test of a KASSERT to better match the intent.
This assertion was added in r246213 as a guard against corrupted mbufs
arriving from drivers, the key distinguishing factor of said mbufs being
that they had a negative length. Given we're in a while loop specifically
designed to skip over zero-length mbufs, panicking on a zero-length mbuf
seems incorrect.
Suggested by: rmacklem
MFH go-ahead: benno
Approved by: grog (co-mentor)
|
|
|
|
|
|
|
|
| |
ifdef ext2_print_inode which is not really used.
ext2_print_inode was nice to have for initial development work but
is not really used anymore. #ifdef it under a new EXT2FS_DEBUG knob
so that we don't spend time compiling it.
|
|
|
|
|
|
|
|
|
|
| |
Fix smbfs to not zero out statfs f_flags field. Previously, this
made getmntinfo() return empty flags for smbfs filesystems when
called with MNT_WAIT. It's not visible with mount(8), since it uses
MNT_NOWAIT, but broke autounmount(8) operation.
PR: 195161
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ext2fs: Fix old out-of-bounds access.
Overrunning buffer pointed to by (caddr_t)&oip->i_db[0] of 48 bytes by
passing it to a function which accesses it at byte offset 59 using
argument 60UL.
The issue was inherited from an older FFS implementation and
fixed there with by merging UFS2 in r98542. We follow the
FFS fix.
CID: 1007665
Discussed with: bde
|
|
|
|
|
|
| |
Fix handling of "conn" mount_nfs(8) option.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
Add support for "timeo", "actimeo", "noac", and "proto" options
to mount_nfs(8). They are implemented on Linux, OS X, and Solaris,
and thus can be expected to appear in automounter maps.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Add assertion to catch duplicated nodes.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Remove remnants of some cleanup; no functional changes.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Simplify; no functional changes.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Make autofs use shared vnode locks.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Fix autofs debug macros.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Make autofs(4) use shared lock for lookups, instead of exclusive one.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Call uma_zfree() outside of lock, and improve comment.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Make autofs timeout handling use timeout task instead of callout;
that's because the handler can sleep on sx lock.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
Clip the settings for the NFS rsize, wsize mount options
to a power of 2. For non-power of 2 settings, intermittent
page faults have been reported. Although the bug that causes
these page faults/crashes has not been identified, it does
not appear to occur when rsize, wsize is a power of 2.
|
|
|
|
|
|
|
|
|
| |
Original commit message was
Allow the vfs.nfsd knobs to be set from loader.conf (or using
kenv(8)). This is useful when nfsd is loaded as module.
As I understand, automatic fetch from kenv does not work in stable/10.
Merge the change still, to reduce code difference.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two sysctl(8) to enable/disable NFSv4 server to check when setting
user nobody and/or setting group nogroup as owner of a file or directory.
Usually at the client side, if there is an username that is not in the
client's passwd database, some clients will send 'nobody@<your.dns.domain>'
in the wire and the NFSv4 server will treat it as an ERROR.
However, if you have a valid user nobody in your passwd database,
the NFSv4 server will treat it as a NFSERR_BADOWNER as its believes the
client doesn't has the username mapped.
Submitted by: Loic Blot <loic.blot@unix-experience.fr>
Reviewed by: rmacklem
Approved by: rmacklem
Sponsored by: QNAP Systems Inc.
|
|
|
|
|
|
|
| |
- De-vnet hash sizes and hash masks.
- Fix multiple issues related to arguments passed to SYSCTL macros.
Sponsored by: Mellanox Technologies
|
|
|
|
| |
Style changes for deadfs.
|
|
|
|
|
| |
When vnode bypass cannot be performed on the cdev file descriptor for
read/write/poll/ioctl, call standard vnode filedescriptor fop.
|
|
|
|
|
|
| |
Change the deadfs poll VOP to return POLLIN|POLLRDNORM if the caller
is interested in i/o state. Return POLLNVAL for invalid bits, similar
to poll_no_poll().
|
|
|
|
| |
Do not set IN_ACCESS flag for read-only mounts.
|
|
|
|
|
|
|
|
| |
ext2fs: add ext2_getpages().
Literally copy/pasted from ffs_getpages().
Tested with: fsx
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix thinko that, with two map entries like shown below, in that order,
made autofs mix them up: the second one wasn't visible in ls(1) output,
and trying to access it would trigger mount for the first one.
foobar host:/foobar
foo host:/foo
Approved by: re (gjb)
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
Fix bug that, assuming a/ is a root of NFS filesystem mounted on autofs,
prevented "mv a/from a/to" from working, while "cd a && mv from to" was ok.
PR: 192948
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
Autofs softc needs to be global anyway, so don't pass it as a local
variable, and don't store in autofs_mount. Also rename it from 'sc'
to 'autofs_softc', since it's global and extern.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
Add comment explaining one of the quirks in autofs.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Fix includes.
Suggested by: pluknet@
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Use __FBSDID() properly.
Suggested by: pluknet@
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Rework ".." lookup; previous one failed to properly busy the mountpoint.
Reviewed by: kib@
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring in the new automounter, similar to what's provided in most other
UNIX systems, eg. MacOS X and Solaris. It uses Sun-compatible map format,
has proper kernel support, and LDAP integration.
There are still a few outstanding problems; they will be fixed shortly.
Reviewed by: allanjude@, emaste@, kib@, wblock@ (earlier versions)
Phabric: D523
Relnotes: yes
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
| |
Unlock ldvp and lock dvp to compensate for possible ldvp unlock in lower
VOP_LOOKUP() and dvp reclamation. Use cached value of dvp->v_mount.
|
|
|
|
|
|
| |
Change the NFS server's printf related to hitting
the DRC cache's flood level so that it suggests
increasing vfs.nfsd.tcphighwater.
|
|
|
|
|
| |
Do not generate 1000 unique lock names for nfsrc hash chain locks.
Shorten the names of some nfs mutexes.
|
|
|
|
|
| |
Assert that nullfs vnode has VV_ROOT set whenever lower vnode has.
Assert that dotdot lookup on the root vnode is not performed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new NFSv3 server did not generate directory postop attributes for
the reply to ReaddirPlus when the server failed within the loop
that calls VFS_VGET(). This failure is most likely an error
return from VFS_VGET() caused by a bogus d_fileno that was
truncated to 32bits.
This patch fixes the server so that it will return directory postop
attributes for the failure. It does not fix the underlying issue caused
by d_fileno being uint32_t when a file system like ZFS generates
a fileno that is greater than 32bits.
|
|
|
|
|
|
|
|
| |
Merge the NFSv4.1 server code in projects/nfsv4.1-server over
into head. The code is not believed to have any effect
on the semantics of non-NFSv4.1 server behaviour.
It is a rather large merge, but I am hoping that there will
not be any regressions for the NFS server.
|
|
|
|
| |
Remove unused header.
|
|
|
|
|
| |
Check for the cross-device cross-link attempt in the VFS, instead of
VOP_LINK() implemenations.
|
|
|
|
| |
Do not ignore error from tmpfs_alloc_vp().
|
|
|
|
| |
Rework the tmpfs unmount.
|
|
|
|
|
|
|
|
|
|
|
| |
Add OBJ_TMPFS_NODE flag.
MFC r268616:
Set the OBJ_TMPFS_NODE flag for vm_object of VREG tmpfs node.
MFC r269053:
Correct assertion. tmpfs vm object is always at the bottom of
the shadow chain.
|
|
|
|
|
| |
Use tmpfs_vn_get_ino_gen() to handle the races with reclaim in tmpfs
dotdot lookup.
|
|
|
|
| |
Style. Add comment about lock mode.
|
|
|
|
| |
Replace goto's with the return.
|
|
|
|
| |
Add convenience macro to assert tmpfs node lock.
|