| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
PR: 204340
Reported by: Panzura
Reviewed by: rmacklem
Approved by: rmacklem
|
|
|
|
| |
Minor style fixes.
|
|
|
|
| |
Add a mount option for tmpfs(5) to not use namecache.
|
|
|
|
| |
Implement VOP_VPTOCNP() for tmpfs.
|
|
|
|
| |
VNON nodes cannot exist.
|
|
|
|
| |
Refcount tmpfs nodes and mount structures.
|
|
|
|
| |
Make tmpfs directory cursor available outside tmpfs_subr.c.
|
|
|
|
| |
Rename tmpfs_mount member allnode_lock to include namespace prefix.
|
|
|
|
|
|
|
| |
Rework some tmpfs lock assertions.
MFC r312412:
Protect macro argument.
|
|
|
|
|
|
|
| |
Style fixes and comment updates.
MFC r312435:
Remove mistakenly merged field.
|
|
|
|
| |
Remove unused union member, fifos on tmpfs are implemented in common code.
|
|
|
|
| |
tmpfs: manage tm_pages_used with atomics.
|
|
|
|
| |
Perform a lockless check in tmpfs_itimes.
|
|
|
|
|
|
| |
Workaround NFS bug with readdirplus when there are greater than 1 billion files in a filesystem.
Reviewed by: kib
|
|
|
|
| |
Forcibly remove the cached items from pseudofs vncache on module unload.
|
|
|
|
| |
Lock tmpfs node tn_status updates done under the shared vnode lock.
|
|
|
|
| |
Use vnode lock assertion expression, assert exclusive ownership.
|
|
|
|
| |
Remove dead code.
|
|
|
|
|
|
| |
style(9) cleanups.
Just to reduce some of the issues found with indent(1).
|
|
|
|
| |
32-bit inode numbers.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the NFSv4.1 server for Open reclaim after a reboot.
The NFSv4.1 server failed to update the nfs-stablerestart file for
a client when the client was issued its first Open. As such, recovery
of Opens after a server reboot failed with NFSERR_NOGRACE.
This patch fixes this.
It also changes the code so that it malloc()'s the 1024 byte array
instead of allocating it on the kernel stack for both NFSv4.0 and NFSv4.1.
Note that this bug only affected NFSv4.1 and only when clients attempted
to reclaim Opens after a server reboot.
|
|
|
|
| |
Do not enable nullfs vnode caching over nfs v4 mounts.
|
|
|
|
|
|
| |
ext2fs: avoid possible overflow when calculating malloc size.
This is inspired on r308064 for the case of mounting UFS.
|
|
|
|
| |
Enable vn_io_fault() deadlock avoidance for msdosfs.
|
|
|
|
|
| |
Ensure that cluster allocations never allocate clusters outside the
volume limits.
|
|
|
|
|
| |
If the fatchain() call in chainalloc() returned an error, revert
marking the cluster run as in-use.
|
|
|
|
| |
Use symbolic name for the value of fully free word in pm_inusemap.
|
|
|
|
| |
Use symbolic name for the free cluster number.
|
|
|
|
| |
Fix comment formatting.
|
|
|
|
| |
Remove useless NULL check.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A problem w.r.t. interoperation between the FreeBSD NFSv4.1 server with
delegations enabled and the Linux NFSv4.1 client was reported in
reviews.freebsd.org/D7891.
I believe that the FreeBSD server behaviour conforms to the RFC and that
the Linux client has a bug. Therefore, I do not think the proposed patch
is appropriate. When nfsrv_writedelegifpos is non-zero, the FreeBSD
server will issue a write delegation for a read open if possible.
The Linux client then erroneously assumes that the credentials used for
the read open can write the file.
This patch reverses the default value for nfsrv_writedelegifpos to 0 so
that the default behaviour is Linux compatible and adds a sysctl that can
be used to set nfsrv_writedelegifpos.
This change should only affect users that are mounting a FreeBSD server
with delegations enabled (they are not enabled by default) with a Linux
NFSv4.1 client mount.
|
|
|
|
|
|
|
| |
Mount msdosfs with longnames support by default.
The old behavior depended on the FAT version and on what files were in the
root directory. "mount_msdosfs -o shortnames" is still supported.
|
|
|
|
|
|
|
|
| |
This is only allowed by root and only used by the nfs daemon, which
should not provide an incorrect value. However, it's still good
practice to validate data provided by userland.
PR: 206626
|
|
|
|
| |
break the build.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the nfsstats structure to include the changes needed by
the patch in D1626 plus changes so that it includes counts for
NFSv4.1 (and the draft of NFSv4.2).
Also, make all the counts uint64_t and add a vers field at the
beginning, so that future revisions can easily be implemented.
There is code in place to handle the old vesion of the nfsstats
structure for backwards binary compatibility.
Subsequent commits will update nfsstat(8) to use the new fields.
|
|
|
|
|
|
|
|
|
|
| |
ext2fs: Add defines for some missing ext4 features and inode flags.
These are currently unused in our implementation and some even appear to
have not been implemented yet on linux but it is good to keep them for
reference.
Obtained from: NetBSD
|
|
|
|
| |
Convert another tmpfs assert into runtime check.
|
|
|
|
|
|
|
| |
Remove unneeded (recursing) Giant acquisition around vprintf(9).
MFC r303715:
Remove ncl_printf(), use printf(9) directly.
|
|
|
|
|
|
|
| |
Some style changes. Fix a typo in comment.
MFC r303705:
Remove Giant asserts. Update comment.
|
|
|
|
|
|
|
|
| |
Since VOP_INACTIVE() is not guaranteed to be called, all cleanups
executed by inactive methods, must be repeated on reclaim.
MFC r302210:
Clean other flags in ncl_inactive, only.
|
|
|
|
| |
Do not access NFS data for reclaimed vnode.
|
|
|
|
| |
Only access vp->v_rdev for VCHR vnodes in devfs_reclaim().
|
|
|
|
|
| |
Remove zero assignments in the cdev allocator. cdp memory is
requested with M_ZERO.
|
|
|
|
|
|
|
|
|
| |
If a local (AF_LOCAL, AF_UNIX) socket creation (bind) is attempted
on a fuse mounted file system, it will crash. Although it may be
possible to make this work correctly, this patch avoids the crash
in the meantime.
I removed the MPASS(), since panicing for the FIFO case didn't make
a lot of sense when it returns an error for the others.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix fuse for "cp" of a mode 0444 file to the file system.
When "cp" of a file with read-only (mode 0444) to a fuse mounted
file system was attempted it would fail with EACCES. This was because
fuse would attempt to open the file WRONLY and the open would fail.
This patch changes the fuse_vnop_open() to test for an extant read-write
open and use that, if it is available.
This makes the "cp" of a read-only file to the fuse mounted file system
work ok.
There are simpler ways to fix this than adding the fuse_filehandle_validrw()
function, but this function is useful for future patches related to
exporting a fuse filesystem via NFS.
|
|
|
|
|
|
|
|
|
| |
Fix fuse so that stale buffer cache data isn't read.
When I/O on a file under fuse is switched from buffered to DIRECT_IO,
it was possible to read stale (before a recent modification) data from
the buffer cache. This patch invalidates the buffer cache for the
file to fix this.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix fuse to use DIRECT_IO when required.
When a file is opened write-only and a partial block was written,
buffered I/O would try and read the whole block in. This would
result in a hung thread, since there was no open (fuse filehandle)
that allowed reading. This patch avoids the problem by forcing
DIRECT_IO for this case.
It also sets DIRECT_IO when the file system specifies the FN_DIRECTIO
flag in its reply to the open.
|
|
|
|
|
|
|
| |
Fix use-after-free in NFS4 lock test service.
Trivial use-after-free where stp was freed too soon in the non-error path.
To fix, simply move its release to the end of the routine.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't increment srvrpccnt[] for the NFSv4.1 operations.
When support for NFSv4.1 was added to the NFS server, it broke
the server rpc count stats, since newnfsstats.srvrpccnt[] doesn't
have entries for the new NFSv4.1 operations.
Without this patch, the code was incrementing bogus entries in
newnfsstats for the new NFSv4.1 operations.
This patch is an interim fix. The nfsstats structure needs to be
updated and that will come in a future commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Give mountd -S priority over outstanding RPC requests when suspending the nfsd.
It was reported via email that under certain heavy RPC loads
long delays before the exports would be updated was observed
when using "mountd -S". This patch reverses the priority between
the exclusive lock request to suspend the nfsd threads and the
shared lock request for performing RPCs.
As such, when mountd attempts to suspend the nfsd threads, it
gets priority over outstanding RPC requests to do this.
I suspect that the case reported was an artificial test load,
but this patch did fix the problem for the reporter.
|