OpenBSD CVS

CVS log for src/sys/nfs/nfs_node.c


[BACK] Up to [local] / src / sys / nfs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.76 / (download) - annotate - [select for diffs], Wed May 1 13:15:59 2024 UTC (5 weeks, 5 days ago) by jsg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.75: +1 -4 lines
Diff to previous 1.75 (colored)

remove unneeded includes
ok miod@ mpi@

Revision 1.75 / (download) - annotate - [select for diffs], Mon Jun 27 13:39:58 2022 UTC (23 months, 2 weeks ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.74: +8 -5 lines
Diff to previous 1.74 (colored)

Fix lock order reversal in nfs_inactive()

Make the silly file removal happen after the vnode has been unlocked.
This avoids a file-directory reversal in the vnode locking order.

OK jca@

Revision 1.74 / (download) - annotate - [select for diffs], Wed Oct 20 06:35:39 2021 UTC (2 years, 7 months ago) by semarie
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.73: +3 -0 lines
Diff to previous 1.73 (colored)

revert vnode: remove VLOCKSWORK and check locking when vop_islocked != nullop
(both kernel and userland bits)

GENERIC + VFSLCKDEBUG is broken with it.

Revision 1.73 / (download) - annotate - [select for diffs], Tue Oct 19 06:26:09 2021 UTC (2 years, 7 months ago) by semarie
Branch: MAIN
Changes since 1.72: +1 -4 lines
Diff to previous 1.72 (colored)

vnode: remove VLOCKSWORK and check locking when vop_islocked != nullop

This flag is currently used to mark or unmark a vnode to actively
check vnode locking semantic (when compiled with VFSLCKDEBUG).

Currently, VLOCKSWORK flag isn't properly set for several FS
implementation which have full locking support. This commit enable
proper checking for them too (cd9660, udf, fuse, msdosfs, tmpfs).

Instead of using a particular flag, it directly check if
v_op->vop_islocked is nullop or not to activate or not the vnode
locking checks.

ok mpi@

Revision 1.72 / (download) - annotate - [select for diffs], Tue Oct 19 06:11:45 2021 UTC (2 years, 7 months ago) by semarie
Branch: MAIN
Changes since 1.71: +2 -2 lines
Diff to previous 1.71 (colored)

vnode: do not manipulate vnode lock directly

use VOP_LOCK / VOP_UNLOCK wrappers.

VOP_LOCK() is prefered over vn_lock() here in order to keep equivalent code.

ok mpi@ visa@ (as part of larger diff)

Revision 1.71 / (download) - annotate - [select for diffs], Mon Jan 20 23:21:56 2020 UTC (4 years, 4 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored)

struct vops is not modified during runtime so use const which moves each
into read-only data segment.
OK deraadt@ tedu@

Revision 1.70 / (download) - annotate - [select for diffs], Sun May 27 06:02:15 2018 UTC (6 years ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.69: +2 -3 lines
Diff to previous 1.69 (colored)

Drop unnecessary `p' parameter from vget(9).

OK mpi@

Revision 1.69 / (download) - annotate - [select for diffs], Sat May 5 11:54:11 2018 UTC (6 years, 1 month ago) by mpi
Branch: MAIN
Changes since 1.68: +9 -2 lines
Diff to previous 1.68 (colored)

Implement proper locking for NFS nodes.

Tested in bulks by many. ok visa@, beck@

Revision 1.68 / (download) - annotate - [select for diffs], Sat Apr 28 03:13:05 2018 UTC (6 years, 1 month ago) by visa
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

Clean up the parameters of VOP_LOCK() and VOP_UNLOCK(). It is always
curproc that does the locking or unlocking, so the proc parameter
is pointless and can be dropped.

OK mpi@, deraadt@

Revision 1.67 / (download) - annotate - [select for diffs], Mon Apr 9 09:39:53 2018 UTC (6 years, 2 months ago) by mpi
Branch: MAIN
Changes since 1.66: +1 -13 lines
Diff to previous 1.66 (colored)

Change the representation of an NFS mount point by caching the root
nodes.

nfs_root() now returns a "locked" vnode, so vput(9) must be called to
release it.  Note that this has currently no effect as nfs_lock/unlock
are still stubs.

This will prevent some lock odering problems with upcoming NFSnode
locking.

Tested by landry@, sthen@, visa@, naddy@ and myself.

From NetBSD with some tweaks, ok visa@

Revision 1.66 / (download) - annotate - [select for diffs], Wed Mar 28 09:40:26 2018 UTC (6 years, 2 months ago) by mpi
Branch: MAIN
Changes since 1.65: +7 -15 lines
Diff to previous 1.65 (colored)

Check for possible race after sleeping instead of using a rwlock to
protect insertions in `nm_ntree'.

This will prevent a future lock ordering problem with NFSnode's lock.

ok tedu@, visa@

Revision 1.65 / (download) - annotate - [select for diffs], Tue Sep 27 01:37:38 2016 UTC (7 years, 8 months ago) by dlg
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.64: +13 -7 lines
Diff to previous 1.64 (colored)

replace the use of RB macros with the RBT functions.

Revision 1.64 / (download) - annotate - [select for diffs], Sat Mar 19 12:04:16 2016 UTC (8 years, 2 months ago) by natano
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)

Remove the unused flags argument from VOP_UNLOCK().

torture tested on amd64, i386 and macppc
ok beck mpi stefan
"the change looks right" deraadt

Revision 1.63 / (download) - annotate - [select for diffs], Tue Feb 9 00:56:04 2016 UTC (8 years, 4 months ago) by mmcc
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.62: +3 -4 lines
Diff to previous 1.62 (colored)

sync a function's comment with its signature

ok tedu@, with a slight tweak

Revision 1.62 / (download) - annotate - [select for diffs], Sat Mar 14 03:38:52 2015 UTC (9 years, 3 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.61: +1 -2 lines
Diff to previous 1.61 (colored)

Remove some includes include-what-you-use claims don't
have any direct symbols used.  Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@

Revision 1.61 / (download) - annotate - [select for diffs], Tue Dec 23 07:54:13 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.60: +4 -8 lines
Diff to previous 1.60 (colored)

to be safe, revert locking change until further tested.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Dec 23 04:48:47 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.59: +9 -5 lines
Diff to previous 1.59 (colored)

optimize locking a wee bit by holding it for critical parts only

Revision 1.59 / (download) - annotate - [select for diffs], Tue Dec 16 18:30:04 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.58: +2 -1 lines
Diff to previous 1.58 (colored)

primary change: move uvm_vnode out of vnode, keeping only a pointer.
objective: vnode.h doesn't include uvm_extern.h anymore.
followup changes: include uvm_extern.h or lock.h where necessary.
ok and help from deraadt

Revision 1.58 / (download) - annotate - [select for diffs], Sat Nov 15 00:03:12 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.57: +2 -2 lines
Diff to previous 1.57 (colored)

add sizes for free(ptr, sizeof(*ptr)). use sizeof(*ptr) for malloc sizes.

Revision 1.57 / (download) - annotate - [select for diffs], Sun Sep 14 14:17:26 2014 UTC (9 years, 8 months ago) by jsg
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored)

remove uneeded proc.h includes
ok mpi@ kspillner@

Revision 1.56 / (download) - annotate - [select for diffs], Sat Jul 12 18:43:52 2014 UTC (9 years, 11 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored)

add a size argument to free. will be used soon, but for now default to 0.
after discussions with beck deraadt kettenis.

Revision 1.55 / (download) - annotate - [select for diffs], Tue Dec 21 20:14:43 2010 UTC (13 years, 5 months ago) by thib
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.54: +5 -3 lines
Diff to previous 1.54 (colored)

Bring back the "End the VOP experiment." diff, naddy's issues where
unrelated, and his alpha is much happier now.

OK deraadt@

Revision 1.54 / (download) - annotate - [select for diffs], Fri Sep 10 16:34:09 2010 UTC (13 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.53: +3 -5 lines
Diff to previous 1.53 (colored)

Backout the VOP diff until the issues naddy was seeing on alpha (gcc3)
have been resolved.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Sep 6 23:44:10 2010 UTC (13 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.52: +5 -3 lines
Diff to previous 1.52 (colored)

End the VOP experiment. Instead of the ridicolusly complicated operation
vector setup that has questionable features (that have, as far as I can
tell never been used in practice, atleast not in OpenBSD), remove all
the gunk and favor a simple struct full of function pointers that get
set directly by each of the filesystems.

Removes gobs of ugly code and makes things simpler by a magnitude.

The only downside of this is that we loose the vnoperate feature so
the spec/fifo operations of the filesystems need to be kept in sync
with specfs and fifofs, this is no big deal as the API it self is pretty
static.

Many thanks to armani@ who pulled an earlier version of this diff to
current after c2k10 and Gabriel Kihlman on tech@ for testing.

Liked by many. "come on, find your balls" deraadt@.

Revision 1.52 / (download) - annotate - [select for diffs], Sat Aug 7 03:50:02 2010 UTC (13 years, 10 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.51: +3 -3 lines
Diff to previous 1.51 (colored)

No "\n" needed at the end of panic() strings.

Bogus chunks pointed out by matthew@ and miod@. No cookies for
marco@ and jasper@.

ok deraadt@ miod@ matthew@ jasper@ macro@

Revision 1.51 / (download) - annotate - [select for diffs], Thu Dec 17 16:30:47 2009 UTC (14 years, 5 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.50: +32 -6 lines
Diff to previous 1.50 (colored)

This fixes a case where we could panic on a null deref with a bad vnode
in nfs_inactive, on a reboot.

The core of the problem was in nfs_nget, when we lose the race to put a new
nfsnode in the tree, we have previously allocated a vnode, which getnewvnode
has done an insmntque into the nfs mp's mntlist. The problem being we then
try again with a new vnode, abandoning this one on the mntlist, leaving
junk there for us to die on when we unmount.

This introduces VLARVAL - so we can indicate in a vnode that the higher
level stuff hiding in v_data is incompletely set up. This flag is then
used by nfs to deal with a halfway set up vnode and release it correctly.

analysis and bogus fix by art@, correct fix by me after serveral failed
attempts and much painful testing by krw@, good suggestions by tedu and miod

ok krw@ oga@ thib@ blambert@ art@

Revision 1.50 / (download) - annotate - [select for diffs], Tue Dec 15 17:04:00 2009 UTC (14 years, 5 months ago) by beck
Branch: MAIN
Changes since 1.49: +1 -2 lines
Diff to previous 1.49 (colored)

back out previous fix, apparently neither art or i can fix anything right on the first try

vgone doesn't work in other cases of this. I must fix this slightly differntly

Revision 1.49 / (download) - annotate - [select for diffs], Tue Dec 15 16:20:07 2009 UTC (14 years, 5 months ago) by beck
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48 (colored)

This fixes a case where we could panic on a null deref with a bad vnode
in nfs_inactive, on a reboot.

The core of the problem was in nfs_nget, when we lose the race to put a new
nfsnode in the tree, we have previously allocated a vnode, which getnewvnode
has done an insmntque into the nfs mp's mntlist. The problem being we then
try again with a new vnode, abandoning this one on the mntlist, leaving
junk there for us to die on when we unmount.

analysis and bogus fix by art@, correct fix by me. much painful testing by
krw@

ok oga@, art@

Revision 1.48 / (download) - annotate - [select for diffs], Fri Aug 14 17:52:18 2009 UTC (14 years, 10 months ago) by thib
Branch: MAIN
Changes since 1.47: +26 -8 lines
Diff to previous 1.47 (colored)

Use the nfs_hashlock to protect the nfs_nodetree hanging of the mount.

What can happen is that a recycling of a vnode could pull one from out
under us (since NFS has issues with ref counts...).

Dance around getnewvnode() since we can end up recycling vnodes that
where formerly owned by NFS, causing recursive locking.

We where lucky with the old hashtables has the race was rare but now
with more aggresive recycling we loose, just as theo found out on vax.

help from oga, beck and blambert (beck mostly screamed though).

ok oga@, beck@, blambert@

Revision 1.47 / (download) - annotate - [select for diffs], Tue Aug 11 17:06:11 2009 UTC (14 years, 10 months ago) by thib
Branch: MAIN
Changes since 1.46: +5 -9 lines
Diff to previous 1.46 (colored)

tiny knf and use curproc directly instead of a setting up a local proc
pointer since its just used in one place.

ok blambert@

Revision 1.46 / (download) - annotate - [select for diffs], Mon Aug 10 10:59:12 2009 UTC (14 years, 10 months ago) by thib
Branch: MAIN
Changes since 1.45: +43 -50 lines
Diff to previous 1.45 (colored)

Use an RB tree instead of a hashtable for fh/node lookups.

Idea from NetBSD.

OK blambert@

Revision 1.45 / (download) - annotate - [select for diffs], Mon Jul 20 16:49:40 2009 UTC (14 years, 10 months ago) by thib
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)

(struct foo *)0 -> NULL, every where I could find it.

OK blambert@

Revision 1.44 / (download) - annotate - [select for diffs], Wed Dec 24 02:43:52 2008 UTC (15 years, 5 months ago) by thib
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.43: +1 -4 lines
Diff to previous 1.43 (colored)

Replace the TRUE/FALSE defines with 1/0 respectively. This doesn't
hurt readability and it was just plain annoying seeing them defined
in every other .c file.

OK blambert@

Revision 1.43 / (download) - annotate - [select for diffs], Tue Dec 23 21:56:12 2008 UTC (15 years, 5 months ago) by thib
Branch: MAIN
Changes since 1.42: +8 -9 lines
Diff to previous 1.42 (colored)

small indent fix

Revision 1.42 / (download) - annotate - [select for diffs], Sat Aug 9 10:14:02 2008 UTC (15 years, 10 months ago) by thib
Branch: MAIN
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

o nfs_vinvalbuf() is always called with the intrflag as 1, and then
  checks if the mount is actually interrutable, and if not sets it 0.
  remove this argument from nfs_vinvalbuf and just do the checking inside
  the function.
o give nfs_vinvalbuf() a makeover so it looks nice. (spacing, casts, &c);
o Actually pass PCATCH too tsleep() if the mount it interrutable.

ok art@, blambert@

Revision 1.41 / (download) - annotate - [select for diffs], Fri Aug 8 20:40:24 2008 UTC (15 years, 10 months ago) by blambert
Branch: MAIN
Changes since 1.40: +2 -9 lines
Diff to previous 1.40 (colored)

Remove code for variable-sized allocations of NFS filehandles by malloc(),
as it was never used because there were 64-bit buffers already allocated
for filehandles in nfsnode structs.

ok thib@

Revision 1.40 / (download) - annotate - [select for diffs], Sat Jun 14 10:55:21 2008 UTC (16 years ago) by mk
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.39: +2 -3 lines
Diff to previous 1.39 (colored)

A bunch of pool_get() + bzero() -> pool_get(..., .. | PR_ZERO)
conversions that should shave a few bytes off the kernel.

ok henning, krw, jsing, oga, miod, and thib (``even though i usually prefer
FOO|BAR''; thanks for looking.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Jun 11 04:52:27 2008 UTC (16 years ago) by blambert
Branch: MAIN
Changes since 1.38: +3 -2 lines
Diff to previous 1.38 (colored)

Canonical for() -> queue.h FOREACH macro conversions.
Also, it is historical practice to #include <sys/queue.h>
when using queue.h macros.

ok thib@ krw@

special thanks to krw@ for reminders vice violence

Revision 1.38 / (download) - annotate - [select for diffs], Tue Jun 10 22:59:09 2008 UTC (16 years ago) by thib
Branch: MAIN
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored)


o Avoid putting duplicate entries into the name cache,
  add a function to handle cache_enter()'s for us since
  we need to update the appropriate timestamps so we don't
  miss on lookup;
o Do not purge the dvp in nfs_rmdir(), since there's no need;
o cache the new entry created in nfs_mkdir();
o Do caching of the access modes, this drastically reduces the
  amount of over the wire access RPCs we do in the NFSv3 case.

This diff was written by Pedro Martelletto, sometime in 2004.
A lot of people have been running with it at one time or another,
this includes at least markus and matthieu.

OK deraadt@, blambert@

Revision 1.37 / (download) - annotate - [select for diffs], Thu Dec 13 22:32:55 2007 UTC (16 years, 6 months ago) by thib
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.36: +3 -18 lines
Diff to previous 1.36 (colored)

Garbage collect nfsdmap and leftover code. That structure
was used as a part of the "old-style directory caching"
that was removed in 2001;

ok beck@, blambert@

Revision 1.36 / (download) - annotate - [select for diffs], Thu Sep 20 12:54:31 2007 UTC (16 years, 8 months ago) by thib
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

MALLOC/FREE -> malloc/free + M_ZERO.
Uneeded includes and casts...

ok krw@

Revision 1.35 / (download) - annotate - [select for diffs], Fri Jun 1 23:47:57 2007 UTC (17 years ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.34: +3 -8 lines
Diff to previous 1.34 (colored)

pedro ok'd this ~3500 line diff which removes the vop argument
"ap = v" comments in under 8 seconds, so it must be ok.  and it compiles
too.

Revision 1.34 / (download) - annotate - [select for diffs], Tue May 29 00:17:33 2007 UTC (17 years ago) by thib
Branch: MAIN
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)

Add a name argument to the RWLOCK_INITIALIZER macro.
Pick reasonble names for the locks involved..

ok tedu@, art@

Revision 1.33 / (download) - annotate - [select for diffs], Mon May 28 21:07:31 2007 UTC (17 years ago) by thib
Branch: MAIN
Changes since 1.32: +6 -7 lines
Diff to previous 1.32 (colored)

lockmgr -> rwlock for the nfs_hashlock.

ok tedu@

Revision 1.32 / (download) - annotate - [select for diffs], Sun May 7 20:12:41 2006 UTC (18 years, 1 month ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

add a name to rwlock so that we can tell where procs are getting stuck
without breaking into ddb.  doubles the size of rwlock [1], but moving
forward this really helps.  ok/tested pedro fgsch millert krw
[1 - next person to add a field to this struct gets whipped with a wet noodle]

Revision 1.31 / (download) - annotate - [select for diffs], Mon Jan 9 12:43:16 2006 UTC (18 years, 5 months ago) by pedro
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.30: +7 -1 lines
Diff to previous 1.30 (colored)

Put vprint() under DIAGNOSTIC, as to save space in generated ramdisks.
Inspiration from miod@, okay deraadt@. Tested on i386, macppc and amd64.

Revision 1.30 / (download) - annotate - [select for diffs], Sat Nov 19 15:48:04 2005 UTC (18 years, 6 months ago) by pedro
Branch: MAIN
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)

Use NULL where NULL is meant

Revision 1.29 / (download) - annotate - [select for diffs], Sat Nov 19 02:18:01 2005 UTC (18 years, 6 months ago) by pedro
Branch: MAIN
Changes since 1.28: +4 -4 lines
Diff to previous 1.28 (colored)

Remove unnecessary lockmgr() archaism that was costing too much in terms
of panics and bugfixes. Access curproc directly, do not expect a process
pointer as an argument. Should fix many "process context required" bugs.
Incentive and okay millert@, okay marc@. Various testing, thanks.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Dec 26 21:22:13 2004 UTC (19 years, 5 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8, OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

Use list and queue macros where applicable to make the code easier to read;
no change in compiler assembly output.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Aug 3 17:11:48 2004 UTC (19 years, 10 months ago) by marius
Branch: MAIN
CVS Tags: OPENBSD_3_6_BASE, OPENBSD_3_6
Changes since 1.26: +3 -1 lines
Diff to previous 1.26 (colored)

NFS commit coalescion: instead of sending a commit for each block, coalesce
these into larger ranges wherever possible.

this should speed up NFS writes quite a bit.

ok art@ millert@ pedro@ tedu@

Revision 1.13.4.6 / (download) - annotate - [select for diffs], Sat Jun 7 11:07:43 2003 UTC (21 years ago) by ho
Branch: SMP
Changes since 1.13.4.5: +2 -6 lines
Diff to previous 1.13.4.5 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Sync SMP branch to -current

Revision 1.26 / (download) - annotate - [select for diffs], Mon Jun 2 23:28:19 2003 UTC (21 years ago) by millert
Branch: MAIN
CVS Tags: SMP_SYNC_B, SMP_SYNC_A, OPENBSD_3_5_BASE, OPENBSD_3_5, OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.25: +2 -6 lines
Diff to previous 1.25 (colored)

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999.  Proofed by myself and Theo.

Revision 1.13.4.5 / (download) - annotate - [select for diffs], Fri Mar 28 00:08:46 2003 UTC (21 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.13.4.4: +3 -19 lines
Diff to previous 1.13.4.4 (colored) to branchpoint 1.13 (colored)

Sync the SMP branch with 3.3

Revision 1.18.2.6 / (download) - annotate - [select for diffs], Mon Nov 4 18:02:32 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.18.2.5: +15 -4 lines
Diff to previous 1.18.2.5 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)

Huge sync to NetBSD plus lots of bugfixes.
 - uvm is as in netbsd-current minus uvm_map forward merge.
 - various locking bugfixes in nfs.
 - make sure that all specops and fifoops are correct in all vnodeop vectors.
 - make the filesystem code more like filsystem code and less like vm code.

Revision 1.18.2.5 / (download) - annotate - [select for diffs], Tue Oct 29 18:31:51 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.18.2.4: +17 -9 lines
Diff to previous 1.18.2.4 (colored) to branchpoint 1.18 (colored)

Resurrect Costas nfs locking on the UBC branch. It's needed here.

Revision 1.18.2.4 / (download) - annotate - [select for diffs], Tue Oct 29 00:36:49 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.18.2.3: +4 -20 lines
Diff to previous 1.18.2.3 (colored) to branchpoint 1.18 (colored)

sync to -current

Revision 1.25 / (download) - annotate - [select for diffs], Tue Jul 2 04:23:25 2002 UTC (21 years, 11 months ago) by ericj
Branch: MAIN
CVS Tags: UBC_SYNC_B, UBC_SYNC_A, OPENBSD_3_3_BASE, OPENBSD_3_3, OPENBSD_3_2_BASE, OPENBSD_3_2
Changes since 1.24: +4 -20 lines
Diff to previous 1.24 (colored)


use hash.h for nfs_hash as well as namei's hash
ok art@ costa@

Revision 1.18.2.3 / (download) - annotate - [select for diffs], Tue Jun 11 03:32:03 2002 UTC (22 years ago) by art
Branch: UBC
Changes since 1.18.2.2: +2 -2 lines
Diff to previous 1.18.2.2 (colored) to branchpoint 1.18 (colored)

Sync UBC branch to -current

Revision 1.13.4.4 / (download) - annotate - [select for diffs], Thu Mar 28 15:02:48 2002 UTC (22 years, 2 months ago) by niklas
Branch: SMP
Changes since 1.13.4.3: +1 -1 lines
Diff to previous 1.13.4.3 (colored) to branchpoint 1.13 (colored)

Merge in -current from roughly a week ago

Revision 1.24 / (download) - annotate - [select for diffs], Thu Mar 14 01:27:13 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

First round of __P removal in sys

Revision 1.13.4.3 / (download) - annotate - [select for diffs], Wed Mar 6 02:17:12 2002 UTC (22 years, 3 months ago) by niklas
Branch: SMP
Changes since 1.13.4.2: +9 -24 lines
Diff to previous 1.13.4.2 (colored) to branchpoint 1.13 (colored)

Merge in trunk

Revision 1.23 / (download) - annotate - [select for diffs], Sat Feb 23 23:47:13 2002 UTC (22 years, 3 months ago) by art
Branch: MAIN
Changes since 1.22: +10 -24 lines
Diff to previous 1.22 (colored)

Sigh. The diff is out for testing for three months without a single problem.
Two days after commit people report serious lockups all over the place.
Back out nfs locking changes.

Revision 1.22 / (download) - annotate - [select for diffs], Fri Feb 22 20:19:14 2002 UTC (22 years, 3 months ago) by csapuntz
Branch: MAIN
Changes since 1.21: +25 -11 lines
Diff to previous 1.21 (colored)

More locking in the NFS code

Revision 1.18.2.2 / (download) - annotate - [select for diffs], Sat Feb 2 03:28:26 2002 UTC (22 years, 4 months ago) by art
Branch: UBC
Changes since 1.18.2.1: +42 -18 lines
Diff to previous 1.18.2.1 (colored) to branchpoint 1.18 (colored)

Merge in UBC performance changes from NetBSD.
Fix a bunch of merge errors from yesterday.

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Thu Jan 31 22:55:47 2002 UTC (22 years, 4 months ago) by niklas
Branch: UBC
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

Merge in -current, builds on i386, otherwise untested

Revision 1.21 / (download) - annotate - [select for diffs], Wed Jan 23 00:39:48 2002 UTC (22 years, 4 months ago) by art
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)

Pool deals fairly well with physical memory shortage, but it doesn't deal
well (not at all) with shortages of the vm_map where the pages are mapped
(usually kmem_map).

Try to deal with it:
 - group all information the backend allocator for a pool in a separate
   struct. The pool will only have a pointer to that struct.
 - change the pool_init API to reflect that.
 - link all pools allocating from the same allocator on a linked list.
 - Since an allocator is responsible to wait for physical memory it will
   only fail (waitok) when it runs out of its backing vm_map, carefully
   drain pools using the same allocator so that va space is freed.
   (see comments in code for caveats and details).
 - change pool_reclaim to return if it actually succeeded to free some
   memory, use that information to make draining easier and more efficient.
 - get rid of PR_URGENT, noone uses it.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jan 16 21:51:16 2002 UTC (22 years, 4 months ago) by ericj
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)


use queue.h macro's
remove register

Revision 1.19 / (download) - annotate - [select for diffs], Wed Dec 19 08:58:06 2001 UTC (22 years, 5 months ago) by art
Branch: MAIN
Changes since 1.18: +7 -22 lines
Diff to previous 1.18 (colored)

UBC was a disaster. It worked very good when it worked, but on some
machines or some configurations or in some phase of the moon (we actually
don't know when or why) files disappeared. Since we've not been able to
track down the problem in two weeks intense debugging and we need -current
to be stable, back out everything to a state it had before UBC.

We apologise for the inconvenience.

Revision 1.13.4.2 / (download) - annotate - [select for diffs], Wed Dec 5 01:02:40 2001 UTC (22 years, 6 months ago) by niklas
Branch: SMP
Changes since 1.13.4.1: +58 -42 lines
Diff to previous 1.13.4.1 (colored) to branchpoint 1.13 (colored)

Merge in -current

Revision 1.18 / (download) - annotate - [select for diffs], Sat Dec 1 01:44:35 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
CVS Tags: UBC_BASE
Branch point for: UBC
Changes since 1.17: +3 -1 lines
Diff to previous 1.17 (colored)

Unlock and drop vnode if VOP_GETATTR fails.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Nov 27 05:27:12 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.16: +20 -7 lines
Diff to previous 1.16 (colored)

Merge in the unified buffer cache code as found in NetBSD 2001/03/10. The
code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>.

Tested for the past few weeks by many developers, should be in a pretty stable
state, but will require optimizations and additional cleanups.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Nov 15 23:15:15 2001 UTC (22 years, 7 months ago) by art
Branch: MAIN
Changes since 1.15: +37 -36 lines
Diff to previous 1.15 (colored)

Remove creds from struct buf, move the creds that nfs need into the nfs node.
While in the area, convert nfs node allocation from malloc to pool and do
some cleanups.
Based on the UBC changes in NetBSD. niklas@ ok.

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Wed Jul 4 10:55:46 2001 UTC (22 years, 11 months ago) by niklas
Branch: SMP
Changes since 1.13: +17 -12 lines
Diff to previous 1.13 (colored)

Merge in -current from two days ago in the SMP branch.
As usual with merges, they do not indicate progress, so do not hold
your breath for working SMP, and do not mail me and ask about the
state of it.  It has not changed.  There is work ongoing, but very, very
slowly.  The commit is done in parts as to not lock up the tree in too
big chunks at a time.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jun 25 03:28:06 2001 UTC (22 years, 11 months ago) by csapuntz
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE, OPENBSD_3_0
Changes since 1.14: +2 -12 lines
Diff to previous 1.14 (colored)

Remove NQNFS

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jun 24 21:16:19 2001 UTC (22 years, 11 months ago) by csapuntz
Branch: MAIN
Changes since 1.13: +16 -1 lines
Diff to previous 1.13 (colored)

Change handling of NFS root vnode. Moves recognition of NFS root vnode into
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.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Apr 28 09:28:17 1999 UTC (25 years, 1 month ago) by art
Branch: MAIN
CVS Tags: kame_19991208, SMP_BASE, OPENBSD_2_9_BASE, OPENBSD_2_9, OPENBSD_2_8_BASE, OPENBSD_2_8, OPENBSD_2_7_BASE, OPENBSD_2_7, OPENBSD_2_6_BASE, OPENBSD_2_6
Branch point for: SMP
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

zap the newhashinit hack.
Add an extra flag to hashinit telling if it should wait in malloc.
update all calls to hashinit.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Aug 21 23:16:39 1998 UTC (25 years, 9 months ago) by csapuntz
Branch: MAIN
CVS Tags: OPENBSD_2_5_BASE, OPENBSD_2_5, OPENBSD_2_4_BASE, OPENBSD_2_4
Changes since 1.11: +15 -3 lines
Diff to previous 1.11 (colored)



Fix malloc race in nfs_node.c

Revision 1.11 / (download) - annotate - [select for diffs], Thu Aug 6 19:34:58 1998 UTC (25 years, 10 months ago) by csapuntz
Branch: MAIN
Changes since 1.10: +1 -19 lines
Diff to previous 1.10 (colored)



Rename vop_revoke, vn_bwrite, vop_noislocked, vop_nolock, vop_nounlock
to be vop_generic_revoke, vop_generic_bwrite, vop_generic_islocked,
vop_generic_lock and vop_generic_unlock.

Create vop_generic_abortop and propogate change to all file systems.

Fix PR/371.

Get rid of locking in NULLFS (should be mostly unnecessary now except for
forced unmounts).

Revision 1.10 / (download) - annotate - [select for diffs], Thu Nov 6 05:59:00 1997 UTC (26 years, 7 months ago) by csapuntz
Branch: MAIN
CVS Tags: OPENBSD_2_3_BASE, OPENBSD_2_3
Changes since 1.9: +2 -69 lines
Diff to previous 1.9 (colored)

Updates for VFS Lite 2 + soft update.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Oct 6 20:20:45 1997 UTC (26 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_2_BASE, OPENBSD_2_2
Changes since 1.8: +68 -1 lines
Diff to previous 1.8 (colored)

back out vfs lite2 till after 2.2

Revision 1.8 / (download) - annotate - [select for diffs], Mon Oct 6 15:23:41 1997 UTC (26 years, 8 months ago) by csapuntz
Branch: MAIN
Changes since 1.7: +2 -69 lines
Diff to previous 1.7 (colored)

VFS Lite2 Changes

Revision 1.7 / (download) - annotate - [select for diffs], Fri Apr 18 10:09:46 1997 UTC (27 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_1_BASE, OPENBSD_2_1
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored)

Don't set sillyrename field to 0 for directories, as it's in a union with
the head of the cookie list. Fixes PR 3215, fix supplied by Hiroshi Tezuka
<tezuka@trc.rwcp.or.jp>. Should also fix M_NFSDIROFF memory leak; fvdl

Revision 1.6 / (download) - annotate - [select for diffs], Sun Apr 21 22:30:19 1996 UTC (28 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.5: +4 -4 lines
Diff to previous 1.5 (colored)

partial sync with netbsd 960418, more to come

Revision 1.5 / (download) - annotate - [select for diffs], Wed Apr 17 04:50:25 1996 UTC (28 years, 2 months ago) by mickey
Branch: MAIN
Changes since 1.4: +4 -4 lines
Diff to previous 1.4 (colored)

Minor cleanups. Checked against Lite2.
(NetBSD's was really just a Lite2's, but w/ 64bit support)

Revision 1.4 / (download) - annotate - [select for diffs], Sun Mar 31 13:15:36 1996 UTC (28 years, 2 months ago) by mickey
Branch: MAIN
Changes since 1.3: +67 -37 lines
Diff to previous 1.3 (colored)

From NetBSD: NFSv3 import (tomorrow's Net's kernel)
Open's patches kept in. i'll possibly take a look at Lite2 soon,
is there smth usefull ?..

Revision 1.3 / (download) - annotate - [select for diffs], Thu Feb 29 09:24:50 1996 UTC (28 years, 3 months ago) by niklas
Branch: MAIN
Changes since 1.2: +40 -22 lines
Diff to previous 1.2 (colored)

From NetBSD: merge with 960217 (still NFSv2)

Revision 1.2 / (download) - annotate - [select for diffs], Thu Dec 21 14:42:20 1995 UTC (28 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.1: +1 -5 lines
Diff to previous 1.1 (colored)

from cgd; handle 64-bit pointers and longs

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:53:22 1995 UTC (28 years, 8 months ago) by deraadt
CVS Tags: netbsd_1_1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:53:22 1995 UTC (28 years, 8 months ago) by deraadt
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.