OpenBSD CVS

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


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

Request diff between arbitrary revisions


Default branch: MAIN


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

remove unneeded includes
ok miod@ mpi@

Revision 1.85 / (download) - annotate - [select for diffs], Tue Apr 30 16:54:47 2024 UTC (4 weeks, 5 days ago) by miod
Branch: MAIN
Changes since 1.84: +2 -2 lines
Diff to previous 1.84 (colored)

Do not cast off_t to u_long in uvm_vnp_setsize call (only misbehaves on 32-bit
platforms.)

ok mpi@

Revision 1.84 / (download) - annotate - [select for diffs], Thu Jul 25 01:43:21 2019 UTC (4 years, 10 months ago) by cheloha
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, OPENBSD_7_1_BASE, OPENBSD_7_1, 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, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.83: +10 -7 lines
Diff to previous 1.83 (colored)

vinvalbuf(9): tlseep -> tsleep_nsec(9); ok millert@

Revision 1.83 / (download) - annotate - [select for diffs], Fri Jul 19 00:24:31 2019 UTC (4 years, 10 months ago) by cheloha
Branch: MAIN
Changes since 1.82: +4 -4 lines
Diff to previous 1.82 (colored)

getblk(9): tsleep(9) -> tsleep_nsec(9); ok visa@

Revision 1.82 / (download) - annotate - [select for diffs], Wed Feb 22 11:42:46 2017 UTC (7 years, 3 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.81: +3 -1 lines
Diff to previous 1.81 (colored)

Keep local definitions local.

"good work" deraadt@, ok visa@

Revision 1.81 / (download) - annotate - [select for diffs], Sat Feb 13 15:45:05 2016 UTC (8 years, 3 months ago) by stefan
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.80: +7 -7 lines
Diff to previous 1.80 (colored)

Convert to uiomove. From Martin Natano.

Revision 1.80 / (download) - annotate - [select for diffs], Sat Mar 14 03:38:52 2015 UTC (9 years, 2 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.79: +1 -2 lines
Diff to previous 1.79 (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.79 / (download) - annotate - [select for diffs], Tue Feb 10 21:56:10 2015 UTC (9 years, 3 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.78: +3 -3 lines
Diff to previous 1.78 (colored)

First step towards making uiomove() take a size_t size argument:
- rename uiomove() to uiomovei() and update all its users.
- introduce uiomove(), which is similar to uiomovei() but with a size_t.
- rewrite uiomovei() as an uiomove() wrapper.
ok kettenis@

Revision 1.78 / (download) - annotate - [select for diffs], Thu Dec 18 20:59:21 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.77: +2 -2 lines
Diff to previous 1.77 (colored)

delete a whole mess of unnecessary caddr_t casts

Revision 1.77 / (download) - annotate - [select for diffs], Fri Nov 14 23:01:44 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.76: +2 -2 lines
Diff to previous 1.76 (colored)

bzero -> memset

Revision 1.76 / (download) - annotate - [select for diffs], Tue Jul 8 17:19:26 2014 UTC (9 years, 10 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.75: +1 -3 lines
Diff to previous 1.75 (colored)

decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.h
don't need to be married.
ok guenther miod beck jsing kettenis

Revision 1.75 / (download) - annotate - [select for diffs], Sat Sep 14 02:28:03 2013 UTC (10 years, 8 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.74: +2 -2 lines
Diff to previous 1.74 (colored)

Correct the handling of I/O of >=2^32 bytes and the ktracing there of
by using size_t/ssize_t instead of int/u_int to handle I/O lengths in
uiomove(), vn_fsizechk(), and ktrgenio().  Eliminate the always-zero
'error' argument to ktrgenio() at the same time.

Revision 1.74 / (download) - annotate - [select for diffs], Tue Jun 11 16:42:17 2013 UTC (10 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.73: +4 -4 lines
Diff to previous 1.73 (colored)

final removal of daddr64_t.  daddr_t has been 64 bit for a long enough
test period; i think 3 years ago the last bugs fell out.
ok otto beck others

Revision 1.73 / (download) - annotate - [select for diffs], Wed Jul 11 12:39:20 2012 UTC (11 years, 10 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.72: +22 -17 lines
Diff to previous 1.72 (colored)

If the current offset is strictly less than the process filesize
rlimit, then a write that would take it over the limit should be
clamped, making it a partial write.

ok beck@

Revision 1.72 / (download) - annotate - [select for diffs], Sat Aug 7 03:50:02 2010 UTC (13 years, 9 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 (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.71 / (download) - annotate - [select for diffs], Mon Apr 12 16:37:38 2010 UTC (14 years, 1 month ago) by beck
Branch: MAIN
Changes since 1.70: +8 -5 lines
Diff to previous 1.70 (colored)


Don't jump the queue if we have to wait on the client side because
the nfs_bufq is full - instead tsleep waiting for one of our nfsiod's
to free up space for us in the queue so we can enqueue on the end.

ok blambert@, tedu@, oga@

Revision 1.70 / (download) - annotate - [select for diffs], Fri Apr 9 22:42:10 2010 UTC (14 years, 1 month ago) by oga
Branch: MAIN
Changes since 1.69: +4 -9 lines
Diff to previous 1.69 (colored)

make more bettah. instead of doing:

	switch(type) {
	case VREG:
		/*something */
		break;
	case VLNK:
		/* something */
		break;
	default:
		panic("wtf?");
	}

	do_something_that_doesn't_change_type();

	switch(type) {
	case VREG:
		/* nowt */
		break;
	case VLNK:
		n = 0;
		break;
	default:
		panic("wtf?");
	}

be a bit less silly and replace the second switch with:

if (type == VLNK)
	n = 0;

ok beck@, blambert@

Revision 1.69 / (download) - annotate - [select for diffs], Fri Apr 9 22:08:04 2010 UTC (14 years, 1 month ago) by oga
Branch: MAIN
Changes since 1.68: +4 -4 lines
Diff to previous 1.68 (colored)

In the nfs bio functions, instead of looking at an invalid vnode type,
deciding to do nothing, printing about it and continuing along our merry
way without even erroring the sodding buffer, just panic. by this point
we are liked very fucked up anyway.

found in either edmonton or stockholm then forgotten. ok beck@,
blambert@

Revision 1.68 / (download) - annotate - [select for diffs], Mon Oct 19 22:24:18 2009 UTC (14 years, 7 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.67: +6 -18 lines
Diff to previous 1.67 (colored)

antsy
no binary change apart from nfsm_reqhead() which is clearly correct.

ok thib@

Revision 1.67 / (download) - annotate - [select for diffs], Wed Sep 2 18:20:54 2009 UTC (14 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.66: +15 -62 lines
Diff to previous 1.66 (colored)

Backout the asyncio/aiod change, as it causes buf's to get hung.
problem noticed by deraadt@

ok beck@

Revision 1.66 / (download) - annotate - [select for diffs], Thu Aug 27 23:39:46 2009 UTC (14 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 (colored)

Garbage collect two variables that where set but unused.
Tiny spacing nit.
Fix a typo, pointed out by miod@.

Revision 1.65 / (download) - annotate - [select for diffs], Thu Aug 27 23:26:56 2009 UTC (14 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.64: +6 -3 lines
Diff to previous 1.64 (colored)

introduce a flag member to struct nfs_aiod, and use flags instead of the exit
and worked members. nad_worked becomes NFSAIOD_WAKEUP, which is set after if
an aiod was removed from the idle list and woken up by nfs_asyncio().

don't rely on tsleep wchans being unique, that is keep going back to sleep if
woken up unless the NFSAIOD_WAKEUP flag is set.

fix a divide by zero crash if nfs.vfs.iothreads is set to 0, as that can happen
when we recalculate the maximum buf's to queue up for each aiod.

in nfs_asyncio() set the nad_mnt to NULL before returning the aiod back to the
idle list in the case where we have already queued up to many bufs, otherwise
we trip an assertion.

minimize the time we are holding the nfs_aiodl_mtx to only when we are inserting
or removing from the lists, with the exception of nfs_set_naiod() as it would
make the loops more complicated and its uncommon in any case.

tested by myself and deraadt@
"fine with me" deraadt@

Revision 1.64 / (download) - annotate - [select for diffs], Wed Aug 26 12:08:10 2009 UTC (14 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.63: +2 -1 lines
Diff to previous 1.63 (colored)

make sure that an aiod has been removed from the nfs_aiods_idle list
before inserting it back into the list.

crashes debugged with help from deraadt@ who also tested this fix.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Aug 20 15:04:24 2009 UTC (14 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.62: +58 -15 lines
Diff to previous 1.62 (colored)

Rework the way we do async I/O in nfs. Introduce separate buf queues for
each mount, and when work is "found", peg an aiod to that mount todo the
I/O. Make nfs_asyncio() a bit smarter when deciding when to do asyncio
and when to force it sync, this is done by keeping the aiod's one two lists,
an "idle" and an "all" list, so asyncio is only done when there are aiods
hanging around todo it for us or are already pegged to the mount.

Idea liked by at least beck@ (and I think art@).
Extensive testing done by myself and jasper and a few others on various
arch's.

Ideas/Code from Net/Free.

OK blambert@.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Jul 28 11:19:43 2009 UTC (14 years, 10 months ago) by art
Branch: MAIN
Changes since 1.61: +12 -30 lines
Diff to previous 1.61 (colored)

Using the buf pointer returned from incore is a really bad idea.
Even if we know that someone safely holds B_BUSY and will not modify
the buf (as was the case in here), we still need to be sure that
the B_BUSY will not be released while we fiddle with the buf.

In this case, it was not safe, since copyout can sleep and whoever was
writing out the buf could finish the write and release the buf which
could then get recycled or unmapped while we slept. Always acquire
B_BUSY ourselves, even when it might give a minor performance penalty.

thib@ ok

Revision 1.61 / (download) - annotate - [select for diffs], Wed Jul 22 13:02:08 2009 UTC (14 years, 10 months ago) by thib
Branch: MAIN
Changes since 1.60: +0 -3 lines
Diff to previous 1.60 (colored)

remove a comment thats part lie and part stating the obvious.

ok blambert@

Revision 1.60 / (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.59: +4 -4 lines
Diff to previous 1.59 (colored)

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

OK blambert@

Revision 1.59 / (download) - annotate - [select for diffs], Tue Jun 23 08:08:50 2009 UTC (14 years, 11 months ago) by jasper
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.58: +2 -5 lines
Diff to previous 1.58 (colored)

- /dev/drum is long gone; sync comment with reality

ok thib@

Revision 1.58 / (download) - annotate - [select for diffs], Thu Mar 19 16:44:40 2009 UTC (15 years, 2 months ago) by oga
Branch: MAIN
Changes since 1.57: +1 -5 lines
Diff to previous 1.57 (colored)

We don't count buffercache stats in the B_PHYS case, so fix nfs to not
increment the num{read,write} and pending{read,write} statistics in that
case, since biodone won't change them on completion.

On another note, I'm not sure that we use physical buffers for swapping
over nfs anymore, so this chunk may be superfluous.

beck@ came up with the same diff "So anyway rather than me commiting it
from my copy, I'm giving you the OK and the commit. since it officially
makes you a buffer cache and NFS hacker };-)"

Revision 1.57 / (download) - annotate - [select for diffs], Sat Jan 24 23:30:42 2009 UTC (15 years, 4 months ago) by thib
Branch: MAIN
CVS Tags: OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.56: +6 -5 lines
Diff to previous 1.56 (colored)

Use a timespec instead of a time_t for the clients nfsnode
mtime, gives us better granularity, helps with cache consistency.

Idea lifted from NetBSD.

OK blambert@

Revision 1.56 / (download) - annotate - [select for diffs], Mon Jan 19 23:40:36 2009 UTC (15 years, 4 months ago) by thib
Branch: MAIN
Changes since 1.55: +4 -8 lines
Diff to previous 1.55 (colored)

Introduce a macro to invalidate the attribute
cache instead of setting n_attrstamp to 0 directly.

Lift the macro name from NetBSD.
prompted by and OK blambert@

Revision 1.55 / (download) - annotate - [select for diffs], Sat Aug 9 10:14:02 2008 UTC (15 years, 9 months ago) by thib
Branch: MAIN
Changes since 1.54: +23 -35 lines
Diff to previous 1.54 (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.54 / (download) - annotate - [select for diffs], Fri Aug 8 20:44:38 2008 UTC (15 years, 9 months ago) by blambert
Branch: MAIN
Changes since 1.53: +1 -2 lines
Diff to previous 1.53 (colored)

After beck@ changed the way nfsiod's are notified of work, the
nfs_iodwant array became unused. Garbage collect and free up
a few bytes.

ok thib@

Revision 1.53 / (download) - annotate - [select for diffs], Fri Jul 25 14:56:47 2008 UTC (15 years, 10 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4
Changes since 1.52: +10 -5 lines
Diff to previous 1.52 (colored)

much more correct way of dealing with nfs pending reads/writes
ok thib@

Revision 1.52 / (download) - annotate - [select for diffs], Wed Jul 23 16:24:43 2008 UTC (15 years, 10 months ago) by beck
Branch: MAIN
Changes since 1.51: +6 -1 lines
Diff to previous 1.51 (colored)


Correct cases of mishandling of pending reads and writes to prevent
them going negative - this consists of identifying a number of cases of
IO not going through the buffer cache and marking those buffers with
B_RAW - as well as fixing nfs_bio to show pending writes and reads through
the buffer cache via NFS

still has a problem with mishandling the counters I believe in the
async/sync fallback case where counters stay positive which will be
addressed seperately.

ok tedu@ deraadt@

Revision 1.51 / (download) - annotate - [select for diffs], Sat Jun 14 19:33:58 2008 UTC (15 years, 11 months ago) by beck
Branch: MAIN
Changes since 1.50: +13 -14 lines
Diff to previous 1.50 (colored)


Ensure each nfsiod can actually enqueue more than one asynchio - this mirrors
the accidental situation that used to happen when it leaked buffers and allowed
the syncer to do it, however this puts a limit on how much of the buffer cache
it is allowed to consume to a sensible amount - improves nfs write performance
since we don't have to do tons of them synch now.

Modifies the existing code to use wakeup_one instead of cruft, and now
all nfsiod's tsleep the same way.

ok thib@ art@

Revision 1.50 / (download) - annotate - [select for diffs], Thu Jun 12 19:14:15 2008 UTC (15 years, 11 months ago) by thib
Branch: MAIN
Changes since 1.49: +5 -2 lines
Diff to previous 1.49 (colored)

add a statistic bit to count how often we change async to sync

you need to upgrade nfsstat and the relevant header files

ok beck@

Revision 1.49 / (download) - annotate - [select for diffs], Thu Jun 12 16:04:37 2008 UTC (15 years, 11 months ago) by art
Branch: MAIN
Changes since 1.48: +3 -10 lines
Diff to previous 1.48 (colored)

	if (something_complicated)
		return (EIO);
	return (EIO);
is kinda silly. Don't.

Prettify a bit in the process.

'makes perfect sense' blambert@, ok thib@

Revision 1.48 / (download) - annotate - [select for diffs], Thu Jun 12 06:44:16 2008 UTC (15 years, 11 months ago) by thib
Branch: MAIN
Changes since 1.47: +3 -13 lines
Diff to previous 1.47 (colored)


Actually return an error in nfs_asyncio() if we fail to process
the buf due too all of the nfs iod's being busy; this downgrades
the write to a sync one and allows to handle this.

ok art@, beck@

Revision 1.47 / (download) - annotate - [select for diffs], Wed Jun 11 04:52:27 2008 UTC (15 years, 11 months ago) by blambert
Branch: MAIN
Changes since 1.46: +2 -1 lines
Diff to previous 1.46 (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.46 / (download) - annotate - [select for diffs], Fri Jun 1 23:47:57 2007 UTC (17 years ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.45: +2 -7 lines
Diff to previous 1.45 (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.45 / (download) - annotate - [select for diffs], Fri Jun 1 07:13:47 2007 UTC (17 years ago) by thib
Branch: MAIN
Changes since 1.44: +5 -5 lines
Diff to previous 1.44 (colored)

daddr_t -> daddr64_t;
Basically the usage of daddr_t was to math out arguments to
nfs_getcacheblk, wich calls getblk();

ok deraadt@

Revision 1.44 / (download) - annotate - [select for diffs], Wed Nov 29 12:24:18 2006 UTC (17 years, 6 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.43: +1 -2 lines
Diff to previous 1.43 (colored)

Kernel stack can be swapped. This means that stuff that's on the stack
should never be referenced outside the context of the process to which
this stack belongs unless we do the PHOLD/PRELE dance. Loads of code
doesn't follow the rules here. Instead of trying to track down all
offenders and fix this hairy situation, it makes much more sense
to not swap kernel stacks.

From art@, tested by many some time ago.

Revision 1.43 / (download) - annotate - [select for diffs], Wed Nov 1 00:12:35 2006 UTC (17 years, 7 months ago) by thib
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

move the declaration of nfsstats from nfs_bio.c to
nfs_subs.c so it gets pulled in for NFSSERVER only
kernels.

ok deraadt@,krw@

Revision 1.42 / (download) - annotate - [select for diffs], Thu Apr 20 14:43:32 2006 UTC (18 years, 1 month ago) by pedro
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.41: +1 -5 lines
Diff to previous 1.41 (colored)

Remove unused debug code that sneaked in by accident long ago

Revision 1.41 / (download) - annotate - [select for diffs], Mon Oct 31 20:22:36 2005 UTC (18 years, 7 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.40: +5 -4 lines
Diff to previous 1.40 (colored)

Fix reading large files; from NetBSD. Somehow this was overlooked
when earlier merges were done. Fixes PR 4250.  ok millert@ deraadt@

Revision 1.40 / (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_8_BASE, OPENBSD_3_8, OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6
Changes since 1.39: +22 -6 lines
Diff to previous 1.39 (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.39 / (download) - annotate - [select for diffs], Wed Jul 21 17:30:55 2004 UTC (19 years, 10 months ago) by marius
Branch: MAIN
Changes since 1.38: +12 -3 lines
Diff to previous 1.38 (colored)

kqueue support for NFS, adapted from netbsd.

ok art@ pedro@, "get it in" deraadt@

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

Sync SMP branch to -current

Revision 1.38 / (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.37: +2 -6 lines
Diff to previous 1.37 (colored)

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

Revision 1.32.2.5 / (download) - annotate - [select for diffs], Mon May 19 22:36:43 2003 UTC (21 years ago) by tedu
Branch: UBC
Changes since 1.32.2.4: +2 -1 lines
Diff to previous 1.32.2.4 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)

sync

Revision 1.15.6.7 / (download) - annotate - [select for diffs], Fri May 16 00:29:45 2003 UTC (21 years ago) by niklas
Branch: SMP
Changes since 1.15.6.6: +1 -0 lines
Diff to previous 1.15.6.6 (colored) to branchpoint 1.15 (colored)

merge the trunk so we will get the genfs and locking fixes

Revision 1.37 / (download) - annotate - [select for diffs], Tue May 13 02:09:47 2003 UTC (21 years ago) by jason
Branch: MAIN
CVS Tags: UBC_SYNC_A
Changes since 1.36: +2 -1 lines
Diff to previous 1.36 (colored)

Kill a bunch more commons (very few left =)

Revision 1.15.6.6 / (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.15.6.5: +3 -1 lines
Diff to previous 1.15.6.5 (colored) to branchpoint 1.15 (colored)

Sync the SMP branch with 3.3

Revision 1.32.2.4 / (download) - annotate - [select for diffs], Mon Nov 4 18:02:31 2002 UTC (21 years, 7 months ago) by art
Branch: UBC
Changes since 1.32.2.3: +225 -98 lines
Diff to previous 1.32.2.3 (colored) to branchpoint 1.32 (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.32.2.3 / (download) - annotate - [select for diffs], Tue Jun 11 03:32:03 2002 UTC (21 years, 11 months ago) by art
Branch: UBC
Changes since 1.32.2.2: +16 -19 lines
Diff to previous 1.32.2.2 (colored) to branchpoint 1.32 (colored)

Sync UBC branch to -current

Revision 1.36 / (download) - annotate - [select for diffs], Tue May 21 21:07:09 2002 UTC (22 years ago) by art
Branch: MAIN
CVS Tags: UBC_SYNC_B, OPENBSD_3_3_BASE, OPENBSD_3_3, OPENBSD_3_2_BASE, OPENBSD_3_2
Changes since 1.35: +4 -2 lines
Diff to previous 1.35 (colored)

Protect calls to biodone with splbio. Some functions called
by biodone assume splbio (probably just on other filesystems) and some
callbacks from b_iodone assume it too. It's just much safer.
costa@ ok.

Revision 1.15.6.5 / (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.15.6.4: +265 -694 lines
Diff to previous 1.15.6.4 (colored) to branchpoint 1.15 (colored)

Merge in trunk

Revision 1.35 / (download) - annotate - [select for diffs], Fri Feb 8 08:20:49 2002 UTC (22 years, 3 months ago) by csapuntz
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.34: +13 -19 lines
Diff to previous 1.34 (colored)

There are NFS servers where it's possible to modify a symbolic link. Remove aggressive optimization

Revision 1.32.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.32.2.1: +121 -550 lines
Diff to previous 1.32.2.1 (colored) to branchpoint 1.32 (colored)

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

Revision 1.32.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.32: +5 -5 lines
Diff to previous 1.32 (colored)

Merge in -current, builds on i386, otherwise untested

Revision 1.34 / (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.33: +13 -13 lines
Diff to previous 1.33 (colored)


use queue.h macro's
remove register

Revision 1.33 / (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.32: +254 -682 lines
Diff to previous 1.32 (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.32 / (download) - annotate - [select for diffs], Fri Dec 14 03:16:02 2001 UTC (22 years, 5 months ago) by art
Branch: MAIN
CVS Tags: UBC_BASE
Branch point for: UBC
Changes since 1.31: +7 -2 lines
Diff to previous 1.31 (colored)

Workaround a compiler bug on m68k.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Dec 10 02:19:34 2001 UTC (22 years, 5 months ago) by art
Branch: MAIN
Changes since 1.30: +16 -16 lines
Diff to previous 1.30 (colored)

Merge in struct uvm_vnode into struct vnode.

Revision 1.15.6.4 / (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.15.6.3: +711 -285 lines
Diff to previous 1.15.6.3 (colored) to branchpoint 1.15 (colored)

Merge in -current

Revision 1.30 / (download) - annotate - [select for diffs], Fri Nov 30 18:58:18 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored)

Whooops.
Stop returning EINPROGRESS now that the caller doesn't understand it
anymore.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Nov 30 05:45:33 2001 UTC (22 years, 6 months ago) by csapuntz
Branch: MAIN
Changes since 1.28: +3 -5 lines
Diff to previous 1.28 (colored)

Call buf_cleanout, which handles wakeups

Revision 1.28 / (download) - annotate - [select for diffs], Thu Nov 29 12:24:28 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.27: +4 -2 lines
Diff to previous 1.27 (colored)

Make sure the nfs vnodes are on the syncer worklist.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Nov 29 02:08:22 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored)

Make sure the whole buffer is initialized before calling bgetvp.
Recommended by csapuntz@

Revision 1.26 / (download) - annotate - [select for diffs], Thu Nov 29 01:59:19 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.25: +11 -4 lines
Diff to previous 1.25 (colored)

Correctly handle b_vp with bgetvp and brelvp in {get,put}pages.
Prevents panics caused by vnodes being recycled under our feet.

Revision 1.25 / (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.24: +673 -257 lines
Diff to previous 1.24 (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.24 / (download) - annotate - [select for diffs], Thu Nov 15 23:15:15 2001 UTC (22 years, 6 months ago) by art
Branch: MAIN
Changes since 1.23: +36 -33 lines
Diff to previous 1.23 (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.15.6.3 / (download) - annotate - [select for diffs], Tue Nov 13 22:59:59 2001 UTC (22 years, 6 months ago) by niklas
Branch: SMP
Changes since 1.15.6.2: +2 -2 lines
Diff to previous 1.15.6.2 (colored) to branchpoint 1.15 (colored)

merge in -current

Revision 1.23 / (download) - annotate - [select for diffs], Tue Nov 6 19:53:21 2001 UTC (22 years, 7 months ago) by miod
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.
(Look ma, I might have broken the tree)

Revision 1.15.6.2 / (download) - annotate - [select for diffs], Wed Jul 4 10:55:45 2001 UTC (22 years, 11 months ago) by niklas
Branch: SMP
Changes since 1.15.6.1: +14 -210 lines
Diff to previous 1.15.6.1 (colored) to branchpoint 1.15 (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.22 / (download) - annotate - [select for diffs], Wed Jun 27 04:58:46 2001 UTC (22 years, 11 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE, OPENBSD_3_0
Changes since 1.21: +1 -9 lines
Diff to previous 1.21 (colored)

Remove old vm.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Jun 25 05:27:54 2001 UTC (22 years, 11 months ago) by csapuntz
Branch: MAIN
Changes since 1.20: +6 -13 lines
Diff to previous 1.20 (colored)



Get rid of some dead code caused by the last commit

Revision 1.20 / (download) - annotate - [select for diffs], Mon Jun 25 03:28:06 2001 UTC (22 years, 11 months ago) by csapuntz
Branch: MAIN
Changes since 1.19: +8 -89 lines
Diff to previous 1.19 (colored)

Remove NQNFS

Revision 1.19 / (download) - annotate - [select for diffs], Mon Jun 25 02:15:46 2001 UTC (22 years, 11 months ago) by csapuntz
Branch: MAIN
Changes since 1.18: +3 -103 lines
Diff to previous 1.18 (colored)


Get rid of old directory caching scheme which caused persistent duplicates.

Still not correct for NFSv3 but that's hard.

Revision 1.15.6.1 / (download) - annotate - [select for diffs], Mon May 14 22:44:57 2001 UTC (23 years ago) by niklas
Branch: SMP
Changes since 1.15: +6 -18 lines
Diff to previous 1.15 (colored)

merge in approximately 2.9 into SMP branch

Revision 1.18 / (download) - annotate - [select for diffs], Fri Feb 23 14:52:50 2001 UTC (23 years, 3 months ago) by csapuntz
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE, OPENBSD_2_9
Changes since 1.17: +6 -16 lines
Diff to previous 1.17 (colored)



Change the B_DELWRI flag using buf_dirty and buf_undirty instead of
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@

Revision 1.17 / (download) - annotate - [select for diffs], Fri Feb 23 14:42:38 2001 UTC (23 years, 3 months ago) by csapuntz
Branch: MAIN
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (colored)



Remove the clustering fields from the vnodes and place them in the
file system inode instead

Revision 1.16 / (download) - annotate - [select for diffs], Fri Jun 23 02:14:40 2000 UTC (23 years, 11 months ago) by mickey
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE, OPENBSD_2_8
Changes since 1.15: +1 -2 lines
Diff to previous 1.15 (colored)

remove obsolete vtrace guts; art@

Revision 1.15 / (download) - annotate - [select for diffs], Fri Feb 26 03:16:25 1999 UTC (25 years, 3 months ago) by art
Branch: MAIN
CVS Tags: kame_19991208, SMP_BASE, OPENBSD_2_7_BASE, OPENBSD_2_7, OPENBSD_2_6_BASE, OPENBSD_2_6, OPENBSD_2_5_BASE, OPENBSD_2_5
Branch point for: SMP
Changes since 1.14: +9 -1 lines
Diff to previous 1.14 (colored)

compatibility with uvm vnode pager

Revision 1.14 / (download) - annotate - [select for diffs], Tue Dec 2 16:57:57 1997 UTC (26 years, 6 months ago) by csapuntz
Branch: MAIN
CVS Tags: OPENBSD_2_4_BASE, OPENBSD_2_4, OPENBSD_2_3_BASE, OPENBSD_2_3
Changes since 1.13: +10 -4 lines
Diff to previous 1.13 (colored)

More splbio()'s added so that reassignbuf can do its thing.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Nov 6 05:59:00 1997 UTC (26 years, 7 months ago) by csapuntz
Branch: MAIN
Changes since 1.12: +1 -21 lines
Diff to previous 1.12 (colored)

Updates for VFS Lite 2 + soft update.

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

back out vfs lite2 till after 2.2

Revision 1.11 / (download) - annotate - [select for diffs], Mon Oct 6 15:23:40 1997 UTC (26 years, 8 months ago) by csapuntz
Branch: MAIN
Changes since 1.10: +1 -21 lines
Diff to previous 1.10 (colored)

VFS Lite2 Changes

Revision 1.10 / (download) - annotate - [select for diffs], Sat Jul 27 11:10:11 1996 UTC (27 years, 10 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_1_BASE, OPENBSD_2_1, OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

fvdl; Don't mistake a non-async block that needs to be commited for an
interrupted write.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Jul 21 08:05:37 1996 UTC (27 years, 10 months ago) by tholo
Branch: MAIN
Changes since 1.8: +11 -5 lines
Diff to previous 1.8 (colored)

Ensure we never use more than one callout table slot

Revision 1.8 / (download) - annotate - [select for diffs], Fri Jun 14 04:41:07 1996 UTC (27 years, 11 months ago) by tholo
Branch: MAIN
Changes since 1.7: +15 -1 lines
Diff to previous 1.7 (colored)

Keep dirty list used by in-kernel update(8) in sync with buffers

Revision 1.7 / (download) - annotate - [select for diffs], Tue May 28 13:44:07 1996 UTC (28 years ago) by deraadt
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

sync

Revision 1.6 / (download) - annotate - [select for diffs], Sun Apr 21 22:30:18 1996 UTC (28 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.5: +12 -12 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:24 1996 UTC (28 years, 1 month ago) by mickey
Branch: MAIN
Changes since 1.4: +10 -10 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:32 1996 UTC (28 years, 2 months ago) by mickey
Branch: MAIN
Changes since 1.3: +180 -129 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:48 1996 UTC (28 years, 3 months ago) by niklas
Branch: MAIN
Changes since 1.2: +76 -29 lines
Diff to previous 1.2 (colored)

From NetBSD: merge with 960217 (still NFSv2)

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jan 8 07:36:23 1996 UTC (28 years, 5 months ago) by dm
Branch: MAIN
Changes since 1.1: +5 -1 lines
Diff to previous 1.1 (colored)

graichen@freebsd.org: fixed -type:=direct mounts in amd

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:53:21 1995 UTC (28 years, 7 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:21 1995 UTC (28 years, 7 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.