Age | Commit message (Collapse) | Author |
|
hangs. Fixes the old typical pwd_mkdb waiting on getblk hang during
make release over NFS.
|
|
Fixes problems with interruptible NFS mounts.
|
|
Fix problem with diskless clients
|
|
|
|
|
|
|
|
|
|
|
|
Still not correct for NFSv3 but that's hard.
|
|
nfs_nget.
Root vnode no longer pinned in inode cache. Also, forceable unmounts of an
nfs file system now work even if there are extra references to the NFS root.
|
|
|
|
|
|
|
|
|
|
security properties of the packets to be pushed up to the application
(not done yet). Eventually, this will be turned into a packet
attributes framework.
Make sure tdbi's are free'd/cleared properly whenever drivers (or NFS)
does weird things with mbufs.
|
|
finding these
Found a potential vnode leak in there too.
|
|
Change VM/UVM to use buf_replacevnode to change the vnode associated
with a buffer.
Addition v_bioflag for flags written in interrupt handlers
(and read at splbio, though not strictly necessary)
Add vwaitforio and use it instead of a while loop of v_numoutput.
Fix race conditions when manipulation vnode free list
|
|
manually twiddling it. This allows the buffer cache to more easily
keep track of dirty buffers and decide when it is appropriate to speed
up the syncer.
Insipired by FreeBSD.
Look over by art@
|
|
file system inode instead
|
|
|
|
|
|
PRELE the nfsiod when it exits (shouldn't be necessary to PHOLD it because
it's a kernel thread, but it doesn't hurt.
|
|
machines, and only on them. until more is known, out this comes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Death to nfsiod!
It is replaced by kernel threads that do the same thing. The number of
kernel threads used is set with the vfs.nfs.iothreads sysctl.
|
|
|
|
|
|
|
|
(from FreeBSD). This avoids the panic described below.
o In nfs_sillyrename(), change a panic if v_type == VDIR to just
a printf (ifdef DIAGNOSTIC) and return EINVAL.
o When building the .nfs file in nfs_sillyrename() don't assume a pid
is only 4 chars long since PID_MAX is 5 chars and use sprintf()
instead of converting the pid to ascii by hand.
Thanks to Theo for assistance and sanity checking.
|
|
|
|
From NetBSD
|
|
netbsd sys/nfs/nfs_socket.c 1.43 -> 1.44
|
|
struct statfs). Also, Make sure we do signed arithmatic when computing
f_bavail.
|
|
o that way zero fields in nfs_args get filled in
o changes via mount -u become visible
|
|
fstatfs(2), and getfsstat(2) so you will need to build a new kernel
before doing a "make build" or you will get "unimplemented syscall" errors.
The new struct statfs has the following featuires:
o Has a u_int32_t flags field--now softdep can have a real flag.
o Uses u_int32_t instead of longs (nicer on the alpha). Note: the man
page used to lie about setting invalid/unused fields to -1. SunOS does
that but our code never has.
o Gets rid of f_type completely. It hasn't been used since NetBSD 0.9
and having it there but always 0 is confusing. It is conceivable
that this may cause some old code to not compile but that is better
than silently breaking.
o Adds a mount_info union that contains the FSTYPE_args struct. This
means that "mount" can now tell you all the options a filesystem was
mounted with. This is especially nice for NFS.
Other changes:
o The linux statfs emulation didn't convert between BSD fs names
and linux f_type numbers. Now it does, since the BSD f_type
number is useless to linux apps (and has been removed anyway)
o FreeBSD's struct statfs is different from our (both old and new)
and thus needs conversion. Previously, the OpenBSD syscalls
were used without any real translation.
o mount(8) will now show extra info when invoked with no arguments.
However, to see *everything* you need to use the -v (verbose) flag.
|
|
Add an extra flag to hashinit telling if it should wait in malloc.
update all calls to hashinit.
|
|
|
|
panics the kernel, because the kernel tries to reuse a freed mbuf;
dm@reeducation-labor.lcs.mit.edu
|
|
|
|
in txdr_hyper. This should be more portable than casting to an array
of ints and pulling out the two 32-bit words (this produced incorrect
results on alpha for the high word for filesystems < 4gig). As a side
effect, txdr_hyper now takes a u_quad_t as its first arg, not u_quad_t *.
|
|
|
|
|
|
slightly garbled but older servers seemed to understand it); dfr@freebsd.org
|
|
|