The NetBSD Project

CVS log for src/sys/ufs/ufs/ufs_vnops.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / ufs / ufs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.262 / (download) - annotate - [select for diffs], Sun Mar 27 16:24:59 2022 UTC (2 years ago) by christos
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.261: +16 -11 lines
Diff to previous 1.261 (colored) to selected 1.95 (colored)

add a kauth vnode check for creating links

Revision 1.261 / (download) - annotate - [select for diffs], Fri Nov 26 17:35:12 2021 UTC (2 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.260: +9 -9 lines
Diff to previous 1.260 (colored) to selected 1.95 (colored)

use MNT_NFS4ACLS instead of MNT_ACLS (which was changed before to mean
MNT_POSIX1EACLS)

Revision 1.260 / (download) - annotate - [select for diffs], Wed Oct 20 03:08:19 2021 UTC (2 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.259: +7 -14 lines
Diff to previous 1.259 (colored) to selected 1.95 (colored)

Overhaul of the EVFILT_VNODE kevent(2) filter:

- Centralize vnode kevent handling in the VOP_*() wrappers, rather than
  forcing each individual file system to deal with it (except VOP_RENAME(),
  because VOP_RENAME() is a mess and we currently have 2 different ways
  of handling it; at least it's reasonably well-centralized in the "new"
  way).
- Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ,
  compatible with the same events in FreeBSD.
- Track which kevent notifications clients are interested in receiving
  to avoid doing work for events no one cares about (avoiding, e.g.
  taking locks and traversing the klist to send a NOTE_WRITE when
  someone is merely watching for a file to be deleted, for example).

In support of the above:

- Add support in vnode_if.sh for specifying PRE- and POST-op handlers,
  to be invoked before and after vop_pre() and vop_post(), respectively.
  Basic idea from FreeBSD, but implemented differently.
- Add support in vnode_if.sh for specifying CONTEXT fields in the
  vop_*_args structures.  These context fields are used to convey information
  between the file system VOP function and the VOP wrapper, but do not
  occupy an argument slot in the VOP_*() call itself.  These context fields
  are initialized and subsequently interpreted by PRE- and POST-op handlers.
- Version VOP_REMOVE(), uses the a context field for the file system to report
  back the resulting link count of the target vnode.  Return this in tmpfs,
  udf, nfs, chfs, ext2fs, lfs, and ufs.

NetBSD 9.99.92.

Revision 1.259 / (download) - annotate - [select for diffs], Sat Sep 5 16:30:13 2020 UTC (3 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.258: +7 -2 lines
Diff to previous 1.258 (colored) to selected 1.95 (colored)

Round of uvm.h cleanup.

The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
  to query whether curlwp is the pagedaemon, which should maybe be
  exposed by an external header.

- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
  by it.  We should split up uvm_extern.h but this will serve for now
  to reduce the uvm.h dependencies.

- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
  UVMHIST(ubchist), since ubchist is declared in uvm.h but the
  reference evaporates if UVMHIST is not defined, so we reduce header
  file dependencies.

- Make uvm_device.h and uvm_swap.h independently includable while
  here.

ok chs@

Revision 1.258 / (download) - annotate - [select for diffs], Sat Sep 5 02:55:39 2020 UTC (3 years, 6 months ago) by riastradh
Branch: MAIN
Changes since 1.257: +2 -9 lines
Diff to previous 1.257 (colored) to selected 1.95 (colored)

Revert "ufs: Prevent mkdir from choking on deleted directories."

This change made no sense and should not have been committed.

Revision 1.257 / (download) - annotate - [select for diffs], Sat Sep 5 02:47:48 2020 UTC (3 years, 6 months ago) by riastradh
Branch: MAIN
Changes since 1.256: +9 -2 lines
Diff to previous 1.256 (colored) to selected 1.95 (colored)

ufs: Prevent mkdir from choking on deleted directories.

Fix some missing uvm_vnp_setsize in screw cases while here.

Revision 1.256 / (download) - annotate - [select for diffs], Thu Aug 20 20:28:13 2020 UTC (3 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.255: +5 -5 lines
Diff to previous 1.255 (colored) to selected 1.95 (colored)

Don't cache id's for vnodes that have ACLs. ok chs@

Revision 1.255 / (download) - annotate - [select for diffs], Mon May 18 08:28:44 2020 UTC (3 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.254: +4 -2 lines
Diff to previous 1.254 (colored) to selected 1.95 (colored)

Assert ufs_strategy() always gets used while current thread
holds a fstrans lock.

Revision 1.254 / (download) - annotate - [select for diffs], Sat May 16 18:31:54 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.253: +413 -43 lines
Diff to previous 1.253 (colored) to selected 1.95 (colored)

Add ACL support for FFS. From FreeBSD.

Revision 1.253 / (download) - annotate - [select for diffs], Tue May 12 23:17:41 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.252: +5 -5 lines
Diff to previous 1.252 (colored) to selected 1.95 (colored)

cache_enter_id(): give it a boolean parameter to indicate whether the cached
identity is valid.

Revision 1.239.4.4 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:46 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.239.4.3: +4 -4 lines
Diff to previous 1.239.4.3 (colored) to branchpoint 1.239 (colored) next main 1.240 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.250.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:14 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.250: +6 -6 lines
Diff to previous 1.250 (colored) next main 1.251 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.252 / (download) - annotate - [select for diffs], Sat Apr 18 19:18:34 2020 UTC (3 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.251: +3 -3 lines
Diff to previous 1.251 (colored) to selected 1.95 (colored)

Extended attribute support for ffsv2, from FreeBSD.

Revision 1.251 / (download) - annotate - [select for diffs], Mon Apr 13 19:23:20 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.250: +5 -5 lines
Diff to previous 1.250 (colored) to selected 1.95 (colored)

Replace most uses of vp->v_usecount with a call to vrefcnt(vp), a function
that hides the details and does atomic_load_relaxed().  Signature matches
FreeBSD.

Revision 1.239.4.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:21 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.239.4.2: +73 -3 lines
Diff to previous 1.239.4.2 (colored) to branchpoint 1.239 (colored) to selected 1.95 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.239.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:04 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.239.4.1: +11 -4 lines
Diff to previous 1.239.4.1 (colored) to branchpoint 1.239 (colored) to selected 1.95 (colored)

Merge changes from current as of 20200406

Revision 1.250 / (download) - annotate - [select for diffs], Sat Apr 4 20:49:31 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.249: +6 -3 lines
Diff to previous 1.249 (colored) to selected 1.95 (colored)

Merge the remaining changes from the ad-namecache branch, affecting namei()
and getcwd():

- push vnode locking back as far as possible.
- do most lookups directly in the namecache, avoiding vnode locks & refs.
- don't block new refs to vnodes across VOP_INACTIVE().
- get shared locks for VOP_LOOKUP() if the file system supports it.
- correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.

Possible future enhancements:

- make the lookups lockless.
- support dotdot lookups by being lockless and inferring absence of chroot.
- maybe make it work for layered file systems.
- avoid vnode references at the root & cwd.

Revision 1.248.2.3 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:11 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.248.2.2: +7 -3 lines
Diff to previous 1.248.2.2 (colored) to branchpoint 1.248 (colored) next main 1.249 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.247.2.1 / (download) - annotate - [select for diffs], Thu Feb 27 18:55:05 2020 UTC (4 years, 1 month ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Changes since 1.247: +7 -3 lines
Diff to previous 1.247 (colored) next main 1.248 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by maxv in ticket #739):

	sys/ufs/ufs/ufs_vnops.c: revision 1.249

Zero out the padding in 'd_namlen', to prevent info leaks. Same logic as
ufs_makedirentry().

Found by kMSan: the unzeroed bytes of the pool_cache were getting copied
to the disk via a DMA write operation, and there kMSan was noticing
uninitialized memory leaving the system.

Revision 1.237.4.2 / (download) - annotate - [select for diffs], Thu Feb 27 14:41:05 2020 UTC (4 years, 1 month ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE
Changes since 1.237.4.1: +7 -3 lines
Diff to previous 1.237.4.1 (colored) to branchpoint 1.237 (colored) next main 1.238 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by maxv in ticket #1511):

	sys/ufs/ufs/ufs_vnops.c: revision 1.249

Zero out the padding in 'd_namlen', to prevent info leaks. Same logic as
ufs_makedirentry().

Found by kMSan: the unzeroed bytes of the pool_cache were getting copied
to the disk via a DMA write operation, and there kMSan was noticing
uninitialized memory leaving the system.

Revision 1.249 / (download) - annotate - [select for diffs], Wed Feb 26 18:00:12 2020 UTC (4 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3
Changes since 1.248: +7 -3 lines
Diff to previous 1.248 (colored) to selected 1.95 (colored)

Zero out the padding in 'd_namlen', to prevent info leaks. Same logic as
ufs_makedirentry().

Found by kMSan: the unzeroed bytes of the pool_cache were getting copied
to the disk via a DMA write operation, and there kMSan was noticing
uninitialized memory leaving the system.

Reported-by: syzbot+382c9dffc06a9683abb5@syzkaller.appspotmail.com

Revision 1.248.2.2 / (download) - annotate - [select for diffs], Fri Jan 24 16:48:59 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.248.2.1: +6 -6 lines
Diff to previous 1.248.2.1 (colored) to branchpoint 1.248 (colored) to selected 1.95 (colored)

- Put all the namecache stuff back into vnode_impl_t.
- Tidy vfs_cache.c up, finish the comments.
- Finalise how ID information is entered to the cache.
- Handle very small/old systems.

Revision 1.248.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 22:26:26 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.248: +5 -2 lines
Diff to previous 1.248 (colored) to selected 1.95 (colored)

vfs_lookup:

- Do the easy component name lookups directly in the namecache without
  taking vnode locks nor vnode references (between the start and the leaf /
  parent), which seems to largely solve the lock contention problem with
  namei().  It needs support from the file system, which has to tell the
  name cache about directory permissions (only ffs and tmpfs tried so far),
  and I'm not sure how or if it can work with layered file systems yet.
  Work in progress.

vfs_cache:

- Make the rbtree operations more efficient: inline the lookup, and key on a
  64-bit hash value (32 bits plus 16 bits length) rather than names.

- Take namecache stuff out of vnode_impl, and take the rwlocks, and put them
  all together an an nchnode struct which is mapped 1:1: with vnodes.  Saves
  memory and nicer cache profile.

- Add a routine to help vfs_lookup do its easy component name lookups.

- Report some more stats.

- Tidy up the file a bit.

Revision 1.248 / (download) - annotate - [select for diffs], Wed Sep 18 17:59:15 2019 UTC (4 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-20191119, ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.247: +3 -2 lines
Diff to previous 1.247 (colored) to selected 1.95 (colored)

Add newly created vnodes to the namei cache. The rest of the filesystems
already did that (or they don't support writing). Discussed in tech-kern.

Revision 1.247 / (download) - annotate - [select for diffs], Mon Jul 1 00:57:06 2019 UTC (4 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Branch point for: netbsd-9
Changes since 1.246: +74 -5 lines
Diff to previous 1.246 (colored) to selected 1.95 (colored)

Lay down some comments related to the previous few revisions of ufs_vnops.c.

Revision 1.239.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:58 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.239: +20 -10 lines
Diff to previous 1.239 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.246 / (download) - annotate - [select for diffs], Mon Feb 25 06:00:40 2019 UTC (5 years, 1 month ago) by dholland
Branch: MAIN
CVS Tags: phil-wifi-20190609, isaki-audio2-base, isaki-audio2
Changes since 1.245: +5 -3 lines
Diff to previous 1.245 (colored) to selected 1.95 (colored)

Revert -r1.244-245 of ufs_vnops.c; they are wrong.
Fix the mistake in -r1.243 that made them look like reasonable changes.

(this does not affect whether the -r1.243 change works with the union
mount path in libc, but fixes an immediate hazard)

Revision 1.245 / (download) - annotate - [select for diffs], Mon Feb 25 00:51:24 2019 UTC (5 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.244: +3 -4 lines
Diff to previous 1.244 (colored) to selected 1.95 (colored)

drop unused

Revision 1.244 / (download) - annotate - [select for diffs], Mon Feb 25 00:11:13 2019 UTC (5 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.243: +2 -3 lines
Diff to previous 1.243 (colored) to selected 1.95 (colored)

remove junk assignment.

Revision 1.243 / (download) - annotate - [select for diffs], Sun Feb 24 19:06:40 2019 UTC (5 years, 1 month ago) by mlelstv
Branch: MAIN
Changes since 1.242: +17 -8 lines
Diff to previous 1.242 (colored) to selected 1.95 (colored)

Reading a directory may trigger a panic when the buffer is too small.
Adjust necessary checks.

While here, also check for arithmetic overflow.

Reported-by: syzbot+88ecace8bff24169058f@syzkaller.appspotmail.com

Revision 1.239.2.1 / (download) - annotate - [select for diffs], Fri Jan 18 08:50:59 2019 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.239: +5 -4 lines
Diff to previous 1.239 (colored) next main 1.240 (colored) to selected 1.95 (colored)

Synch with HEAD

Revision 1.242 / (download) - annotate - [select for diffs], Tue Jan 1 10:06:55 2019 UTC (5 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118
Changes since 1.241: +5 -4 lines
Diff to previous 1.241 (colored) to selected 1.95 (colored)

Add "void *extra" argument to vcache_new() so a file system may
pass more information about the file to create.

Welcome to 8.99.30

Revision 1.241 / (download) - annotate - [select for diffs], Mon Dec 10 20:48:34 2018 UTC (5 years, 3 months ago) by jdolecek
Branch: MAIN
CVS Tags: pgoyette-compat-1226
Changes since 1.240: +6 -2 lines
Diff to previous 1.240 (colored) to selected 1.95 (colored)

put back UFS_WAPBL_JUNLOCK_ASSERT(), the underlying rw_write_held() check
doesn't actually have a race since it checks if the rwlock is held by
current lwp

Revision 1.240 / (download) - annotate - [select for diffs], Mon Dec 10 19:29:41 2018 UTC (5 years, 3 months ago) by jdolecek
Branch: MAIN
Changes since 1.239: +2 -6 lines
Diff to previous 1.239 (colored) to selected 1.95 (colored)

make UFS_WAPBL_JLOCK_ASSERT() #ifdef DIAGNOSTIC, same as the underlying
function KASSERT(), so that it actually does something; fix code using
it to actually pass correct params, so that it compiles

remove UFS_WAPBL_JUNLOCK_ASSERT(), as that is inherently racy (it's
okay on those places if the rwlock is held by other lwp); depend
on the RW_ASSERT()/LOCKDEBUG inside rw_enter() to catch the case
with wapbl rwlock held by current lwp

Revision 1.210.2.4 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:22 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.210.2.3: +267 -285 lines
Diff to previous 1.210.2.3 (colored) to branchpoint 1.210 (colored) next main 1.211 (colored) to selected 1.95 (colored)

update from HEAD

Revision 1.237.4.1 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:53 2017 UTC (6 years, 4 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.237: +4 -4 lines
Diff to previous 1.237 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by pgoyette in ticket #335):
	share/man/man9/kernhist.9: 1.5-1.8
	sys/arch/acorn26/acorn26/pmap.c: 1.39
	sys/arch/arm/arm32/fault.c: 1.105 via patch
	sys/arch/arm/arm32/pmap.c: 1.350, 1.359
	sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7
	sys/arch/arm/omap/if_cpsw.c: 1.20
	sys/arch/arm/omap/tiotg.c: 1.7
	sys/arch/evbarm/conf/RPI2_INSTALL: 1.3
	sys/dev/ic/sl811hs.c: 1.98
	sys/dev/usb/ehci.c: 1.256
	sys/dev/usb/if_axe.c: 1.83
	sys/dev/usb/motg.c: 1.18
	sys/dev/usb/ohci.c: 1.274
	sys/dev/usb/ucom.c: 1.119
	sys/dev/usb/uhci.c: 1.277
	sys/dev/usb/uhub.c: 1.137
	sys/dev/usb/umass.c: 1.160-1.162
	sys/dev/usb/umass_quirks.c: 1.100
	sys/dev/usb/umass_scsipi.c: 1.55
	sys/dev/usb/usb.c: 1.168
	sys/dev/usb/usb_mem.c: 1.70
	sys/dev/usb/usb_subr.c: 1.221
	sys/dev/usb/usbdi.c: 1.175
	sys/dev/usb/usbdi_util.c: 1.67-1.70
	sys/dev/usb/usbroothub.c: 1.3
	sys/dev/usb/xhci.c: 1.75
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34
	sys/kern/kern_history.c: 1.15
	sys/kern/kern_xxx.c: 1.74
	sys/kern/vfs_bio.c: 1.275-1.276
	sys/miscfs/genfs/genfs_io.c: 1.71
	sys/sys/kernhist.h: 1.21
	sys/ufs/ffs/ffs_balloc.c: 1.63
	sys/ufs/lfs/lfs_vfsops.c: 1.361
	sys/ufs/lfs/ulfs_inode.c: 1.21
	sys/ufs/lfs/ulfs_vnops.c: 1.52
	sys/ufs/ufs/ufs_inode.c: 1.102
	sys/ufs/ufs/ufs_vnops.c: 1.239
	sys/uvm/pmap/pmap.c: 1.37-1.39
	sys/uvm/pmap/pmap_tlb.c: 1.22
	sys/uvm/uvm_amap.c: 1.108
	sys/uvm/uvm_anon.c: 1.64
	sys/uvm/uvm_aobj.c: 1.126
	sys/uvm/uvm_bio.c: 1.91
	sys/uvm/uvm_device.c: 1.66
	sys/uvm/uvm_fault.c: 1.201
	sys/uvm/uvm_km.c: 1.144
	sys/uvm/uvm_loan.c: 1.85
	sys/uvm/uvm_map.c: 1.353
	sys/uvm/uvm_page.c: 1.194
	sys/uvm/uvm_pager.c: 1.111
	sys/uvm/uvm_pdaemon.c: 1.109
	sys/uvm/uvm_swap.c: 1.175
	sys/uvm/uvm_vnode.c: 1.103
	usr.bin/vmstat/vmstat.c: 1.219
Reorder to test for null before null deref in debug code
--
Reorder to test for null before null deref in debug code
--
KNF
--
No need for '\n' in UVMHIST_LOG
--
normalise a BIOHIST log message
--
Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in
   the kernel and in the structures used for exporting the history data
   to userland via sysctl(9).  This avoids problems on some architectures
   where passing a 64-bit (or larger) value to printf(3) can cause it to
   process the value as multiple arguments.  (This can be particularly
   problematic when printf()'s format string is not a literal, since in
   that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to
   include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings
   updated.  Each format specifier now includes an explicit length
   modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings
   updated to replace uses of "%p" with "%#jx", and the pointer
   arguments are now cast to (uintptr_t) before being subsequently cast
   to (uintmax_t).  This is needed to avoid compiler warnings about
   casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or
   "%c" format strings replaced with numeric formats; several instances
   of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the
   history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with
   the -u option does not exist (previously, this condition was silently
   ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the
   data exported via sysctl(9) and exits if they do not match the values
   with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional
   requirements imposed on the format strings, along with several other
   minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example,
     uint64_t) for the history arguments.  But that would require another
     "rototill" of all the users in the future when we add support for an
     architecture that supports a larger size.  Also, the printf(3)
format
     specifiers for explicitly-sized values, such as "%"PRIu64, are much
     more verbose (and less aesthetically appealing, IMHO) than simply
     using "%ju".
[2] I've tried very hard to find "all [the] existing users of
kernhist(9)"
     but it is possible that I've missed some of them.  I would be glad
to
     update any stragglers that anyone identifies.
--
For some reason this single kernel seems to have outgrown its declared
size as a result of the kernhist(9) changes.  Bump the size.
XXX The amount of increase may be excessive - anyone with more detailed
XXX knowledge please feel free to further adjust the value
appropriately.
--
Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit
--
And yet another one.  :(
--
Use correct mark-up for NetBSD version.
--
More improvements in grammar and readability.
--
Remove a stray '"' (obvious typo) and add a couple of casts that are
probably needed.
--
And replace an instance of "%p" conversion with "%#jx"
--
Whitespace fix. Give Bl tag table a width. Fix Xr.

Revision 1.239 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:13 2017 UTC (6 years, 5 months ago) by pgoyette
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.238: +4 -4 lines
Diff to previous 1.238 (colored) to selected 1.95 (colored)

Update the kernhist(9) kernel history code to address issues identified
in PR kern/52639, as well as some general cleaning-up...

(As proposed on tech-kern@ with additional changes and enhancements.)

Details of changes:

* All history arguments are now stored as uintmax_t values[1], both in
  the kernel and in the structures used for exporting the history data
  to userland via sysctl(9).  This avoids problems on some architectures
  where passing a 64-bit (or larger) value to printf(3) can cause it to
  process the value as multiple arguments.  (This can be particularly
  problematic when printf()'s format string is not a literal, since in
  that case the compiler cannot know how large each argument should be.)

* Update the data structures used for exporting kernel history data to
  include a version number as well as the length of history arguments.

* All [2] existing users of kernhist(9) have had their format strings
  updated.  Each format specifier now includes an explicit length
  modifier 'j' to refer to numeric values of the size of uintmax_t.

* All [2] existing users of kernhist(9) have had their format strings
  updated to replace uses of "%p" with "%#jx", and the pointer
  arguments are now cast to (uintptr_t) before being subsequently cast
  to (uintmax_t).  This is needed to avoid compiler warnings about
  casting "pointer to integer of a different size."

* All [2] existing users of kernhist(9) have had instances of "%s" or
  "%c" format strings replaced with numeric formats; several instances
  of mis-match between format string and argument list have been fixed.

* vmstat(1) has been modified to handle the new size of arguments in the
  history data as exported by sysctl(9).

* vmstat(1) now provides a warning message if the history requested with
  the -u option does not exist (previously, this condition was silently
  ignored, with only a single blank line being printed).

* vmstat(1) now checks the version and argument length included in the
  data exported via sysctl(9) and exits if they do not match the values
  with which vmstat was built.

* The kernhist(9) man-page has been updated to note the additional
  requirements imposed on the format strings, along with several other
  minor changes and enhancements.

[1] It would have been possible to use an explicit length (for example,
    uint64_t) for the history arguments.  But that would require another
    "rototill" of all the users in the future when we add support for an
    architecture that supports a larger size.  Also, the printf(3) format
    specifiers for explicitly-sized values, such as "%"PRIu64, are much
    more verbose (and less aesthetically appealing, IMHO) than simply
    using "%ju".

[2] I've tried very hard to find "all [the] existing users of kernhist(9)"
    but it is possible that I've missed some of them.  I would be glad to
    update any stragglers that anyone identifies.

Revision 1.224.2.6 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:17 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.224.2.5: +143 -137 lines
Diff to previous 1.224.2.5 (colored) to branchpoint 1.224 (colored) next main 1.225 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.238 / (download) - annotate - [select for diffs], Mon Aug 7 06:53:48 2017 UTC (6 years, 7 months ago) by dholland
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.237: +133 -86 lines
Diff to previous 1.237 (colored) to selected 1.95 (colored)

Tidy up ufs_readdir. First step only; there's plenty more that could be
done to improve this code.

Revision 1.237 / (download) - annotate - [select for diffs], Wed Apr 26 03:02:49 2017 UTC (6 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base
Branch point for: netbsd-8
Changes since 1.236: +6 -9 lines
Diff to previous 1.236 (colored) to selected 1.95 (colored)

Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.

No change to vp -- the plan is to replace the node by the
componentname in the vop parameters, and let all directory vops do
lookups internally.

Proposed on tech-kern with no objections:
https://mail-index.netbsd.org/tech-kern/2017/04/17/msg021825.html

Revision 1.234.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:09 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.234: +8 -45 lines
Diff to previous 1.234 (colored) next main 1.235 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.232.2.3 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:54 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.232.2.2: +8 -45 lines
Diff to previous 1.232.2.2 (colored) to branchpoint 1.232 (colored) next main 1.233 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.236 / (download) - annotate - [select for diffs], Sat Mar 18 05:39:06 2017 UTC (7 years ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-localcount-20170426, pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Changes since 1.235: +8 -10 lines
Diff to previous 1.235 (colored) to selected 1.95 (colored)

#if DIAGNOSTIC panic ---> KASSERT

Revision 1.235 / (download) - annotate - [select for diffs], Wed Mar 1 10:42:45 2017 UTC (7 years ago) by hannken
Branch: MAIN
Changes since 1.234: +2 -37 lines
Diff to previous 1.234 (colored) to selected 1.95 (colored)

Remove now redundant calls to fstrans_start()/fstrans_done().

Revision 1.232.2.2 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:53 2017 UTC (7 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.232.2.1: +3 -3 lines
Diff to previous 1.232.2.1 (colored) to branchpoint 1.232 (colored) to selected 1.95 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.224.2.5 / (download) - annotate - [select for diffs], Mon Dec 5 10:55:30 2016 UTC (7 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.224.2.4: +7 -5 lines
Diff to previous 1.224.2.4 (colored) to branchpoint 1.224 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.234 / (download) - annotate - [select for diffs], Wed Nov 9 04:12:55 2016 UTC (7 years, 4 months ago) by dholland
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20170204, nick-nhusb-base-20161204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.233: +3 -3 lines
Diff to previous 1.233 (colored) to selected 1.95 (colored)

ufs_makeinode is declared file-static at the top of the file; mark it
at its definition too, for consistency and to avoid misleading casual
passersby.

Revision 1.232.2.1 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:22 2016 UTC (7 years, 4 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.232: +6 -4 lines
Diff to previous 1.232 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.233 / (download) - annotate - [select for diffs], Fri Oct 28 20:38:12 2016 UTC (7 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.232: +6 -4 lines
Diff to previous 1.232 (colored) to selected 1.95 (colored)

reorganize ffs_truncate()/ffs_indirtrunc() to be able to partially
succeed; change wapbl_register_deallocation() to return EAGAIN
rather than panic when code hits the limit

callers changed to either loop calling ffs_truncate() using new
utility ufs_truncate_retry() if their semantics requires it, or
just ignore the failure; remove ufs_wapbl_truncate()

this fixes possible user-triggerable panic during truncate, and
resolves WAPBL performance issue with truncates of large files

PR kern/47146 and kern/49175

Revision 1.224.2.4 / (download) - annotate - [select for diffs], Sun May 29 08:44:40 2016 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.224.2.3: +10 -10 lines
Diff to previous 1.224.2.3 (colored) to branchpoint 1.224 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.232 / (download) - annotate - [select for diffs], Thu May 19 18:32:03 2016 UTC (7 years, 10 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.231: +10 -10 lines
Diff to previous 1.231 (colored) to selected 1.95 (colored)

Get rid of UFS_WAPBL_BEGIN1/END1

ufs makeinode no longer releases dvp, so incrementing the
usecount for wapbl is unnecessary.

From coypu.

Revision 1.224.2.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:17 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.224.2.2: +22 -6 lines
Diff to previous 1.224.2.2 (colored) to branchpoint 1.224 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.231 / (download) - annotate - [select for diffs], Tue Sep 1 06:09:23 2015 UTC (8 years, 6 months ago) by dholland
Branch: MAIN
CVS Tags: nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921
Changes since 1.230: +22 -6 lines
Diff to previous 1.230 (colored) to selected 1.95 (colored)

Propagate fix from lfs:
For non-devices, have getattr (and thus stat) produce NODEV in the
rdev field, instead of leaking the address of the first direct block.

Revision 1.224.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:31 2015 UTC (8 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.224.2.1: +10 -10 lines
Diff to previous 1.224.2.1 (colored) to branchpoint 1.224 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.230 / (download) - annotate - [select for diffs], Mon Apr 20 23:03:09 2015 UTC (8 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.229: +3 -4 lines
Diff to previous 1.229 (colored) to selected 1.95 (colored)

Make VOP_LINK return directory still locked and referenced.

Ride 7.99.10 bump.

Revision 1.229 / (download) - annotate - [select for diffs], Mon Apr 20 21:02:49 2015 UTC (8 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.228: +9 -8 lines
Diff to previous 1.228 (colored) to selected 1.95 (colored)

Fix more dvp->v_mount after vput(dvp).

Revision 1.224.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:33 2015 UTC (8 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.224: +91 -102 lines
Diff to previous 1.224 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.228 / (download) - annotate - [select for diffs], Wed Apr 1 20:03:11 2015 UTC (8 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.227: +9 -6 lines
Diff to previous 1.227 (colored) to selected 1.95 (colored)

Don't use dvp after vput(dvp).

Still don't understand why the fstrans_done must happen after the
vput, and that will cause trouble once we move responsibility for the
vrele and unlock outside the vop as it seems obvious we ought to do
-- it's the caller's reference, not the vop's.

Revision 1.227 / (download) - annotate - [select for diffs], Fri Mar 27 19:47:14 2015 UTC (9 years ago) by riastradh
Branch: MAIN
Changes since 1.226: +9 -11 lines
Diff to previous 1.226 (colored) to selected 1.95 (colored)

Tighten some kasserts in ufs_bufio code paths.

Revision 1.226 / (download) - annotate - [select for diffs], Fri Mar 27 17:27:56 2015 UTC (9 years ago) by riastradh
Branch: MAIN
Changes since 1.225: +53 -7 lines
Diff to previous 1.225 (colored) to selected 1.95 (colored)

Disentangle buffer-cached I/O from page-cached I/O in UFS.

Page-cached I/O is used for regular files, and is initiated by VFS
users such as userland and NFS.

Buffer-cached I/O is used for directories and symlinks, and is issued
only internally by UFS.

New UFS routine ufs_bufio replaces vn_rdwr for internal use.
ufs_bufio is implemented by new UFS operations uo_bufrd/uo_bufwr,
which sit in ufs_readwrite.c alongside the VOP_READ/VOP_WRITE
implementations.

I preserved the code as much as possible and will leave further
simplification for future commits.  I kept the ulfs_readwrite.c
copypasta close to ufs_readwrite.c in case we ever want to merge them
back; likewise ext2fs_readwrite.c.

No externally visible semantic change.  All atf fs tests still pass.

Revision 1.225 / (download) - annotate - [select for diffs], Tue Mar 17 09:39:29 2015 UTC (9 years ago) by hannken
Branch: MAIN
Changes since 1.224: +35 -93 lines
Diff to previous 1.224 (colored) to selected 1.95 (colored)

Change ffs to use vcache_new:
- Change ffs_valloc to return an inode number.
- Remove now obsolete UFS operations UFS_VALLOC and UFS_VFREE.
- Make ufs_makeinode private to ufs_vnops.c and pass vattr instead of mode.

Revision 1.221.2.1 / (download) - annotate - [select for diffs], Wed Jan 28 18:34:11 2015 UTC (9 years, 2 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.221: +3 -35 lines
Diff to previous 1.221 (colored) next main 1.222 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by christos in ticket #425):
	sys/ufs/ufs/ufs_inode.c: revision 1.91-1.92
	sys/ufs/ufs/ufs_vnops.c: revision 1.223-1.224
	sys/ufs/ufs/ufs_extern.h: revision 1.76-1.77
	sys/ufs/ffs/ffs_vfsops.c: revision 1.303-1.305
Add debugging for mount...
Merge some error returns
Check more errors
Restore apple ufs error handling.
Move and unify indirect block truncate algorithm into a separate function.
PR/39371: Tobias Nygren: Don't fail mounting root if WAPBL log is corrupt.
Patch from Sergio L. Pascual.

Revision 1.224 / (download) - annotate - [select for diffs], Wed Oct 29 01:13:28 2014 UTC (9 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.223: +3 -23 lines
Diff to previous 1.223 (colored) to selected 1.95 (colored)

simplify and correct.

Revision 1.223 / (download) - annotate - [select for diffs], Tue Oct 21 10:39:26 2014 UTC (9 years, 5 months ago) by slp
Branch: MAIN
Changes since 1.222: +17 -29 lines
Diff to previous 1.222 (colored) to selected 1.95 (colored)

Move and unify indirect block truncate algorithm into a separate function.

Reviewed by joerg.

Revision 1.222 / (download) - annotate - [select for diffs], Sat Oct 18 08:33:30 2014 UTC (9 years, 5 months ago) by snj
Branch: MAIN
Changes since 1.221: +3 -3 lines
Diff to previous 1.221 (colored) to selected 1.95 (colored)

src is too big these days to tolerate superfluous apostrophes.  It's
"its", people!

Revision 1.210.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:45 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.210.2.2: +10 -24 lines
Diff to previous 1.210.2.2 (colored) to branchpoint 1.210 (colored) to selected 1.95 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.220.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:58 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.220: +4 -5 lines
Diff to previous 1.220 (colored) next main 1.221 (colored) to selected 1.95 (colored)

Rebase.

Revision 1.221 / (download) - annotate - [select for diffs], Sun May 25 13:46:16 2014 UTC (9 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base
Branch point for: netbsd-7
Changes since 1.220: +4 -5 lines
Diff to previous 1.220 (colored) to selected 1.95 (colored)

ufs_mknod: use vcache_get() to reload the new node.

Revision 1.205.2.5 / (download) - annotate - [select for diffs], Thu May 22 11:41:19 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.205.2.4: +29 -28 lines
Diff to previous 1.205.2.4 (colored) to branchpoint 1.205 (colored) next main 1.206 (colored) to selected 1.95 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.216.2.2 / (download) - annotate - [select for diffs], Sun May 18 17:46:22 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.216.2.1: +11 -20 lines
Diff to previous 1.216.2.1 (colored) to branchpoint 1.216 (colored) next main 1.217 (colored) to selected 1.95 (colored)

sync with head

Revision 1.220 / (download) - annotate - [select for diffs], Thu Jan 23 10:13:57 2014 UTC (10 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.219: +11 -7 lines
Diff to previous 1.219 (colored) to selected 1.95 (colored)

Change vnode operations create, mknod, mkdir and symlink to return
the resulting vnode *vpp unlocked.

Discussed on tech-kern@

Welcome to 6.99.30

Revision 1.219 / (download) - annotate - [select for diffs], Fri Jan 17 10:55:03 2014 UTC (10 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.218: +6 -13 lines
Diff to previous 1.218 (colored) to selected 1.95 (colored)

Change vnode operations create, mknod, mkdir and symlink to keep the
directory node dvp locked on return.

Discussed on tech-kern@

Welcome to 6.99.29

Revision 1.218 / (download) - annotate - [select for diffs], Sun Sep 15 15:32:18 2013 UTC (10 years, 6 months ago) by martin
Branch: MAIN
Changes since 1.217: +2 -8 lines
Diff to previous 1.217 (colored) to selected 1.95 (colored)

Remove unused variables

Revision 1.216.2.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:38 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.216: +2 -6 lines
Diff to previous 1.216 (colored) to selected 1.95 (colored)

sync with head

Revision 1.217 / (download) - annotate - [select for diffs], Sun Aug 11 04:36:17 2013 UTC (10 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.216: +2 -6 lines
Diff to previous 1.216 (colored) to selected 1.95 (colored)

Kill off uo_unmark_vnode/UFS_UNMARK_VNODE as it's now a leftover.

Revision 1.210.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:18:40 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.210.2.1: +20 -6 lines
Diff to previous 1.210.2.1 (colored) to branchpoint 1.210 (colored) to selected 1.95 (colored)

resync from head

Revision 1.216 / (download) - annotate - [select for diffs], Sun Jun 16 00:13:58 2013 UTC (10 years, 9 months ago) by dholland
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.215: +15 -2 lines
Diff to previous 1.215 (colored) to selected 1.95 (colored)

Add a comment about a matched pair of off-by-one tests that make the
maximum size of short symlinks one byte less than one would think it
should be. Caution against changing it; that would break compatibility
with existing disk images. Behavior noticed by qjsgkem on freenode.

If my analysis is wrong, please correct...

Revision 1.215 / (download) - annotate - [select for diffs], Sun Jun 9 18:54:05 2013 UTC (10 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.214: +4 -3 lines
Diff to previous 1.214 (colored) to selected 1.95 (colored)

the speed limit is 80

Revision 1.214 / (download) - annotate - [select for diffs], Sun Jun 9 17:57:09 2013 UTC (10 years, 9 months ago) by dholland
Branch: MAIN
Changes since 1.213: +4 -4 lines
Diff to previous 1.213 (colored) to selected 1.95 (colored)

Stick UFS_ in front of these symbols:
   DIRBLKSIZ
   DIRECTSIZ
   DIRSIZ
   OLDDIRFMT
   NEWDIRFMT

Part of PR 47909.

Revision 1.213 / (download) - annotate - [select for diffs], Sat Jun 8 05:47:02 2013 UTC (10 years, 9 months ago) by kardel
Branch: MAIN
Changes since 1.212: +3 -3 lines
Diff to previous 1.212 (colored) to selected 1.95 (colored)

fix clearing of system-flags (schg, sappnd). clearing system flags is possible again
at securelevel < 1.
reviewed by christos@

Revision 1.212 / (download) - annotate - [select for diffs], Mon Mar 18 19:35:48 2013 UTC (11 years ago) by plunky
Branch: MAIN
CVS Tags: khorben-n900, agc-symver-base, agc-symver
Changes since 1.211: +3 -3 lines
Diff to previous 1.211 (colored) to selected 1.95 (colored)

C99 section 6.7.2.3 (Tags) Note 3 states that:

  A type specifier of the form

	enum identifier

  without an enumerator list shall only appear after the type it
  specifies is complete.

which means that we cannot pass an "enum vtype" argument to
kauth_access_action() without fully specifying the type first.
Unfortunately there is a complicated include file loop which
makes that difficult, so convert this minimal function into a
macro (and capitalize it).

(ok elad@)

Revision 1.210.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:19 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.210: +5 -5 lines
Diff to previous 1.210 (colored) to selected 1.95 (colored)

resync with head

Revision 1.205.2.4 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:35 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.205.2.3: +5 -5 lines
Diff to previous 1.205.2.3 (colored) to branchpoint 1.205 (colored) to selected 1.95 (colored)

sync with head

Revision 1.211 / (download) - annotate - [select for diffs], Tue Jan 22 09:39:19 2013 UTC (11 years, 2 months ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.210: +5 -5 lines
Diff to previous 1.210 (colored) to selected 1.95 (colored)

Stuff UFS_ in front of a few of ufs's symbols to reduce namespace
pollution. Specifically:
   ROOTINO -> UFS_ROOTINO
   WINO -> UFS_WINO
   NXADDR -> UFS_NXADDR
   NDADDR -> UFS_NDADDR
   NIADDR -> UFS_NIADDR
   MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN
   MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)

Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have
the same values in ext2fs and ffs.

No functional change intended.

Revision 1.205.2.3 / (download) - annotate - [select for diffs], Tue Oct 30 17:23:01 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.205.2.2: +2 -6 lines
Diff to previous 1.205.2.2 (colored) to branchpoint 1.205 (colored) to selected 1.95 (colored)

sync with head

Revision 1.210 / (download) - annotate - [select for diffs], Mon Jun 4 20:13:47 2012 UTC (11 years, 9 months ago) by riastradh
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.209: +2 -6 lines
Diff to previous 1.209 (colored) to selected 1.95 (colored)

Kill the IN_RENAME in-core inode flag in ufs and ext2fs.

Now that rename works we need not to wave this sort of voodoo at it.

ok dholland

Revision 1.206.4.3 / (download) - annotate - [select for diffs], Sat Jun 2 11:09:41 2012 UTC (11 years, 9 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.206.4.2: +0 -1018 lines
Diff to previous 1.206.4.2 (colored) to branchpoint 1.206 (colored) next main 1.207 (colored) to selected 1.95 (colored)

sync to latest -current.

Revision 1.205.2.2 / (download) - annotate - [select for diffs], Wed May 23 10:08:20 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.205.2.1: +2 -1020 lines
Diff to previous 1.205.2.1 (colored) to branchpoint 1.205 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.169.4.3 / (download) - annotate - [select for diffs], Tue May 22 21:44:38 2012 UTC (11 years, 10 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.169.4.2: +3 -2 lines
Diff to previous 1.169.4.2 (colored) to branchpoint 1.169 (colored) next main 1.170 (colored) to selected 1.95 (colored)

Pull up following patch (requested by buhrow in ticket #1763):
	sys/ufs/ufs/ufs_vnops.c: patch

Make sure we return EXDEV on cross-device links rather than panicing
the system.  This corrects a pasting error from the merged patches
in ticket 1759.

Thanks to hannken@ for figuring out the error.
Fixes pr kern/46472
Tested by buhrow@

Revision 1.169.4.2 / (download) - annotate - [select for diffs], Sat May 19 17:28:29 2012 UTC (11 years, 10 months ago) by riz
Branch: netbsd-5
Changes since 1.169.4.1: +877 -213 lines
Diff to previous 1.169.4.1 (colored) to branchpoint 1.169 (colored) to selected 1.95 (colored)

Apply patch (requested by buhrow in ticket #1759):


sys/ufs/lfs/lfs_vnops.c				patch
sys/ufs/ufs/inode.h 				patch
sys/ufs/ufs/ufs_extern.h			patch
sys/ufs/ufs/ufs_lookup.c			patch
sys/ufs/ufs/ufs_vnops.c				patch
sys/ufs/ufs/ufs_wapbl.c				patch

	Port dholland's ufs_rename locking changes to netbsd-5.
	[buhrow, ticket #1759]

        Hello.  More testing has revealed a minor misunderstanding between the
vnode API in -current and 5.x.  The below patch, against NetBSD-5.1
sources, rolls all the accumulated patches into one patch set.  With this
patch, I believe you can now run with WAPBL, softdep or traditional ufs
semantics with heavy file loads and avoid panics due to resource exhaustion
and/or tstile deadlocks.  Testing has been done on I386, both uniprocessor
and multiprocessor, and on Sparc  machines in uniprocessor mode, though I
think multiprocessor Sparc would be fine as well.  Since these changes are
machine independent, I don't anticipate any issues on any platform.  It is
my hope that modulo any final issues that come up in the final round of
testing I'm currently performing, these patches will be ready to be pulled
up into the NetBSD-5 branch.
        Finally, I'd like to thank mouse@ and hannken@ for their help and
patience in helping me track down and test the final versions of these
patches.  With their assistance, I'm confident these patches make NetBSD-5
a much more stable and robust operating environment in a variety of
setings.

Revision 1.209 / (download) - annotate - [select for diffs], Wed May 9 00:21:18 2012 UTC (11 years, 10 months ago) by riastradh
Branch: MAIN
CVS Tags: yamt-pagecache-base5, jmcneill-usbmp-base10
Changes since 1.208: +2 -1020 lines
Diff to previous 1.208 (colored) to selected 1.95 (colored)

Adapt ffs, lfs, and ext2fs to use genfs_rename.

ok dholland, rmind

Revision 1.205.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:57 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.205: +72 -55 lines
Diff to previous 1.205 (colored) to selected 1.95 (colored)

sync with head

Revision 1.206.4.2 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:52 2012 UTC (11 years, 11 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.206.4.1: +56 -47 lines
Diff to previous 1.206.4.1 (colored) to branchpoint 1.206 (colored) to selected 1.95 (colored)

sync to latest -current.

Revision 1.208 / (download) - annotate - [select for diffs], Tue Mar 13 18:41:15 2012 UTC (12 years ago) by elad
Branch: MAIN
CVS Tags: yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8
Changes since 1.207: +56 -47 lines
Diff to previous 1.207 (colored) to selected 1.95 (colored)

Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with
something meaningful. All relevant documentation has been updated or
written.

Most of these changes were brought up in the following messages:

    http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html
    http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html
    http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html

Thanks to christos, manu, njoly, and jmmv for input.

Huge thanks to pgoyette for spinning these changes through some build
cycles and ATF.

Revision 1.206.4.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:57 2012 UTC (12 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.206: +11 -8 lines
Diff to previous 1.206 (colored) to selected 1.95 (colored)

merge to -current.

Revision 1.207 / (download) - annotate - [select for diffs], Fri Jan 27 19:22:50 2012 UTC (12 years, 2 months ago) by para
Branch: MAIN
CVS Tags: netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Changes since 1.206: +11 -8 lines
Diff to previous 1.206 (colored) to selected 1.95 (colored)

converting readdir in ffs ext2fs from malloc(9) to kmem(9)
while there allocate ufs mount structs from kmem(9) too
preceding kmem-vmem-pool-patch

releng@ acknowledged

Revision 1.206 / (download) - annotate - [select for diffs], Fri Nov 18 21:18:52 2011 UTC (12 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: jmcneill-usbmp
Changes since 1.205: +9 -4 lines
Diff to previous 1.205 (colored) to selected 1.95 (colored)

Obey MNT_RELATIME, the only addition is that mkdir in ufs sets IN_ACCESS too.

Revision 1.205 / (download) - annotate - [select for diffs], Tue Sep 27 02:10:32 2011 UTC (12 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base
Branch point for: yamt-pagecache
Changes since 1.204: +4 -2 lines
Diff to previous 1.204 (colored) to selected 1.95 (colored)

include the proper headers to make {LFS,EXT2FS}_MAXNAMLEN visible

Revision 1.204 / (download) - annotate - [select for diffs], Tue Sep 27 01:43:39 2011 UTC (12 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.203: +5 -4 lines
Diff to previous 1.203 (colored) to selected 1.95 (colored)

it is __CTASSERT()

Revision 1.203 / (download) - annotate - [select for diffs], Tue Sep 27 01:30:54 2011 UTC (12 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.202: +5 -3 lines
Diff to previous 1.202 (colored) to selected 1.95 (colored)

use FFS_MAXNAMLEN instead of NAME_MAX, making sure that it matches with
EXT2FS_MAXNAMLEN and LFS_MAXNAMLEN.

Revision 1.202 / (download) - annotate - [select for diffs], Wed Aug 3 10:03:51 2011 UTC (12 years, 7 months ago) by hannken
Branch: MAIN
Changes since 1.201: +9 -2 lines
Diff to previous 1.201 (colored) to selected 1.95 (colored)

Make whiteouts work on journaling ffs file system by adding the missing
UFS_WAPBL_BEGIN() / UFS_WAPBL_END() around CREATE and DELETE ops.

Fixes PR #44377 (union whiteouts don't work on ffs -o log)

Revision 1.201 / (download) - annotate - [select for diffs], Fri Jul 29 22:18:56 2011 UTC (12 years, 8 months ago) by riastradh
Branch: MAIN
Changes since 1.200: +6 -4 lines
Diff to previous 1.200 (colored) to selected 1.95 (colored)

In ufs_rename, declare oldparent and newparent ino_t, not int.

XXX There should be an automatic test for this somewhere.

ok dholland

Revision 1.200 / (download) - annotate - [select for diffs], Mon Jul 18 06:45:47 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.199: +3 -409 lines
Diff to previous 1.199 (colored) to selected 1.95 (colored)

Eliminate the old ufs_rename. The only reason the WAPBL one was
different is that in order to avoid issues with the WAPBL journal lock
the wrong locking had to be changed to different wrong locking. This
is now moot.

I have not hand-validated that the current two copies of rename are
equivalent, or that the locking fixes merged with the old rename
produce code that is textually identical (modulo WAPBL calls that do
nothing when WAPBL is turned off) to the WAPBL rename... but I did
this check when preparing my previous round of rename patches last
year and all updates since have been applied to both.

Revision 1.199 / (download) - annotate - [select for diffs], Mon Jul 18 06:45:27 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.198: +868 -2 lines
Diff to previous 1.198 (colored) to selected 1.95 (colored)

Move ufs_wapbl_rename to ufs_vnops.c next to the old ufs_rename.

Revision 1.198 / (download) - annotate - [select for diffs], Mon Jul 18 02:35:11 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (colored) to selected 1.95 (colored)

ok, it is clear that at least vput(vp) needs to go before fstrans_done().
I hoping vput(dvp) doesn't, because if it does that will vastly complicate
future vfs locking cleanup.

Revision 1.197 / (download) - annotate - [select for diffs], Mon Jul 18 01:52:55 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.196: +133 -2 lines
Diff to previous 1.196 (colored) to selected 1.95 (colored)

Add the long essay on rename locking from my earlier patch set as a
big comment, and expand it some for clarity.

Revision 1.196 / (download) - annotate - [select for diffs], Mon Jul 18 01:13:33 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.195: +10 -5 lines
Diff to previous 1.195 (colored) to selected 1.95 (colored)

Fix error path for UFS_WAPBL_BEGIN failure to avoid leaking an vnode
(in memory) and inode (on disk). Caution: untested; I have no idea how
to provoke such a failure.

Revision 1.195 / (download) - annotate - [select for diffs], Sun Jul 17 22:02:26 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.194: +3 -3 lines
Diff to previous 1.194 (colored) to selected 1.95 (colored)

At the end of ufs_rmdir, don't use a dangling vnode pointer to call
fstrans_done. Ok hannken@

Revision 1.194 / (download) - annotate - [select for diffs], Sun Jul 17 22:00:38 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.193: +4 -4 lines
Diff to previous 1.193 (colored) to selected 1.95 (colored)

Fix typo in ufs_rmdir that causes locking botches. This code should be
unreachable because the FS-independent code contains the same test... but
I'm not sure if that applies if nfsd is involved.

Revision 1.193 / (download) - annotate - [select for diffs], Thu Jul 14 16:27:43 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.192: +21 -9 lines
Diff to previous 1.192 (colored) to selected 1.95 (colored)

Clean up handling of ufs_lookup_results in rename.

Revision 1.192 / (download) - annotate - [select for diffs], Tue Jul 12 16:59:49 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.191: +75 -24 lines
Diff to previous 1.191 (colored) to selected 1.95 (colored)

Pass the ufs_lookup_results pointer around instead of fetching it from
the inode in the guts of ufs. Now, in VOPs where i_crap is used it is
used (directly) only immediately on entry to the VOP call and then
passed around by reference.

Except for rename, which needs explicit sorting out. The code in
ufs_wapbl_rename is unchanged in behavior but I'm increasingly
inclined to think it's wrong.

Revision 1.191 / (download) - annotate - [select for diffs], Tue Jul 12 02:22:13 2011 UTC (12 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.190: +4 -3 lines
Diff to previous 1.190 (colored) to selected 1.95 (colored)

Currently, ufs_lookup produces five auxiliary results that are left in
the vnode when lookup returns and fished out again later.

1. Create struct ufs_lookup_results to hold these.

2. Call the ufs_lookup_results instance in struct inode "i_crap" to be
clear about exactly what's going on, and to distinguish the lookup
results from respectable members of struct inode.

3. Update references to these members in the directory access
subroutines.

4. Include preliminary infrastructure for checking that the i_crap
being used is still valid when it's used. This doesn't actually do
anything yet.

5. Update the way ufs_wapbl_rename manipulates these elements to use
the new data structures. I have not changed the manipulation; it may
or may not be correct but I continue to suspect that it is not.

The word of the day is "stigmergy".

Revision 1.190 / (download) - annotate - [select for diffs], Mon Jul 11 08:27:41 2011 UTC (12 years, 8 months ago) by hannken
Branch: MAIN
Changes since 1.189: +3 -3 lines
Diff to previous 1.189 (colored) to selected 1.95 (colored)

Change VOP_BWRITE() to take a vnode as its first argument like all other
VOPs do.  Layered file systems no longer have to modify bp->b_vp and run
into trouble when an async VOP_BWRITE() uses the wrong vnode.

- change all occurences of VOP_BWRITE(bp) to VOP_BWRITE(bp->b_vp, bp).
- remove layer_bwrite().
- welcome to 5.99.55

Adresses PR kern/38762 panic: vwakeup: neg numoutput

No objections from tech-kern@.

Revision 1.186.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:19 2011 UTC (12 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.186: +31 -39 lines
Diff to previous 1.186 (colored) next main 1.187 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.180.4.5 / (download) - annotate - [select for diffs], Tue May 31 03:05:13 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.180.4.4: +14 -23 lines
Diff to previous 1.180.4.4 (colored) to branchpoint 1.180 (colored) next main 1.181 (colored) to selected 1.95 (colored)

sync with head

Revision 1.189 / (download) - annotate - [select for diffs], Sat Apr 30 14:24:27 2011 UTC (12 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.188: +3 -3 lines
Diff to previous 1.188 (colored) to selected 1.95 (colored)

ufs_mknod: change vnode type to VNON before it gets unlocked.  Closes a small
    window where the vnode could have type VCHR but op vector ffs_vnodeop_p.

Revision 1.188 / (download) - annotate - [select for diffs], Sun Apr 24 21:35:30 2011 UTC (12 years, 11 months ago) by rmind
Branch: MAIN
Changes since 1.187: +15 -24 lines
Diff to previous 1.187 (colored) to selected 1.95 (colored)

sys_link: prevent hard links on directories (cross-mount operations are
already prevented).  File systems are no longer responsible to check this.
Clean up and add asserts (note that dvp == vp cannot happen in vop_link).

OK dholland@

Revision 1.180.4.4 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:21 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.180.4.3: +15 -14 lines
Diff to previous 1.180.4.3 (colored) to branchpoint 1.180 (colored) to selected 1.95 (colored)

sync with head

Revision 1.187 / (download) - annotate - [select for diffs], Sun Mar 6 17:08:39 2011 UTC (13 years ago) by bouyer
Branch: MAIN
Changes since 1.186: +17 -16 lines
Diff to previous 1.186 (colored) to selected 1.95 (colored)

merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.

Revision 1.180.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:34 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.180.4.2: +9 -40 lines
Diff to previous 1.180.4.2 (colored) to branchpoint 1.180 (colored) to selected 1.95 (colored)

sync with head

Revision 1.186.4.2 / (download) - annotate - [select for diffs], Fri Feb 18 19:54:44 2011 UTC (13 years, 1 month ago) by bouyer
Branch: bouyer-quota2
Changes since 1.186.4.1: +4 -4 lines
Diff to previous 1.186.4.1 (colored) to branchpoint 1.186 (colored) next main 1.187 (colored) to selected 1.95 (colored)

Add a new inode flag, SF_SNAPINVAL, to be set on SF_SNAPSHOT inodes when
the snapshot is invalid.
Set SF_SNAPSHOT | SF_SNAPINVAL early when initializing a snapshot indode,
so that quota are bypassed for allocations on this inode.
Set SF_SNAPSHOT | SF_SNAPINVAL (instead of clearing SF_SNAPSHOT) when
expuge()ing a snapshot inode, so that userland tools working on the
snapshot (e.g. fsck or dump) can properly handle this inode.

The main point at this time is to have fsck_ffs -X properly compute quotas;
as a bonus persistent snapshots files won't show up in a dump(8) from a
snapshot.

This may also help speeding up taking snapshots, by bypassing expuge()
for snapshot inodes completely (but this needs more thoughs).


Briefly discussed with hannken@ in private mail.

Revision 1.186.4.1 / (download) - annotate - [select for diffs], Thu Jan 20 14:25:03 2011 UTC (13 years, 2 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.186: +15 -14 lines
Diff to previous 1.186 (colored) to selected 1.95 (colored)

Snapshot of work in progress on a modernised disk quota system:
- new quotactl syscall (versionned for backward compat), which takes
  as parameter a path to a mount point, and a prop_dictionary
  (in plistref format) describing commands and arguments.
  For each command, status and data are returned as a prop_dictionary.
  quota commands features will be added to take advantage of this,
  exporting quota data or getting quota commands as plists.

- new on disk-format storage (all 64bit wide), integrated to metadata for
  ffs (and playing nicely with wapbl).
  Quotas are enabled on a ffs filesystem via superblock flags.
  tunefs(8) can enable or disable quotas.
  On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid
  block and inode usages, and will check and update quotas in Pass 6.
  quota usage and limits are stored in unliked files (one for users,
  one for groups)l fsck_ffs(8) will create the files if needed, or
  free them if needed. This means that after enabling or disabling
  quotas on a filesystem; a fsck_ffs(8) run is required.
  quotacheck(8) is not needed any more, on a unclean shutdown
  fsck or journal replay will take care of fixing quotas.
  newfs(8) can create a ready-to-mount quota-enabled filesystem
  (superblock flags are set and quota inodes are created).
  Other new features or semantic changes:
  - default quota datas, applied to users or groups which don't already
    have a quota entry
  - per-user/group grace time (instead of a filesystem global one)
  - 0 really means "nothing allowed at all", not "no limit".
    If you want "no limit", set the limit to UQUAD_MAX (tools will
    understand "unlimited" and "-")

  A quota file is structured as follow:
  it starts with a header, containing a few per-filesystem values,
  and the default quota limits.
  Quota entries are linked together as a simple list, each entry has a
  pointer (as an offset withing the file) to the next.
  The header has a pointer to a list of free quota entries, and
  a hash table of in-use entries. The size of the hash table depends
  on the filesystem block size (header+hash table should fit in the
  first block). The file is not sparse and is a multiple of
  filesystem block size (when the free quota entry list is empty a new
  filesystem block is allocated). quota entries to not cross
  filesystem block boundaries.

  In memory, the kernel keeps a cache of recently used quota entries
  as a reference to the block number, and offset withing the block.
  The quota entry itself is keept in the buf cache.

fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with
related atf tests :)
The kernel can update disk usage and report it via quotactl(2).

Todo: enforce quotas limits (limits are not checked by kernel yet)
      update repquota, edquota and rpc.rquotad to the new world
      implement compat_50_quotactl ioctl.
      update quotactl(2) man page

fsck_ffs required fixes so that allocating new blocks or inodes will
properly update the superblock and cg sumaries. This was not an issue up
to now because superblock and cg sumaries check happened last, but now
allocations or frees can happen in pass 6.

Revision 1.186 / (download) - annotate - [select for diffs], Sun Jan 2 05:09:32 2011 UTC (13 years, 2 months ago) by dholland
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.185: +7 -8 lines
Diff to previous 1.185 (colored) to selected 1.95 (colored)

Remove the special refcount behavior (adding an extra reference to the
parent dir) associated with SAVESTART in relookup().

Check all call sites to make sure that SAVESTART wasn't set while
calling relookup(); if it was, adjust the refcount behavior. Remove
related references to SAVESTART.

The only code that was reaching the extra ref was msdosfs_rename,
where the refcount behavior was already fairly broken and/or gross;
repair it.

Add a dummy 4th argument to relookup to make sure code that hasn't
been inspected won't compile. (This will go away next time the
relookup semantics change, which they will.)

Revision 1.185 / (download) - annotate - [select for diffs], Tue Nov 30 10:43:06 2010 UTC (13 years, 4 months ago) by dholland
Branch: MAIN
Changes since 1.184: +4 -21 lines
Diff to previous 1.184 (colored) to selected 1.95 (colored)

Abolish the SAVENAME and HASBUF flags. There is now always a buffer,
so the path in a struct componentname is now always valid during VOP
calls.

Revision 1.184 / (download) - annotate - [select for diffs], Tue Nov 30 10:30:04 2010 UTC (13 years, 4 months ago) by dholland
Branch: MAIN
Changes since 1.183: +2 -15 lines
Diff to previous 1.183 (colored) to selected 1.95 (colored)

Abolish struct componentname's cn_pnbuf. Use the path buffer in the
pathbuf object passed to namei as work space instead. (For now a pnbuf
pointer appears in struct nameidata, to support certain unclean things
that haven't been fixed yet, but it will be going away in the future.)

This removes the need for the SAVENAME and HASBUF namei flags.

Revision 1.180.2.2 / (download) - annotate - [select for diffs], Tue Aug 17 06:48:14 2010 UTC (13 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.180.2.1: +7 -7 lines
Diff to previous 1.180.2.1 (colored) to branchpoint 1.180 (colored) next main 1.181 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.164.10.5 / (download) - annotate - [select for diffs], Wed Aug 11 22:55:15 2010 UTC (13 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.164.10.4: +19 -10 lines
Diff to previous 1.164.10.4 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.180.4.2 / (download) - annotate - [select for diffs], Sat Jul 3 01:20:06 2010 UTC (13 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.180.4.1: +9 -9 lines
Diff to previous 1.180.4.1 (colored) to branchpoint 1.180 (colored) to selected 1.95 (colored)

sync with head

Revision 1.183 / (download) - annotate - [select for diffs], Thu Jun 24 13:03:20 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2
Changes since 1.182: +9 -9 lines
Diff to previous 1.182 (colored) to selected 1.95 (colored)

Clean up vnode lock operations pass 2:

VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.

Welcome to 5.99.32.

Discussed on tech-kern.

Revision 1.180.4.1 / (download) - annotate - [select for diffs], Sun May 30 05:18:09 2010 UTC (13 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.180: +12 -3 lines
Diff to previous 1.180 (colored) to selected 1.95 (colored)

sync with head

Revision 1.180.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:37 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.180: +12 -3 lines
Diff to previous 1.180 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.169.10.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:28:26 2010 UTC (13 years, 11 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.169: +3 -3 lines
Diff to previous 1.169 (colored) next main 1.170 (colored) to selected 1.95 (colored)

sync to netbsd-5

Revision 1.182 / (download) - annotate - [select for diffs], Tue Apr 13 09:27:58 2010 UTC (13 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.181: +11 -2 lines
Diff to previous 1.181 (colored) to selected 1.95 (colored)

Add fstrans transactions to ufs_close(), ufs_getattr(), ufs_chmod()
and ufs_chown().  These functions change file system state.

Revision 1.181 / (download) - annotate - [select for diffs], Mon Mar 29 13:11:34 2010 UTC (14 years ago) by pooka
Branch: MAIN
Changes since 1.180: +3 -3 lines
Diff to previous 1.180 (colored) to selected 1.95 (colored)

Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.

Revision 1.169.4.1 / (download) - annotate - [select for diffs], Sun Mar 28 17:31:55 2010 UTC (14 years ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.169: +3 -3 lines
Diff to previous 1.169 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by hannken in ticket #1345):
	sys/ufs/ufs/ufs_vnops.c: revision 1.180 via patch
ufs_rmdir(): move fstrans_done() after vput().  No more unlinked and
zero-sized directory inodes in snapshots.

Revision 1.164.10.4 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:46 2010 UTC (14 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.164.10.3: +3 -3 lines
Diff to previous 1.164.10.3 (colored) to branchpoint 1.164 (colored) to selected 1.95 (colored)

sync with head

Revision 1.180 / (download) - annotate - [select for diffs], Wed Oct 14 09:40:27 2009 UTC (14 years, 5 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base, matt-premerge-20091211, jym-xensuspend-nbase
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.179: +3 -3 lines
Diff to previous 1.179 (colored) to selected 1.95 (colored)

ufs_rmdir(): move fstrans_done() after vput().  No more unlinked and
zero-sized directory inodes in snapshots.

Revision 1.172.2.2 / (download) - annotate - [select for diffs], Thu Jul 23 23:33:04 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.172.2.1: +42 -19 lines
Diff to previous 1.172.2.1 (colored) to branchpoint 1.172 (colored) next main 1.173 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.164.10.3 / (download) - annotate - [select for diffs], Sat Jul 18 14:53:28 2009 UTC (14 years, 8 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.164.10.2: +42 -19 lines
Diff to previous 1.164.10.2 (colored) to branchpoint 1.164 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.179 / (download) - annotate - [select for diffs], Fri Jul 3 21:17:42 2009 UTC (14 years, 8 months ago) by elad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, jymxensuspend-base
Changes since 1.178: +42 -19 lines
Diff to previous 1.178 (colored) to selected 1.95 (colored)

Where possible, extract the file-system's access() routine to two internal
functions: the first checking if the operation is possible (regardless of
permissions), the second checking file-system permissions, ACLs, etc.

Mailing list reference:

	http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005311.html

Revision 1.178 / (download) - annotate - [select for diffs], Tue Jun 23 19:36:40 2009 UTC (14 years, 9 months ago) by elad
Branch: MAIN
Changes since 1.177: +3 -3 lines
Diff to previous 1.177 (colored) to selected 1.95 (colored)

Move the implementation of vaccess() to genfs_can_access(), in line with
the other routines of the same spirit.

Adjust file-system code to use it.

Keep vaccess() for KPI compatibility and to keep element of least
surprise. A "diagnostic" message warning that vaccess() is deprecated will
be printed when it's used (obviously, only in DIAGNOSTIC kernels).

No objections on tech-kern@:

	http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005310.html

Revision 1.164.10.2 / (download) - annotate - [select for diffs], Sat May 16 10:41:54 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.164.10.1: +4 -7 lines
Diff to previous 1.164.10.1 (colored) to branchpoint 1.164 (colored) to selected 1.95 (colored)

sync with head

Revision 1.172.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:23:07 2009 UTC (14 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.172: +34 -161 lines
Diff to previous 1.172 (colored) to selected 1.95 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.177 / (download) - annotate - [select for diffs], Fri May 8 10:52:00 2009 UTC (14 years, 10 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base5, yamt-nfs-mp-base4, jym-xensuspend-base
Changes since 1.176: +3 -3 lines
Diff to previous 1.176 (colored) to selected 1.95 (colored)

ufs_setattr: fix previous - return in error path does not finish the
transaction (hi elad).

Revision 1.176 / (download) - annotate - [select for diffs], Thu May 7 19:30:30 2009 UTC (14 years, 10 months ago) by elad
Branch: MAIN
Changes since 1.175: +5 -8 lines
Diff to previous 1.175 (colored) to selected 1.95 (colored)

Extract the open-coded authorization logic for chtimes() from various
file-systems and put it in a single function, genfs_can_chtimes().

This also makes UDF follow the same policy as all other file-systems.

Mailing list reference:

	http://mail-index.netbsd.org/tech-kern/2009/04/27/msg004951.html

Revision 1.164.10.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:38 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.164: +246 -168 lines
Diff to previous 1.164 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.169.2.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:58 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.169.2.2: +12 -26 lines
Diff to previous 1.169.2.2 (colored) to branchpoint 1.169 (colored) next main 1.170 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.175 / (download) - annotate - [select for diffs], Wed Apr 22 22:57:09 2009 UTC (14 years, 11 months ago) by elad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.174: +5 -4 lines
Diff to previous 1.174 (colored) to selected 1.95 (colored)

Per discussion on tech-kern@:

  - Replace use of label/goto with returns

  - Rename, change prototype of, and move functions from vfs_subr.c to
    genfs_vnops.c

Revision 1.174 / (download) - annotate - [select for diffs], Mon Apr 20 18:06:27 2009 UTC (14 years, 11 months ago) by elad
Branch: MAIN
Changes since 1.173: +11 -26 lines
Diff to previous 1.173 (colored) to selected 1.95 (colored)

Refactor some duplicated file-system code.

Proposed and received no objections on tech-kern@:

	http://mail-index.netbsd.org/tech-kern/2009/04/18/msg004843.html

Revision 1.169.2.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:34:40 2009 UTC (15 years ago) by skrll
Branch: nick-hppapmap
Changes since 1.169.2.1: +22 -132 lines
Diff to previous 1.169.2.1 (colored) to branchpoint 1.169 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.173 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:07 2009 UTC (15 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.172: +22 -132 lines
Diff to previous 1.172 (colored) to selected 1.95 (colored)

PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep

Retire softdep, pass 2. As discussed and later formally announced on the
mailing lists.

Revision 1.169.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:36 2009 UTC (15 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.169: +33 -12 lines
Diff to previous 1.169 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.164.6.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:43 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.164.6.3: +31 -10 lines
Diff to previous 1.164.6.3 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.172 / (download) - annotate - [select for diffs], Sun Jan 11 02:45:56 2009 UTC (15 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.171: +5 -4 lines
Diff to previous 1.171 (colored) to selected 1.95 (colored)

merge christos-time_t

Revision 1.166.4.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:41 2008 UTC (15 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.166.4.1: +30 -10 lines
Diff to previous 1.166.4.1 (colored) to branchpoint 1.166 (colored) next main 1.167 (colored) to selected 1.95 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.169.6.3 / (download) - annotate - [select for diffs], Thu Nov 20 20:45:40 2008 UTC (15 years, 4 months ago) by christos
Branch: christos-time_t
Changes since 1.169.6.2: +30 -10 lines
Diff to previous 1.169.6.2 (colored) to branchpoint 1.169 (colored) next main 1.170 (colored) to selected 1.95 (colored)

merge with head.

Revision 1.171 / (download) - annotate - [select for diffs], Thu Nov 13 11:09:45 2008 UTC (15 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base, christos-time_t-nbase, christos-time_t-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.170: +4 -9 lines
Diff to previous 1.170 (colored) to selected 1.95 (colored)

Remove #ifdef LFS from the ufs code.

Revision 1.170 / (download) - annotate - [select for diffs], Tue Nov 11 08:29:58 2008 UTC (15 years, 4 months ago) by joerg
Branch: MAIN
Changes since 1.169: +28 -3 lines
Diff to previous 1.169 (colored) to selected 1.95 (colored)

Move WAPL replay handling from bread() into ufs_strategy.
This changes the order of hook processing as the copy-on-write handlers
are called after the journal processing. This makes more sense as the
journal overwrite is logically part of the disk IO.

Revision 1.169.6.2 / (download) - annotate - [select for diffs], Sun Nov 9 23:29:16 2008 UTC (15 years, 4 months ago) by christos
Branch: christos-time_t
Changes since 1.169.6.1: +2424 -0 lines
Diff to previous 1.169.6.1 (colored) to branchpoint 1.169 (colored) to selected 1.95 (colored)

fix printf formats for new dev_t

Revision 1.166.4.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:18:10 2008 UTC (15 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.166: +186 -17 lines
Diff to previous 1.166 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.164.6.3 / (download) - annotate - [select for diffs], Sun Sep 28 10:41:06 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.164.6.2: +184 -15 lines
Diff to previous 1.164.6.2 (colored) to branchpoint 1.164 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.164.12.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:37:06 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.164.12.1: +186 -17 lines
Diff to previous 1.164.12.1 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored) to selected 1.95 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.169.6.1, Thu Aug 14 16:19:25 2008 UTC (15 years, 7 months ago) by christos
Branch: christos-time_t
Changes since 1.169: +0 -2423 lines
FILE REMOVED

file ufs_vnops.c was added on branch christos-time_t on 2008-11-09 23:29:16 +0000

Revision 1.169 / (download) - annotate - [select for diffs], Thu Aug 14 16:19:25 2008 UTC (15 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5, matt-nb5-mips64, christos-time_t
Changes since 1.168: +8 -2 lines
Diff to previous 1.168 (colored) to selected 1.95 (colored)

Implement following constants and add support their to the UFS family of file
systems:
	_PC_2_SYMLINKS
	_PC_SYMLINK_MAX

From andy dot shevchenko at gmail dot com.

Revision 1.168 / (download) - annotate - [select for diffs], Tue Aug 12 10:14:38 2008 UTC (15 years, 7 months ago) by hannken
Branch: MAIN
Changes since 1.167: +6 -3 lines
Diff to previous 1.167 (colored) to selected 1.95 (colored)

Deny read/write access to snapshot vnodes.  We use fss(4) to read from
snapshots.  With this policy in place:

- Separate the snapshot vnode lock from the snapshot common lock.
  Snapshots no longer need recursive vnode locks.

- Use a mutex (si_snaplock) to serialize creation, deletion, reading and
  writing of snapshots.

- Move ffs_read() for snapshots into ffs_snapshot.c.

Reviewed by: Jason Thorpe <thorpej@netbsd.org>

While here change ffs_copyonwrite() to fail requests from pagedaemon that need
to copy-on-write.

Revision 1.167 / (download) - annotate - [select for diffs], Thu Jul 31 05:38:06 2008 UTC (15 years, 8 months ago) by simonb
Branch: MAIN
Changes since 1.166: +176 -16 lines
Diff to previous 1.166 (colored) to selected 1.95 (colored)

Merge the simonb-wapbl branch.  From the original branch commit:

   Add Wasabi System's WAPBL (Write Ahead Physical Block Logging)
   journaling code.  Originally written by Darrin B. Jewell while
   at Wasabi and updated to -current by Antti Kantee, Andy Doran,
   Greg Oster and Simon Burge.

OK'd by core@, releng@.

Revision 1.164.12.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:32:05 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.164: +20 -8 lines
Diff to previous 1.164 (colored) to selected 1.95 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.166.2.2 / (download) - annotate - [select for diffs], Thu Jun 12 08:39:22 2008 UTC (15 years, 9 months ago) by martin
Branch: simonb-wapbl
Changes since 1.166.2.1: +2 -9 lines
Diff to previous 1.166.2.1 (colored) to branchpoint 1.166 (colored) next main 1.167 (colored) to selected 1.95 (colored)

License police

Revision 1.166.2.1 / (download) - annotate - [select for diffs], Tue Jun 10 14:51:23 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.166: +183 -16 lines
Diff to previous 1.166 (colored) to selected 1.95 (colored)

Initial commit of Wasabi System's WAPBL (Write Ahead Physical Block
Logging) journaling code.  Originally written by Darrin B. Jewell
while at Wasabi and updated to -current by Antti Kantee, Andy Doran,
Greg Oster and Simon Burge.

Still a number of issues - look in doc/BRANCHES for "simonb-wapbl"
for more info.

Revision 1.164.6.2 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:37 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.164.6.1: +0 -6 lines
Diff to previous 1.164.6.1 (colored) to branchpoint 1.164 (colored) to selected 1.95 (colored)

Sync with HEAD.

Also fix build.

Revision 1.164.8.1 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:53 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.164: +20 -8 lines
Diff to previous 1.164 (colored) next main 1.165 (colored) to selected 1.95 (colored)

sync with head

Revision 1.166 / (download) - annotate - [select for diffs], Mon Jun 2 16:00:33 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: simonb-wapbl, haad-dm
Changes since 1.165: +2 -8 lines
Diff to previous 1.165 (colored) to selected 1.95 (colored)

Don't needlessly acquire v_interlock.

Revision 1.164.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:37 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.164: +20 -2 lines
Diff to previous 1.164 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.165 / (download) - annotate - [select for diffs], Sat May 31 21:37:08 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.164: +20 -2 lines
Diff to previous 1.164 (colored) to selected 1.95 (colored)

XXX softdep:

If the number of deletes in progress is getting too high, newdirrem()
requests the syncer to flush faster, and in some cases will block to
prevent deletes accumulating faster than the disk can service them.

The syncer will try to lock vnodes that the remover holds locked, leading
to the syncer and remover proceeding in lockstep and making very little
overall forward progress.

Put a hook into ufs_rmdir() and ufs_remove() so that the softdep code
can pace itself without holding vnode locks if the number of deletes is
running out of control.

Revision 1.156.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:13 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.156.2.2: +4 -22 lines
Diff to previous 1.156.2.2 (colored) to branchpoint 1.156 (colored) next main 1.157 (colored) to selected 1.95 (colored)

sync with HEAD

Revision 1.157.4.3 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:32 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.157.4.2: +21 -40 lines
Diff to previous 1.157.4.2 (colored) to branchpoint 1.157 (colored) next main 1.158 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.127.2.8 / (download) - annotate - [select for diffs], Mon Feb 4 09:25:08 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127.2.7: +4 -22 lines
Diff to previous 1.127.2.7 (colored) to branchpoint 1.127 (colored) next main 1.128 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.164 / (download) - annotate - [select for diffs], Wed Jan 30 09:50:27 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2
Changes since 1.163: +2 -3 lines
Diff to previous 1.163 (colored) to selected 1.95 (colored)

Replace struct lock on vnodes with a simpler lock object built on
krwlock_t. This is a step towards removing lockmgr and simplifying
vnode locking. Discussed on tech-kern.

Revision 1.163 / (download) - annotate - [select for diffs], Thu Jan 24 17:32:57 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.162: +4 -21 lines
Diff to previous 1.162 (colored) to selected 1.95 (colored)

specfs changes for PR kern/37717 (raidclose() is no longer called on
shutdown). There are still problems with device access and a PR will be
filed.

- Kill checkalias(). Allow multiple vnodes to reference a single device.

- Don't play dangerous tricks with block vnodes to ensure that only one
  vnode can describe a block device. Instead, prohibit concurrent opens of
  block devices. As a bonus remove the unreliable code that prevents
  multiple file system mounts on the same device. It's no longer needed.

- Track opens by vnode and by device. Issue cdev_close() when the last open
  goes away, instead of abusing vnode::v_usecount to tell if the device is
  open.

Revision 1.127.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:18 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127.2.6: +22 -24 lines
Diff to previous 1.127.2.6 (colored) to branchpoint 1.127 (colored) to selected 1.95 (colored)

sync with head

Revision 1.156.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:36 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.156.2.1: +26 -41 lines
Diff to previous 1.156.2.1 (colored) to branchpoint 1.156 (colored) to selected 1.95 (colored)

sync with HEAD

Revision 1.160.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:12:06 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.160.4.1: +10 -10 lines
Diff to previous 1.160.4.1 (colored) to branchpoint 1.160 (colored) next main 1.161 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.162 / (download) - annotate - [select for diffs], Thu Jan 3 19:28:51 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.161: +12 -12 lines
Diff to previous 1.161 (colored) to selected 1.95 (colored)

Use pool_cache.

Revision 1.160.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:31 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.160: +9 -10 lines
Diff to previous 1.160 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.161 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:14 2008 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.160: +9 -10 lines
Diff to previous 1.160 (colored) to selected 1.95 (colored)

Merge vmlocking2 to head.

Revision 1.157.4.2 / (download) - annotate - [select for diffs], Thu Dec 27 00:46:52 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.157.4.1: +5 -6 lines
Diff to previous 1.157.4.1 (colored) to branchpoint 1.157 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.159.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:40:04 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.159.2.1: +5 -6 lines
Diff to previous 1.159.2.1 (colored) to branchpoint 1.159 (colored) next main 1.160 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.155.4.4 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:56 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.155.4.3: +5 -6 lines
Diff to previous 1.155.4.3 (colored) to branchpoint 1.155 (colored) next main 1.156 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.160 / (download) - annotate - [select for diffs], Sat Dec 8 19:29:57 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.159: +5 -6 lines
Diff to previous 1.159 (colored) to selected 1.95 (colored)

Remove cn_lwp from struct componentname.  curlwp should be used
from on.  The NDINIT() macro no longer takes the lwp parameter and
associates the credentials of the calling thread with the namei
structure.

Revision 1.157.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:44 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.157: +6 -19 lines
Diff to previous 1.157 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.127.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:35:24 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127.2.5: +6 -19 lines
Diff to previous 1.127.2.5 (colored) to branchpoint 1.127 (colored) to selected 1.95 (colored)

sync with head

Revision 1.159.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:55 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.159: +9 -10 lines
Diff to previous 1.159 (colored) to selected 1.95 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.155.4.3 / (download) - annotate - [select for diffs], Tue Nov 27 19:39:31 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.155.4.2: +6 -19 lines
Diff to previous 1.155.4.2 (colored) to branchpoint 1.155 (colored) to selected 1.95 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.159 / (download) - annotate - [select for diffs], Mon Nov 26 19:02:35 2007 UTC (16 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base
Branch point for: vmlocking2
Changes since 1.158: +5 -12 lines
Diff to previous 1.158 (colored) to selected 1.95 (colored)

Remove the "struct lwp *" argument from all VFS and VOP interfaces.
The general trend is to remove it from all kernel interfaces and
this is a start.  In case the calling lwp is desired, curlwp should
be used.

quick consensus on tech-kern

Revision 1.158 / (download) - annotate - [select for diffs], Fri Nov 23 14:18:01 2007 UTC (16 years, 4 months ago) by pooka
Branch: MAIN
Changes since 1.157: +3 -9 lines
Diff to previous 1.157 (colored) to selected 1.95 (colored)

Update comments: ufs_{rename,mkdir,rmdir} haven't been system calls
since 4.3BSD.

Revision 1.156.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:35:25 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.156: +4 -4 lines
Diff to previous 1.156 (colored) to selected 1.95 (colored)

sync with HEAD

Revision 1.127.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:52 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127.2.4: +4 -4 lines
Diff to previous 1.127.2.4 (colored) to branchpoint 1.127 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.155.4.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:49:40 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.155.4.1: +4 -4 lines
Diff to previous 1.155.4.1 (colored) to branchpoint 1.155 (colored) to selected 1.95 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.152.2.9 / (download) - annotate - [select for diffs], Tue Oct 23 20:17:30 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.8: +3 -5 lines
Diff to previous 1.152.2.8 (colored) to branchpoint 1.152 (colored) next main 1.153 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.156.4.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:49:24 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.156: +4 -4 lines
Diff to previous 1.156 (colored) next main 1.157 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.157 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:41 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs
Changes since 1.156: +4 -4 lines
Diff to previous 1.156 (colored) to selected 1.95 (colored)

Merge from vmlocking:

- Split vnode::v_flag into three fields, depending on field locking.
- simple_lock -> kmutex in a few places.
- Fix some simple locking problems.

Revision 1.152.2.8 / (download) - annotate - [select for diffs], Sun Sep 16 19:02:50 2007 UTC (16 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.7: +3 -4 lines
Diff to previous 1.152.2.7 (colored) to branchpoint 1.152 (colored) to selected 1.95 (colored)

- Checkpoint work in progress on the vnode lifecycle and reference counting
  stuff. This makes it work properly without kernel_lock and fixes a few
  quite old bugs. See vfs_subr.c 1.283.2.17 for details.

- Fix some problems with softdep. Unfortunately our softdep code appears
  to have some longstanding bugs that cause it fail under stress test.

Revision 1.127.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:47:02 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127.2.3: +28 -154 lines
Diff to previous 1.127.2.3 (colored) to branchpoint 1.127 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.152.2.7 / (download) - annotate - [select for diffs], Mon Aug 20 21:28:30 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.6: +2 -69 lines
Diff to previous 1.152.2.6 (colored) to branchpoint 1.152 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.152.2.6 / (download) - annotate - [select for diffs], Sun Aug 19 19:25:03 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.5: +5 -4 lines
Diff to previous 1.152.2.5 (colored) to branchpoint 1.152 (colored) to selected 1.95 (colored)

- Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).

Revision 1.155.4.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:04:02 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.155: +2 -69 lines
Diff to previous 1.155 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.154.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:51:18 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.154: +2 -70 lines
Diff to previous 1.154 (colored) next main 1.155 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.156 / (download) - annotate - [select for diffs], Thu Aug 9 09:22:34 2007 UTC (16 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5
Branch point for: yamt-x86pmap, matt-armv6
Changes since 1.155: +2 -69 lines
Diff to previous 1.155 (colored) to selected 1.95 (colored)

Move the fstrans-aware lock vnops from ufs to ffs.  Other ufs file systems
do not need them.

Ride on 4.99.28

Revision 1.155.6.2 / (download) - annotate - [select for diffs], Sun Jul 29 13:31:17 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.155.6.1: +2342 -0 lines
Diff to previous 1.155.6.1 (colored) to branchpoint 1.155 (colored) next main 1.156 (colored) to selected 1.95 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.155.6.1, Sun Jul 29 13:31:16 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.155: +0 -2342 lines
FILE REMOVED

file ufs_vnops.c was added on branch matt-mips64 on 2007-07-29 13:31:17 +0000

Revision 1.155 / (download) - annotate - [select for diffs], Sun Jul 29 13:31:16 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: matt-mips64-base, hpcarm-cleanup
Branch point for: matt-mips64, jmcneill-pm
Changes since 1.154: +2 -3 lines
Diff to previous 1.154 (colored) to selected 1.95 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.152.2.5 / (download) - annotate - [select for diffs], Sun Jul 15 13:28:21 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.4: +13 -58 lines
Diff to previous 1.152.2.4 (colored) to branchpoint 1.152 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.152.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:12:52 2007 UTC (16 years, 8 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.152: +25 -83 lines
Diff to previous 1.152 (colored) next main 1.153 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.154 / (download) - annotate - [select for diffs], Tue Jul 10 09:50:09 2007 UTC (16 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.153: +13 -58 lines
Diff to previous 1.153 (colored) to selected 1.95 (colored)

Move `struct dquot' and its supporting functions from quota.h to ufs_quota.c.

- Make quota-internal functions static.
- Clean up declarations in quota.h and ufs_extern.h.  quota.h now has the
  description of quota criterions, on-disk structure, user-kernel interface and
  declaration of init/done functions.  All ufs quota related function
  prototypes go to ufs_extern.h.
- New functions ufsquota_init() and ufsquota_free() create or destroy the
  quota fields of `struct inode'.
- chkdq() and chkiq() always update the quota fields of `struct inode' first.
- Only ufs_access() explicitely calls getinoquota().

No objections on tech-kern@

Revision 1.152.2.4 / (download) - annotate - [select for diffs], Sun Jun 17 21:32:19 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.3: +6 -4 lines
Diff to previous 1.152.2.3 (colored) to branchpoint 1.152 (colored) to selected 1.95 (colored)

- Increase the number of thread priorities from 128 to 256. How the space
  is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
  is provided, with hooks for fast-path MD code that can run the interrupt
  threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
  locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.

Revision 1.152.2.3 / (download) - annotate - [select for diffs], Fri Jun 8 14:18:20 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.2: +14 -27 lines
Diff to previous 1.152.2.2 (colored) to branchpoint 1.152 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.149.2.3 / (download) - annotate - [select for diffs], Thu May 17 13:42:01 2007 UTC (16 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.149.2.2: +14 -27 lines
Diff to previous 1.149.2.2 (colored) to branchpoint 1.149 (colored) next main 1.150 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.153 / (download) - annotate - [select for diffs], Thu May 17 07:26:23 2007 UTC (16 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.152: +14 -27 lines
Diff to previous 1.152 (colored) to selected 1.95 (colored)

Fstrans_start() always returns zero, so change its type to void.

Revision 1.152.2.2 / (download) - annotate - [select for diffs], Sun May 13 17:36:46 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.152.2.1: +4 -6 lines
Diff to previous 1.152.2.1 (colored) to branchpoint 1.152 (colored) to selected 1.95 (colored)

- Pass the error number and residual count to biodone(), and let it handle
  setting error indicators. Prepare to eliminate B_ERROR.
- Add a flag argument to brelse() to be set into the buf's flags, instead
  of doing it directly. Typically used to set B_INVAL.
- Add a "struct cpu_info *" argument to kthread_create(), to be used to
  create bound threads. Change "bool mpsafe" to "int flags".
- Allow exit of LWPs in the IDL state when (l != curlwp).
- More locking fixes & conversion to the new API.

Revision 1.152.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:53 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.152: +10 -10 lines
Diff to previous 1.152 (colored) to selected 1.95 (colored)

Pull in the initial set of changes for the vmlocking branch.

Revision 1.149.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 06:01:11 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.149.2.1: +5 -5 lines
Diff to previous 1.149.2.1 (colored) to branchpoint 1.149 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.143.2.3 / (download) - annotate - [select for diffs], Sat Mar 10 18:40:49 2007 UTC (17 years ago) by bouyer
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.143.2.2: +7 -4 lines
Diff to previous 1.143.2.2 (colored) to branchpoint 1.143 (colored) next main 1.144 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by chs in ticket #508):
	sys/ufs/ufs/ufs_vnops.c: revision 1.150
In readdir, in case cookies was already allocated but is later free'd
due to an error, reset value of cookies to NULL to avoid confusing
callers.
should fix kern/35728

Revision 1.152 / (download) - annotate - [select for diffs], Sun Mar 4 06:03:48 2007 UTC (17 years ago) by christos
Branch: MAIN
CVS Tags: thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.151: +5 -5 lines
Diff to previous 1.151 (colored) to selected 1.95 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.149.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:55:24 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.149: +8 -5 lines
Diff to previous 1.149 (colored) to selected 1.95 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.127.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:25 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127.2.2: +212 -55 lines
Diff to previous 1.127.2.2 (colored) to branchpoint 1.127 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.151 / (download) - annotate - [select for diffs], Tue Feb 20 18:03:03 2007 UTC (17 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.150: +3 -3 lines
Diff to previous 1.150 (colored) to selected 1.95 (colored)

tyop in comment, fix it

Revision 1.150 / (download) - annotate - [select for diffs], Tue Feb 20 16:45:58 2007 UTC (17 years, 1 month ago) by pooka
Branch: MAIN
Changes since 1.149: +7 -4 lines
Diff to previous 1.149 (colored) to selected 1.95 (colored)

In readdir, in case cookies was already allocated but is later free'd
due to an error, reset value of cookies to NULL to avoid confusing
callers.

should fix kern/35728

Revision 1.143.2.2 / (download) - annotate - [select for diffs], Sat Feb 17 23:27:53 2007 UTC (17 years, 1 month ago) by tron
Branch: netbsd-4
Changes since 1.143.2.1: +17 -10 lines
Diff to previous 1.143.2.1 (colored) to branchpoint 1.143 (colored) to selected 1.95 (colored)

Apply patch (requested by chs in ticket #422):
- Fix various deadlock problems with nullfs and unionfs.
- Speed up path lookups by upto 25%.

Revision 1.142.4.3 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:51 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.142.4.2: +195 -44 lines
Diff to previous 1.142.4.2 (colored) to branchpoint 1.142 (colored) next main 1.143 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.149 / (download) - annotate - [select for diffs], Mon Jan 29 15:42:50 2007 UTC (17 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.148: +16 -16 lines
Diff to previous 1.148 (colored) to selected 1.95 (colored)

Change fstrans enum types to upper case.
No functional change.

From Antti Kantee <pooka@netbsd.org>

Revision 1.148 / (download) - annotate - [select for diffs], Fri Jan 19 14:49:14 2007 UTC (17 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.147: +195 -44 lines
Diff to previous 1.147 (colored) to selected 1.95 (colored)

New file system suspension API to replace vn_start_write and vn_finished_write.
The suspension helpers are now put into file system specific operations.
This means every file system not supporting these helpers cannot be suspended
and therefore snapshots are no longer possible.

Implemented for file systems of type ffs.

The new API is enabled on a kernel option NEWVNGATE.  This option is
not enabled by default in any kernel config.

Presented and discussed on tech-kern with much input from
Bill Studenmund <wrstuden@netbsd.org> and YAMAMOTO Takashi <yamt@netbsd.org>.

Welcome to 4.99.9 (new vfs op vfs_suspendctl).

Revision 1.143.2.1 / (download) - annotate - [select for diffs], Wed Jan 17 22:04:09 2007 UTC (17 years, 2 months ago) by tron
Branch: netbsd-4
Changes since 1.143: +23 -8 lines
Diff to previous 1.143 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by yamt in ticket #357):
	sys/ufs/ufs/ufs_vnops.c: revision 1.145
ufs_readdir: start from offsets known to be valid,
rather than assuming users feed us valid offsets.

Revision 1.142.4.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:25 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.142.4.1: +50 -25 lines
Diff to previous 1.142.4.1 (colored) to branchpoint 1.142 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.147 / (download) - annotate - [select for diffs], Thu Jan 4 16:55:30 2007 UTC (17 years, 2 months ago) by elad
Branch: MAIN
Changes since 1.146: +12 -10 lines
Diff to previous 1.146 (colored) to selected 1.95 (colored)

Consistent usage of KAUTH_GENERIC_ISSUSER.

Revision 1.146 / (download) - annotate - [select for diffs], Tue Jan 2 11:18:57 2007 UTC (17 years, 2 months ago) by elad
Branch: MAIN
Changes since 1.145: +4 -3 lines
Diff to previous 1.145 (colored) to selected 1.95 (colored)

Add KAUTH_SYSTEM_CHSYSFLAGS so we can get rid of the last three
securelevel references (ufs, ext2fs, tmpfs).

Intentionally undocumented.

Revision 1.127.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:51:01 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127.2.1: +52 -29 lines
Diff to previous 1.127.2.1 (colored) to branchpoint 1.127 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.145 / (download) - annotate - [select for diffs], Tue Dec 26 14:50:08 2006 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.144: +23 -8 lines
Diff to previous 1.144 (colored) to selected 1.95 (colored)

ufs_readdir: start from offsets known to be valid,
rather than assuming users feed us valid offsets.

Revision 1.142.6.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:33 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.142.6.1: +17 -10 lines
Diff to previous 1.142.6.1 (colored) to branchpoint 1.142 (colored) next main 1.143 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.144 / (download) - annotate - [select for diffs], Sat Dec 9 16:11:52 2006 UTC (17 years, 3 months ago) by chs
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3
Changes since 1.143: +17 -10 lines
Diff to previous 1.143 (colored) to selected 1.95 (colored)

a smorgasbord of improvements to vnode locking and path lookup:
 - LOCKPARENT is no longer relevant for lookup(), relookup() or VOP_LOOKUP().
   these now always return the parent vnode locked.  namei() works as before.
   lookup() and various other paths no longer acquire vnode locks in the
   wrong order via vrele().  fixes PR 32535.
   as a nice side effect, path lookup is also up to 25% faster.
 - the above allows us to get rid of PDIRUNLOCK.
 - also get rid of WANTPARENT (just use LOCKPARENT and unlock it).
 - remove an assumption in layer_node_find() that all file systems implement
   a recursive VOP_LOCK() (unionfs doesn't).
 - require that all file systems supply vfs_vptofh and vfs_fhtovp routines.
   fill in eopnotsupp() for file systems that don't support being exported
   and remove the checks for NULL.  (layerfs calls these without checking.)
 - in union_lookup1(), don't change refcounts in the ISDOTDOT case, just
   adjust which vnode is locked.  fixes PR 33374.
 - apply fixes for ufs_rename() from ufs_vnops.c rev. 1.61 to ext2fs_rename().

Revision 1.142.4.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:49 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.142: +3 -2 lines
Diff to previous 1.142 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.142.6.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:51 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.142: +3 -2 lines
Diff to previous 1.142 (colored) to selected 1.95 (colored)

sync with head

Revision 1.143 / (download) - annotate - [select for diffs], Tue Oct 3 19:04:25 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2, netbsd-4-base
Branch point for: netbsd-4
Changes since 1.142: +3 -2 lines
Diff to previous 1.142 (colored) to selected 1.95 (colored)

Coverity CID 3690: Add KASSERT to check for reverse INULL.

Revision 1.138.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 03:00:13 2006 UTC (17 years, 6 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.138: +61 -51 lines
Diff to previous 1.138 (colored) next main 1.139 (colored) to selected 1.95 (colored)

sync with head

Revision 1.139.2.3 / (download) - annotate - [select for diffs], Fri Aug 11 15:47:37 2006 UTC (17 years, 7 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.139.2.2: +15 -15 lines
Diff to previous 1.139.2.2 (colored) to branchpoint 1.139 (colored) next main 1.140 (colored) to selected 1.95 (colored)

sync with head

Revision 1.142 / (download) - annotate - [select for diffs], Sun Jul 23 22:06:15 2006 UTC (17 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, rpaulo-netinet-merge-pcb-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.141: +15 -15 lines
Diff to previous 1.141 (colored) to selected 1.95 (colored)

Use the LWP cached credentials where sane.

Revision 1.139.2.2 / (download) - annotate - [select for diffs], Mon Jun 26 12:54:50 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.139.2.1: +6 -4 lines
Diff to previous 1.139.2.1 (colored) to branchpoint 1.139 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.127.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:12:39 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.127: +231 -207 lines
Diff to previous 1.127 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.140.2.1 / (download) - annotate - [select for diffs], Mon Jun 19 04:11:44 2006 UTC (17 years, 9 months ago) by chap
Branch: chap-midi
Changes since 1.140: +6 -4 lines
Diff to previous 1.140 (colored) next main 1.141 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.141 / (download) - annotate - [select for diffs], Wed Jun 7 22:34:44 2006 UTC (17 years, 9 months ago) by kardel
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base
Changes since 1.140: +6 -4 lines
Diff to previous 1.140 (colored) to selected 1.95 (colored)

merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
  time.tv_sec -> time_second
- struct timeval mono_time is gone
  mono_time.tv_sec -> time_uptime
- access to time via
	{get,}{micro,nano,bin}time()
	get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
  Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
  NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html

Revision 1.138.6.3 / (download) - annotate - [select for diffs], Thu Jun 1 22:39:44 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.138.6.2: +52 -44 lines
Diff to previous 1.138.6.2 (colored) to branchpoint 1.138 (colored) next main 1.139 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.139.6.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:48 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.139: +52 -44 lines
Diff to previous 1.139 (colored) next main 1.140 (colored) to selected 1.95 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.139.2.1 / (download) - annotate - [select for diffs], Wed May 24 10:59:26 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.139: +52 -44 lines
Diff to previous 1.139 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.140 / (download) - annotate - [select for diffs], Sun May 14 21:33:39 2006 UTC (17 years, 10 months ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base5, simonb-timecounters-base
Branch point for: chap-midi
Changes since 1.139: +52 -44 lines
Diff to previous 1.139 (colored) to selected 1.95 (colored)

integrate kauth.

Revision 1.139.4.5 / (download) - annotate - [select for diffs], Sat May 6 23:32:58 2006 UTC (17 years, 10 months ago) by christos
Branch: elad-kernelauth
Changes since 1.139.4.4: +3 -2 lines
Diff to previous 1.139.4.4 (colored) to branchpoint 1.139 (colored) next main 1.140 (colored) to selected 1.95 (colored)

- Move kauth_cred_t declaration to <sys/types.h>
- Cleanup struct ucred; forward declarations that are unused.
- Don't include <sys/kauth.h> in any header, but include it in the c files
  that need it.

Approved by core.

Revision 1.138.6.2 / (download) - annotate - [select for diffs], Sat Apr 22 11:40:27 2006 UTC (17 years, 11 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.138.6.1: +3 -3 lines
Diff to previous 1.138.6.1 (colored) to branchpoint 1.138 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.139.4.4 / (download) - annotate - [select for diffs], Sat Mar 11 16:45:26 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.139.4.3: +12 -17 lines
Diff to previous 1.139.4.3 (colored) to branchpoint 1.139 (colored) to selected 1.95 (colored)

When calling kauth_cred_ismember_gid(), don't return the error code if
there is one, just treat it as if the check failed.

Pointed out by thorpej@.

Revision 1.139.4.3 / (download) - annotate - [select for diffs], Sat Mar 11 04:55:29 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.139.4.2: +17 -9 lines
Diff to previous 1.139.4.2 (colored) to branchpoint 1.139 (colored) to selected 1.95 (colored)

kauth_cred_groupmember() -> kauth_cred_ismember_gid(), as requested by
thorpej@ to conform to the Darwin KPI.

Revision 1.139.4.2 / (download) - annotate - [select for diffs], Fri Mar 10 14:21:11 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.139.4.1: +7 -7 lines
Diff to previous 1.139.4.1 (colored) to branchpoint 1.139 (colored) to selected 1.95 (colored)

generic_authorize() -> kauth_authorize_generic().

Revision 1.139.4.1 / (download) - annotate - [select for diffs], Wed Mar 8 01:39:12 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.139: +44 -40 lines
Diff to previous 1.139 (colored) to selected 1.95 (colored)

Adapt to kernel authorization KPI.

Revision 1.139 / (download) - annotate - [select for diffs], Wed Mar 1 12:38:33 2006 UTC (18 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, elad-kernelauth-base
Branch point for: yamt-pdpolicy, peter-altq, elad-kernelauth
Changes since 1.138: +3 -3 lines
Diff to previous 1.138 (colored) to selected 1.95 (colored)

merge yamt-uio_vmspace branch.

- use vmspace rather than proc or lwp where appropriate.
  the latter is more natural to specify an address space.
  (and less likely to be abused for random purposes.)
- fix a swdmover race.

Revision 1.138.6.1 / (download) - annotate - [select for diffs], Sat Feb 4 14:12:50 2006 UTC (18 years, 1 month ago) by simonb
Branch: simonb-timecounters
Changes since 1.138: +6 -4 lines
Diff to previous 1.138 (colored) to selected 1.95 (colored)

Adapt for timecounters: mostly use get*time() and use "time_second"
instead of "time.tv_sec".

Revision 1.138.2.1 / (download) - annotate - [select for diffs], Sat Dec 31 12:37:20 2005 UTC (18 years, 3 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.138: +3 -3 lines
Diff to previous 1.138 (colored) next main 1.139 (colored) to selected 1.95 (colored)

adapt some random parts of kernel to uio_vmspace.

Revision 1.138 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:28 2005 UTC (18 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5
Branch point for: yamt-uio_vmspace, simonb-timecounters, rpaulo-netinet-merge-pcb
Changes since 1.137: +20 -20 lines
Diff to previous 1.137 (colored) to selected 1.95 (colored)

merge ktrace-lwp.

Revision 1.102.2.15 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:41 2005 UTC (18 years, 3 months ago) by christos
Branch: ktrace-lwp
Changes since 1.102.2.14: +10 -7 lines
Diff to previous 1.102.2.14 (colored) next main 1.103 (colored) to selected 1.95 (colored)

Sync with head.

Revision 1.137.2.2 / (download) - annotate - [select for diffs], Fri Nov 18 08:44:55 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
CVS Tags: yamt-readahead-pervnode
Changes since 1.137.2.1: +2 -2 lines
Diff to previous 1.137.2.1 (colored) to branchpoint 1.137 (colored) next main 1.138 (colored) to selected 1.95 (colored)

- associate read-ahead context to vnode, rather than file.
- revert VOP_READ prototype.

Revision 1.137.2.1 / (download) - annotate - [select for diffs], Tue Nov 15 03:48:47 2005 UTC (18 years, 4 months ago) by yamt
Branch: yamt-readahead
CVS Tags: yamt-readahead-perfile
Changes since 1.137: +4 -4 lines
Diff to previous 1.137 (colored) to selected 1.95 (colored)

adapt ffs, lfs, nfs.

Revision 1.137 / (download) - annotate - [select for diffs], Fri Nov 11 15:50:57 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, ktrace-lwp-base
Branch point for: yamt-readahead
Changes since 1.136: +10 -7 lines
Diff to previous 1.136 (colored) to selected 1.95 (colored)

- ignore truncation for VCHR/VBLK/VFIFO as it used to be
  before yamt-vop merge.  PR/32049 from Atsushi Onoe.
- reject setattr which attempts to change size of VLNK/VSOCK.

Revision 1.102.2.14 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:39 2005 UTC (18 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.13: +155 -144 lines
Diff to previous 1.102.2.13 (colored) to selected 1.95 (colored)

Sync with HEAD. Here we go again...

Revision 1.136 / (download) - annotate - [select for diffs], Wed Nov 2 12:39:14 2005 UTC (18 years, 4 months ago) by yamt
Branch: MAIN
Changes since 1.135: +21 -21 lines
Diff to previous 1.135 (colored) to selected 1.95 (colored)

merge yamt-vop branch.  remove following VOPs.

	VOP_BLKATOFF
	VOP_VALLOC
	VOP_BALLOC
	VOP_REALLOCBLKS
	VOP_VFREE
	VOP_TRUNCATE
	VOP_UPDATE

Revision 1.135.2.1 / (download) - annotate - [select for diffs], Thu Oct 20 03:00:31 2005 UTC (18 years, 5 months ago) by yamt
Branch: yamt-vop
Changes since 1.135: +21 -21 lines
Diff to previous 1.135 (colored) next main 1.136 (colored) to selected 1.95 (colored)

adapt ufs.

Revision 1.135 / (download) - annotate - [select for diffs], Tue Sep 27 06:48:56 2005 UTC (18 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-vop
Changes since 1.134: +6 -8 lines
Diff to previous 1.134 (colored) to selected 1.95 (colored)

introduce "ufs_ops" and use it for ITIMES.

Revision 1.134 / (download) - annotate - [select for diffs], Mon Sep 12 20:23:04 2005 UTC (18 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.133: +4 -2 lines
Diff to previous 1.133 (colored) to selected 1.95 (colored)

- access the ffs and ext2fs itimes functions through a pointer, so that
  if the filesystem is not compiled in the kernel still links. Probably
  a better solution is to use weak symbols.
- move the filesystem-specific itime macros to the filesystem header files.

Revision 1.133 / (download) - annotate - [select for diffs], Mon Sep 12 16:24:41 2005 UTC (18 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.132: +10 -20 lines
Diff to previous 1.132 (colored) to selected 1.95 (colored)

Use nanotime() to update the time fields in filesystems. Convert the code
from macros to real functions. Original patch and review from chuq.
Note: ext2fs only keeps seconds in the on-disk inode, and msdosfs does not
have enough precision for all fields, so this is not very useful for those
two.

Revision 1.126.2.2 / (download) - annotate - [select for diffs], Wed Aug 24 18:43:38 2005 UTC (18 years, 7 months ago) by riz
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.126.2.1: +24 -2 lines
Diff to previous 1.126.2.1 (colored) to branchpoint 1.126 (colored) next main 1.127 (colored) to selected 1.95 (colored)

Pull up following revision(s) (requested by yamt in ticket #688):
	sys/miscfs/genfs/genfs_vnops.c: revision 1.98 via patch
	sys/ufs/ffs/ffs_vfsops.c: revision 1.165
	sys/ufs/lfs/lfs_extern.h: revision 1.69
	sys/fs/filecorefs/filecore_vfsops.c: revision 1.20
	sys/nfs/nfs_node.c: revision 1.80
	sys/fs/smbfs/smbfs_node.c: revision 1.24
	sys/fs/cd9660/cd9660_vfsops.c: revision 1.24
	sys/fs/msdosfs/msdosfs_denode.c: revision 1.8
	sys/miscfs/genfs/genfs_node.h: revision 1.6
	sys/ufs/lfs/lfs_vfsops.c: revision 1.183
	sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.86
	sys/fs/adosfs/advfsops.c: revision 1.23
	sys/fs/ntfs/ntfs_vfsops.c: revision 1.31
- constify genfs_ops.
- use member designators.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.99 via patch
genfs_getpages: don't forget to put the vnode onto the syncer's work que
ue
even in the case of PGO_LOCKED.

        sys/uvm/uvm_bio.c: revision 1.40
        sys/uvm/uvm_pager.h: revision 1.29
        sys/miscfs/genfs/genfs_vnops.c: revision 1.100 via patch
        sys/ufs/ufs/ufs_inode.c: revision 1.50
- introduce PGO_NOBLOCKALLOC and use it for ubc mapping
  to prevent unnecessary block allocations in the case that
  page size > block size.
- ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than
  VM_PROT_READ.

        sys/uvm/uvm_fault.c: revision 1.96
        sys/miscfs/genfs/genfs_vnops.c: revision 1.101 via patch
        sys/uvm/uvm_object.h: revision 1.19
        sys/miscfs/genfs/genfs_node.h: revision 1.7
ensure that vnodes with dirty pages are always on syncer's queue.
- genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by
  setting "wasclean" false when encountering them.
  suggested by Stephan Uphoff in PR/24596 (1).
- genfs_putpages: write protect pages when cleaning out, if
  we're going to take the vnode off the syncer's queue.
  uvm_fault: don't write-map pages unless its vnode is already on
  the syncer's queue.
  fix PR/24596 (3) but in the different way from the suggested fix.
  (to keep our current behaviour, ie. not to require explicit msync.
  discussed on tech-kern@.)
- genfs_putpages: don't mistakenly take a vnode off the queue
  by introducing a generation number in genfs_node.
  genfs_getpages: increment the generation number.
  suggested by Stephan Uphoff in PR/24596 (2).
- add some assertions.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.102 via patch
genfs_putpages: don't bother to clean the vnode unless VONWORKLST.

        sys/ufs/ffs/ffs_vnops.c: revision 1.71
ffs_full_fsync: because VBLK/VCHR can be mmap'ed,
do VOP_PUTPAGES for them as well.

        sys/uvm/uvm_fault.c: revision 1.97
uvm_fault: check a correct object in the case of layered filesystems.
fix PR/30811 from Jukka Salmi.

        sys/uvm/uvm_object.h: revision 1.20
        sys/ufs/ffs/ffs_vfsops.c: revision 1.167
        sys/uvm/uvm_bio.c: revision 1.41
        sys/ufs/ufs/ufs_vnops.c: revision 1.129
        sys/uvm/uvm_mmap.c: revision 1.92
        sys/uvm/uvm_fault.c: revision 1.98
        sys/kern/vfs_subr.c: revision 1.252
        sys/fs/msdosfs/denode.h: revision 1.5
        sys/miscfs/genfs/genfs_vnops.c: revision 1.103 via patch
        sys/fs/msdosfs/msdosfs_denode.c: revision 1.9
        sys/sys/vnode.h: revision 1.141
        sys/ufs/ufs/ufs_inode.c: revision 1.51
        sys/ufs/ufs/ufs_extern.h: revision 1.45 via patch
        sys/miscfs/genfs/genfs_node.h: revision 1.8
        sys/ufs/lfs/lfs_vfsops.c: revision 1.184
        sys/uvm/uvm_pager.h: revision 1.30
        sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.87
update file timestamps for nfsd loaned-read and mmap.
PR/25279.  discussed on tech-kern@.

        sys/miscfs/genfs/genfs_vnops.c: revision 1.104 via patch
don't write-protect wired pages.  pointed by Chuck Silvers.
for now, leave a vnode on the syncer's queue, as suggested by him.

        sys/ufs/ffs/ffs_vnops.c: revision 1.72
revert VCHR part of ffs_vnops.c 1.71.
as VCHR uses the device pager, no point to call VOP_PUTPAGES here.
pointed by Chuck Silvers.

Revision 1.132 / (download) - annotate - [select for diffs], Tue Aug 23 12:27:47 2005 UTC (18 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.131: +4 -3 lines
Diff to previous 1.131 (colored) to selected 1.95 (colored)

ufs_readdir: don't leak kernel garbage to userland.

Revision 1.131 / (download) - annotate - [select for diffs], Tue Aug 23 12:27:16 2005 UTC (18 years, 7 months ago) by yamt
Branch: MAIN
Changes since 1.130: +3 -3 lines
Diff to previous 1.130 (colored) to selected 1.95 (colored)

ufs_readdir: when computing the maximum number of entries,
use _DIRENT_RECLEN(cdp, 1) instead of "4".

Revision 1.130 / (download) - annotate - [select for diffs], Fri Aug 19 02:04:09 2005 UTC (18 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.129: +104 -107 lines
Diff to previous 1.129 (colored) to selected 1.95 (colored)

64 bit inode changes.

Revision 1.129 / (download) - annotate - [select for diffs], Sat Jul 23 12:18:41 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.128: +24 -2 lines
Diff to previous 1.128 (colored) to selected 1.95 (colored)

update file timestamps for nfsd loaned-read and mmap.
PR/25279.  discussed on tech-kern@.

Revision 1.128 / (download) - annotate - [select for diffs], Sun Jul 10 01:08:52 2005 UTC (18 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.127: +3 -2 lines
Diff to previous 1.127 (colored) to selected 1.95 (colored)

Defflag UFS_DIRHASH.

Revision 1.123.4.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:40 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.123: +26 -19 lines
Diff to previous 1.123 (colored) next main 1.124 (colored) to selected 1.95 (colored)

sync with -current

Revision 1.102.2.13 / (download) - annotate - [select for diffs], Fri Apr 1 14:32:11 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.12: +6 -6 lines
Diff to previous 1.102.2.12 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.126.2.1 / (download) - annotate - [select for diffs], Wed Mar 30 10:12:06 2005 UTC (19 years ago) by tron
Branch: netbsd-3
Changes since 1.126: +6 -6 lines
Diff to previous 1.126 (colored) to selected 1.95 (colored)

Pull up revision 1.127 (requested by perseant in ticket #74):
Make LFS dirops get their vnode first, before incrementing the dirop
count, to prevent a deadlock trying to call VOP_PUTPAGES() on a VDIROP
vnode. This can happen when a stacked filesystem is mounted on top of an
LFS: an LFS dirop needs to get a vnode, which is available from the upper
layer. The corresponding lower layer vnode, however, is VDIROP, so the
upper layer can't be cleaned out since its VOP_PUTPAGES() is passed
through to the lower layer, which waits for dirops to drain before it can
proceed.  Deadlock.
Tweak ufs_makeinode() and ufs_mkdir() to pass the a_vpp argument through
to VOP_VALLOC().
Partially addresses PR # 26043, though it probably does not completely fix
the problem described there.

Revision 1.125.2.2 / (download) - annotate - [select for diffs], Sat Mar 26 18:19:20 2005 UTC (19 years ago) by yamt
Branch: yamt-km
Changes since 1.125.2.1: +6 -6 lines
Diff to previous 1.125.2.1 (colored) to branchpoint 1.125 (colored) next main 1.126 (colored) to selected 1.95 (colored)

sync with head.

Revision 1.127 / (download) - annotate - [select for diffs], Wed Mar 23 00:12:51 2005 UTC (19 years ago) by perseant
Branch: MAIN
CVS Tags: yamt-km-base4, kent-audio2-base
Branch point for: yamt-lazymbuf
Changes since 1.126: +6 -6 lines
Diff to previous 1.126 (colored) to selected 1.95 (colored)

Make LFS dirops get their vnode first, before incrementing the dirop count,
to prevent a deadlock trying to call VOP_PUTPAGES() on a VDIROP vnode.
This can happen when a stacked filesystem is mounted on top of an LFS: an
LFS dirop needs to get a vnode, which is available from the upper layer.
The corresponding lower layer vnode, however, is VDIROP, so the upper layer
can't be cleaned out since its VOP_PUTPAGES() is passed through to the lower
layer, which waits for dirops to drain before it can proceed.  Deadlock.

Tweak ufs_makeinode() and ufs_mkdir() to pass the a_vpp argument through
to VOP_VALLOC().

Partially addresses PR # 26043, though it probably does not completely fix
the problem described there.

Revision 1.125.2.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:37:07 2005 UTC (19 years ago) by yamt
Branch: yamt-km
Changes since 1.125: +13 -13 lines
Diff to previous 1.125 (colored) to selected 1.95 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.102.2.12 / (download) - annotate - [select for diffs], Fri Mar 4 16:55:00 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.11: +13 -13 lines
Diff to previous 1.102.2.11 (colored) to selected 1.95 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.126 / (download) - annotate - [select for diffs], Sat Feb 26 22:32:20 2005 UTC (19 years, 1 month ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.125: +13 -13 lines
Diff to previous 1.125 (colored) to selected 1.95 (colored)

nuke trailing whitespace

Revision 1.102.2.11 / (download) - annotate - [select for diffs], Fri Feb 4 11:48:27 2005 UTC (19 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.10: +4 -4 lines
Diff to previous 1.102.2.10 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.125 / (download) - annotate - [select for diffs], Mon Jan 24 21:34:48 2005 UTC (19 years, 2 months ago) by dbj
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base
Branch point for: yamt-km
Changes since 1.124: +4 -4 lines
Diff to previous 1.124 (colored) to selected 1.95 (colored)

check _KERNEL_OPT instead of !_LKM to conditionalize opt includes

Revision 1.102.2.10 / (download) - annotate - [select for diffs], Mon Jan 24 08:36:05 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.9: +9 -2 lines
Diff to previous 1.102.2.9 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.124 / (download) - annotate - [select for diffs], Sun Jan 23 19:37:05 2005 UTC (19 years, 2 months ago) by rumble
Branch: MAIN
Changes since 1.123: +9 -2 lines
Diff to previous 1.123 (colored) to selected 1.95 (colored)

Bring in Ian Dowse's Dirhash from FreeBSD. Hash tables of
directories are created on the fly and used to increase
performance by circumventing ufs_lookup's linear search.

Dirhash is enabled by the UFS_DIRHASH option, but not
by default.

Revision 1.102.2.9 / (download) - annotate - [select for diffs], Wed Oct 27 06:48:24 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.8: +8 -8 lines
Diff to previous 1.102.2.8 (colored) to selected 1.95 (colored)

Fix various comments that describe the argument structures

Revision 1.102.2.8 / (download) - annotate - [select for diffs], Wed Oct 27 06:24:01 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.7: +3 -3 lines
Diff to previous 1.102.2.7 (colored) to selected 1.95 (colored)

Remove the struct lwp * arguments from qsync and ufs_checkpath that are
no longer (read: were never) required.

Revision 1.102.2.7 / (download) - annotate - [select for diffs], Fri Sep 24 10:53:58 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.6: +3 -2 lines
Diff to previous 1.102.2.6 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.102.2.6 / (download) - annotate - [select for diffs], Tue Sep 21 13:39:23 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.5: +17 -17 lines
Diff to previous 1.102.2.5 (colored) to selected 1.95 (colored)

Fix the sync with head I botched.

Revision 1.123 / (download) - annotate - [select for diffs], Tue Sep 21 03:10:36 2004 UTC (19 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: kent-audio2
Changes since 1.122: +3 -2 lines
Diff to previous 1.122 (colored) to selected 1.95 (colored)

Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*()
calls to ensure that the vnode lock state is as expected when the VOP
call is made.  Modify vnode_if.src to set the expected state according
to the documenting lock table for each VOP.  Modify vnode_if.sh to emit
the checks.

Notes:
- The checks are only performed if the vnode has the VLOCKSWORK bit
  set.  Some file systems (e.g. specfs) don't even bother with vnode
  locks, so of course the checks will fail.
- We can't actually run with VNODE_LOCKDEBUG because there are so many
  vnode locking problems, not the least of which is the "use SHARED for
  VOP_READ()" issue, which screws things up for the entire call chain.

Inspired by similar changes in OpenBSD, but implemented differently.

Revision 1.102.2.5 / (download) - annotate - [select for diffs], Sat Sep 18 14:56:59 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.4: +18 -18 lines
Diff to previous 1.102.2.4 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.122 / (download) - annotate - [select for diffs], Fri Sep 17 14:11:27 2004 UTC (19 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.121: +3 -3 lines
Diff to previous 1.121 (colored) to selected 1.95 (colored)

There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe

Revision 1.102.2.4 / (download) - annotate - [select for diffs], Wed Aug 25 06:59:15 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.3: +56 -65 lines
Diff to previous 1.102.2.3 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.102.2.3 / (download) - annotate - [select for diffs], Tue Aug 24 17:57:56 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.2: +5 -5 lines
Diff to previous 1.102.2.2 (colored) to selected 1.95 (colored)

Undo part of the ktrace/lwp changes.  In particular:
* Remove the "lwp *" argument that was added to vget().  Turns out
  that nothing actually used it!
* Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(),
  and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted
  above, didn't use it).
* Remove all of the "lwp *" arguments to internal functions that were added
  just to appease the above.

Revision 1.121 / (download) - annotate - [select for diffs], Sun Aug 15 21:53:03 2004 UTC (19 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.120: +4 -4 lines
Diff to previous 1.120 (colored) to selected 1.95 (colored)

Another piece of FFS_EI flotsam.

Revision 1.120 / (download) - annotate - [select for diffs], Sun Aug 15 21:44:11 2004 UTC (19 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.119: +6 -5 lines
Diff to previous 1.119 (colored) to selected 1.95 (colored)

Repair some FFS_EI code for ufsmount changes.

Revision 1.119 / (download) - annotate - [select for diffs], Sun Aug 15 07:20:00 2004 UTC (19 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.118: +49 -59 lines
Diff to previous 1.118 (colored) to selected 1.95 (colored)

Fixing age old cruft:
* Rather than using mnt_maxsymlinklen to indicate that a file systems returns
  d_type fields(!), add a new internal flag, IMNT_DTYPE.

Add 3 new elements to ufsmount:
* um_maxsymlinklen, replaces mnt_maxsymlinklen (which never should have existed
  in the first place).
* um_dirblksiz, which tracks the current directory block size, eliminating the
  FS-specific checks littered throughout the code.  This may be used later to
  make the block size variable.
* um_maxfilesize, which is the maximum file size, possibly adjusted lower due
  to implementation issues.

Sync some bug fixes from FFS into ext2fs, particularly:
* ffs_lookup.c 1.21, 1.28, 1.33, 1.48
* ffs_inode.c 1.43, 1.44, 1.45, 1.66, 1.67
* ffs_vnops.c 1.84, 1.85, 1.86

Clean up some crappy pointer frobnication.

Revision 1.118 / (download) - annotate - [select for diffs], Sat Aug 14 01:08:07 2004 UTC (19 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.117: +5 -5 lines
Diff to previous 1.117 (colored) to selected 1.95 (colored)

Add a new flag, IN_MODIFY.  This is like IN_UPDATE|IN_CHANGE, but unlike
setting those flags, it does not cause the inode to be written in the periodic
sync.  This is used for writes to special files (devices and named pipes) and
FIFOs.

Do not preemptively sync updates to access times and modification times.  They
are now updated in the inode only opportunistically, or when the file or device
is closed.  (Really, it should be delayed beyond close, but this is enough to
help substantially with device nodes.)

And the most amusing part:
Trickle sync was broken on both FFS and ext2fs, in different ways.  In FFS, the
periodic call to VFS_SYNC(MNT_LAZY) was still causing all file data to be
synced.  In ext2fs, it was causing the metadata to *not* be synced.  We now
only call VOP_UPDATE() on the node if we're doing MNT_LAZY.  I've confirmed
that we do in fact trickle correctly now.

Revision 1.102.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:57:01 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.102.2.1: +68 -66 lines
Diff to previous 1.102.2.1 (colored) to selected 1.95 (colored)

Sync with HEAD

Revision 1.113.2.2 / (download) - annotate - [select for diffs], Wed Jul 28 11:30:07 2004 UTC (19 years, 8 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2
Changes since 1.113.2.1: +4 -4 lines
Diff to previous 1.113.2.1 (colored) to branchpoint 1.113 (colored) next main 1.114 (colored) to selected 1.95 (colored)

Pull up revision 1.117 (requested by dbj in ticket #722):
remove incorrect casts that limit some uses of daddr_t to 31 bits
this fixes problems using ffs2 with more than 2^31 sectors (~1tb)

Revision 1.117 / (download) - annotate - [select for diffs], Sat Jul 24 15:02:32 2004 UTC (19 years, 8 months ago) by dbj
Branch: MAIN
Changes since 1.116: +4 -4 lines
Diff to previous 1.116 (colored) to selected 1.95 (colored)

remove incorrect casts that limit some uses of daddr_t to 31 bits
this fixes problems using ffs2 with more than 2^31 sectors (~1tb)

Revision 1.116 / (download) - annotate - [select for diffs], Sun Jun 20 18:25:54 2004 UTC (19 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.115: +32 -21 lines
Diff to previous 1.115 (colored) to selected 1.95 (colored)

Use a pool for struct direct instead of kernel stack.
Reduces the kernel stack usage by 264 bytes.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>

Revision 1.115 / (download) - annotate - [select for diffs], Tue May 25 14:55:46 2004 UTC (19 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.114: +15 -3 lines
Diff to previous 1.114 (colored) to selected 1.95 (colored)

Add ffs internal snapshots. Written by Marshall Kirk McKusick for FreeBSD.

- Not enabled by default. Needs kernel option FFS_SNAPSHOT.
- Change parameters of ffs_blkfree.
- Let the copy-on-write functions return an error so spec_strategy
    may fail if the copy-on-write fails.
- Change genfs_*lock*() to use vp->v_vnlock instead of &vp->v_lock.
- Add flag B_METAONLY to VOP_BALLOC to return indirect block buffer.
- Add a function ffs_checkfreefile needed for snapshot creation.
- Add special handling of snapshot files:
    Snapshots may not be opened for writing and the attributes are read-only.
    Use the mtime as the time this snapshot was taken.
    Deny mtime updates for snapshot files.
- Add function transferlockers to transfer any waiting processes from
  one lock to another.
- Add vfsop VFS_SNAPSHOT to take a snapshot and make it accessible through
  a vnode.
- Add snapshot support to ls, fsck_ffs and dump.

Welcome to 2.0F.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>

Revision 1.113.2.1 / (download) - annotate - [select for diffs], Sun May 23 11:57:53 2004 UTC (19 years, 10 months ago) by grant
Branch: netbsd-2-0
Changes since 1.113: +4 -3 lines
Diff to previous 1.113 (colored) to selected 1.95 (colored)

Pull up revision 1.114 (requested by kleink in ticket #379):

POSIX: Permit a process without the appropriate privilege to change a
file's group ID to its effective gid, in addition to the presently
permitted set of supplementary gids.

Revision 1.114 / (download) - annotate - [select for diffs], Sat May 22 23:24:23 2004 UTC (19 years, 10 months ago) by kleink
Branch: MAIN
Changes since 1.113: +4 -3 lines
Diff to previous 1.113 (colored) to selected 1.95 (colored)

POSIX: Permit a process without the appropriate privilege to change a
file's group ID to its effective gid, in addition to the presently
permitted set of supplementary gids.

From Mark Davies in PR standards/25401.

Revision 1.113 / (download) - annotate - [select for diffs], Mon Jan 26 10:39:30 2004 UTC (20 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.112: +4 -3 lines
Diff to previous 1.112 (colored) to selected 1.95 (colored)

Fix xxx_strategy() to use the vnode arg instead of bp->b_vp.

Revision 1.112 / (download) - annotate - [select for diffs], Mon Jan 26 10:02:31 2004 UTC (20 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.111: +2 -3 lines
Diff to previous 1.111 (colored) to selected 1.95 (colored)

Fix mfs_strategy() to use the vp argument.
From YAMAMOTO Takashi <yamt@netbsd.org>.

Revision 1.111 / (download) - annotate - [select for diffs], Mon Jan 26 04:25:02 2004 UTC (20 years, 2 months ago) by itojun
Branch: MAIN
Changes since 1.110: +3 -2 lines
Diff to previous 1.110 (colored) to selected 1.95 (colored)

avoid panic on monut_mfs.  Greg Oster

Revision 1.110 / (download) - annotate - [select for diffs], Sun Jan 25 18:06:49 2004 UTC (20 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.109: +3 -5 lines
Diff to previous 1.109 (colored) to selected 1.95 (colored)

Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.

VOP_STRATEGY(bp) is replaced by one of two new functions:

- VOP_STRATEGY(vp, bp)  Call the strategy routine of vp for bp.
- DEV_STRATEGY(bp)      Call the d_strategy routine of bp->b_dev for bp.

DEV_STRATEGY(bp) is used only for block-to-block device situations.

Revision 1.109 / (download) - annotate - [select for diffs], Sat Nov 8 06:38:10 2003 UTC (20 years, 4 months ago) by dbj
Branch: MAIN
Changes since 1.108: +8 -6 lines
Diff to previous 1.108 (colored) to selected 1.95 (colored)

only let i_ffs_effnlink diverge from i_nlink if DOINGSOFTDEP

Revision 1.108 / (download) - annotate - [select for diffs], Thu Sep 11 17:33:43 2003 UTC (20 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.107: +4 -3 lines
Diff to previous 1.107 (colored) to selected 1.95 (colored)

PR/15397: Jason Thorpe: directory operations on pathnames that refer to
directories and have trailing slashes should succeed. Ok'd by kjk.
Fix provided by enami.

Revision 1.107 / (download) - annotate - [select for diffs], Sat Aug 16 07:04:17 2003 UTC (20 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.106: +3 -3 lines
Diff to previous 1.106 (colored) to selected 1.95 (colored)

gcc for sparc seems to barf at 'int_var * 0x100000000ull' so do
'(uint64_t)(uint)int_var << 32' even though it generates twice as many
instructions on i386!

Revision 1.106 / (download) - annotate - [select for diffs], Sun Aug 10 09:54:06 2003 UTC (20 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.105: +4 -25 lines
Diff to previous 1.105 (colored) to selected 1.95 (colored)

Remove only (last?) use of SETHIGH and SETLOW before gcc starts warning
about the odd construct.  Also fixes kern/6525.

Revision 1.105 / (download) - annotate - [select for diffs], Sat Aug 9 19:02:55 2003 UTC (20 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.104: +6 -5 lines
Diff to previous 1.104 (colored) to selected 1.95 (colored)

Stop panic if 'mknod xxx b 0 0' done on a full filesystem.
panics in ffs_full_fsync because v_specmountpoint requires that the NULL
v_specinfo be followed.
Tidy up in the same order in all error paths so compiler can merge the
code sequences.

Fixes PR kern/22419

Revision 1.104 / (download) - annotate - [select for diffs], Thu Aug 7 16:34:47 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
Changes since 1.103: +3 -7 lines
Diff to previous 1.103 (colored) to selected 1.95 (colored)

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.

Revision 1.103 / (download) - annotate - [select for diffs], Tue Aug 5 15:45:48 2003 UTC (20 years, 7 months ago) by pk
Branch: MAIN
Changes since 1.102: +4 -4 lines
Diff to previous 1.102 (colored) to selected 1.95 (colored)

Pass the inode flags to set as an argument to ufs_dirrewrite().
Use it to restore the behaviour of not updating the modified time of a
directory that moves to a new parent.

Revision 1.102.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:27:28 2003 UTC (20 years, 9 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.102: +17 -17 lines
Diff to previous 1.102 (colored) to selected 1.95 (colored)

Apply the aborted ktrace-lwp changes to a specific branch.  This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it.  This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.

Revision 1.102 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:48 2003 UTC (20 years, 9 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.101: +16 -16 lines
Diff to previous 1.101 (colored) to selected 1.95 (colored)

Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.101 / (download) - annotate - [select for diffs], Sun Jun 29 18:43:48 2003 UTC (20 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.100: +3 -3 lines
Diff to previous 1.100 (colored) to selected 1.95 (colored)

Undo part of the ktrace/lwp changes.  In particular:
* Remove the "lwp *" argument that was added to vget().  Turns out
  that nothing actually used it!
* Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(),
  and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted
  above, didn't use it).
* Remove all of the "lwp *" arguments to internal functions that were added
  just to appease the above.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:29 2003 UTC (20 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.99: +17 -17 lines
Diff to previous 1.99 (colored) to selected 1.95 (colored)

Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V

Revision 1.99 / (download) - annotate - [select for diffs], Thu May 15 20:25:33 2003 UTC (20 years, 10 months ago) by kristerw
Branch: MAIN
Changes since 1.98: +38 -38 lines
Diff to previous 1.98 (colored) to selected 1.95 (colored)

The C language does not permit statements of the form
   (X ? Y : Z) = 0;
even though gcc handles this by a stupid extension.

Transform these to correct C.

Approved by fvdl.

Revision 1.98 / (download) - annotate - [select for diffs], Tue Apr 29 07:45:23 2003 UTC (20 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.97: +3 -3 lines
Diff to previous 1.97 (colored) to selected 1.95 (colored)

constify 'mastertemplate'.

Revision 1.97 / (download) - annotate - [select for diffs], Fri Apr 25 23:12:33 2003 UTC (20 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.96: +5 -5 lines
Diff to previous 1.96 (colored) to selected 1.95 (colored)

Assign the right linkcount when renaming a directory.

Revision 1.96 / (download) - annotate - [select for diffs], Fri Apr 11 14:13:28 2003 UTC (20 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.95: +3 -10 lines
Diff to previous 1.95 (colored)

Remove diagnostic ufs_vinit check, this isn't quite the right place for it;
it'll be reinstated elsewhere.

Revision 1.95 / (download) - annotate - [selected], Fri Apr 11 10:36:33 2003 UTC (20 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.94: +5 -3 lines
Diff to previous 1.94 (colored)

Adjust diagnostic check for bad mode field; only the VNON case should
matter. From Enami.

Revision 1.94 / (download) - annotate - [select for diffs], Thu Apr 10 20:22:04 2003 UTC (20 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.93: +7 -2 lines
Diff to previous 1.93 (colored) to selected 1.95 (colored)

Add diagnostic check to ufs_vinit in order to catch bad mode fields in
inodes early.

Revision 1.93 / (download) - annotate - [select for diffs], Fri Apr 4 13:39:58 2003 UTC (20 years, 11 months ago) by drochner
Branch: MAIN
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (colored) to selected 1.95 (colored)

adapt to struct inode change (in UVMHIST code)

Revision 1.92 / (download) - annotate - [select for diffs], Wed Apr 2 10:39:45 2003 UTC (21 years ago) by fvdl
Branch: MAIN
Changes since 1.91: +190 -117 lines
Diff to previous 1.91 (colored) to selected 1.95 (colored)

Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.

Revision 1.91 / (download) - annotate - [select for diffs], Sat Mar 15 07:20:22 2003 UTC (21 years ago) by perseant
Branch: MAIN
Changes since 1.90: +4 -2 lines
Diff to previous 1.90 (colored) to selected 1.95 (colored)

Make LFS LKM versions of ufs_makeinode and ufs_mkdir fail correctly.

Note dependency of lfs_vnops.o on ufs_readwrite.c.

Revision 1.90 / (download) - annotate - [select for diffs], Mon Feb 17 23:48:23 2003 UTC (21 years, 1 month ago) by perseant
Branch: MAIN
Changes since 1.89: +50 -2 lines
Diff to previous 1.89 (colored) to selected 1.95 (colored)

Add code to UBCify LFS.  This is still behind "#ifdef LFS_UBC" for now
(there are still some details to work out) but expect that to go
away soon.  To support these basic changes (creation of lfs_putpages,
lfs_gop_write, mods to lfs_balloc) several other changes were made, to
wit:

* Create a writer daemon kernel thread whose purpose is to handle page
  writes for the pagedaemon, but which also takes over some of the
  functions of lfs_check().  This thread is started the first time an
  LFS is mounted.

* Add a "flags" parameter to GOP_SIZE.  Current values are
  GOP_SIZE_READ, meaning that the call should return the size of the
  in-core version of the file, and GOP_SIZE_WRITE, meaning that it
  should return the on-disk size.  One of GOP_SIZE_READ or
  GOP_SIZE_WRITE must be specified.

* Instead of using malloc(...M_WAITOK) for everything, reserve enough
  resources to get by and use malloc(...M_NOWAIT), using the reserves if
  necessary.  Use the pool subsystem for structures small enough that
  this is feasible.  This also obsoletes LFS_THROTTLE.

And a few that are not strictly necessary:

* Moves the LFS inode extensions off onto a separately allocated
  structure; getting closer to LFS as an LKM.  "Welcome to 1.6O."

* Unified GOP_ALLOC between FFS and LFS.

* Update LFS copyright headers to correct values.

* Actually cast to unsigned in lfs_shellsort, like the comment says.

* Keep track of which segments were empty before the previous
  checkpoint; any segments that pass two checkpoints both dirty and
  empty can be summarily cleaned.  Do this.  Right now lfs_segclean
  still works, but this should be turned into an effectless
  compatibility syscall.

Revision 1.76.2.11 / (download) - annotate - [select for diffs], Fri Jan 3 17:10:46 2003 UTC (21 years, 2 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.76.2.10: +2 -3 lines
Diff to previous 1.76.2.10 (colored) next main 1.77 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.89 / (download) - annotate - [select for diffs], Tue Dec 31 15:00:18 2002 UTC (21 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, fvdl_fs64_base
Changes since 1.88: +2 -3 lines
Diff to previous 1.88 (colored) to selected 1.95 (colored)

don't set vnode type to VNON in error case of ufs_makeinode.
(backout rev.1.74)

it seems that there's no need to do it (anymore?) and LFS has trouble with it.
(VNON vnodes marked VDIROP will never reclaimed)

ok'ed by Frank van der Linden.

Revision 1.76.2.10 / (download) - annotate - [select for diffs], Mon Nov 11 22:16:58 2002 UTC (21 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.9: +21 -1 lines
Diff to previous 1.76.2.9 (colored) to selected 1.95 (colored)

Catch up to -current

Revision 1.88 / (download) - annotate - [select for diffs], Wed Oct 23 09:15:09 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw
Changes since 1.87: +23 -3 lines
Diff to previous 1.87 (colored) to selected 1.95 (colored)

merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe

Revision 1.76.2.9 / (download) - annotate - [select for diffs], Fri Oct 18 02:45:57 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.8: +17 -8 lines
Diff to previous 1.76.2.8 (colored) to selected 1.95 (colored)

Catch up to -current.

Revision 1.78.4.9 / (download) - annotate - [select for diffs], Thu Oct 10 18:45:00 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.78.4.8: +17 -8 lines
Diff to previous 1.78.4.8 (colored) to branchpoint 1.78 (colored) next main 1.79 (colored) to selected 1.95 (colored)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.87 / (download) - annotate - [select for diffs], Sat Sep 28 20:11:09 2002 UTC (21 years, 6 months ago) by dbj
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base
Changes since 1.86: +17 -8 lines
Diff to previous 1.86 (colored) to selected 1.95 (colored)

Add support for the Apple UFS variation on ffs
This is the bulk of PR #17345

The general approach is to use a run time deteriminable value
for DIRBLKSIZ.  Additional allowances are included for using
MAXSYMLINKLEN with FS_42INODEFMT and a shift in the cylinder group
cluster summary count array.  Support is added for managing
the Apple UFS volume label.

Revision 1.78.4.8 / (download) - annotate - [select for diffs], Wed Sep 25 21:38:13 2002 UTC (21 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.78.4.7: +2 -86 lines
Diff to previous 1.78.4.7 (colored) to branchpoint 1.78 (colored) to selected 1.95 (colored)

switch over to genfs_kqfilter(), g/c the ufs_kqfilter() code

Revision 1.78.4.7 / (download) - annotate - [select for diffs], Sun Jun 23 17:52:15 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.78.4.6: +8 -7 lines
Diff to previous 1.78.4.6 (colored) to branchpoint 1.78 (colored) to selected 1.95 (colored)

catch up with -current on kqueue branch

Revision 1.76.2.8 / (download) - annotate - [select for diffs], Thu Jun 20 03:50:37 2002 UTC (21 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.7: +8 -7 lines
Diff to previous 1.76.2.7 (colored) to selected 1.95 (colored)

Catch up to -current.

Revision 1.86 / (download) - annotate - [select for diffs], Tue May 14 17:37:52 2002 UTC (21 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, gehenna-devsw-base, gehenna-devsw
Changes since 1.85: +8 -7 lines
Diff to previous 1.85 (colored) to selected 1.95 (colored)

In ufs_mkdir(), write the data block *before* updating the inode with the
block pointer, to prevent "DIRECTORY CORRUPTED" errors from fsck(8).
Note: The behavior in the softdep case is unchanged, but needs to be fixed.

Revision 1.68.2.5 / (download) - annotate - [select for diffs], Tue Feb 26 21:17:46 2002 UTC (22 years, 1 month ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003
Changes since 1.68.2.4: +1 -2 lines
Diff to previous 1.68.2.4 (colored) to branchpoint 1.68 (colored) next main 1.69 (colored) to selected 1.95 (colored)

Pull up revisions 1.84-1.85 (requested by fvdl):
  Correct a mistake made in the original merge-in of the softdep
  code, and fix a problem which caused ffs_fsync to do unneeded
  sync writes.

Revision 1.78.4.6 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:26 2002 UTC (22 years, 2 months ago) by thorpej
Branch: kqueue
Changes since 1.78.4.5: +7 -5 lines
Diff to previous 1.78.4.5 (colored) to branchpoint 1.78 (colored) to selected 1.95 (colored)

Sync kqueue branch with -current.

Revision 1.76.2.7 / (download) - annotate - [select for diffs], Tue Jan 8 00:34:58 2002 UTC (22 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.6: +2 -3 lines
Diff to previous 1.76.2.6 (colored) to selected 1.95 (colored)

Catch up to -current.

Revision 1.85 / (download) - annotate - [select for diffs], Sun Dec 23 16:16:59 2001 UTC (22 years, 3 months ago) by fvdl
Branch: MAIN
CVS Tags: newlock-base, newlock, ifpoll-base, eeh-devprop-base, eeh-devprop
Changes since 1.84: +3 -3 lines
Diff to previous 1.84 (colored) to selected 1.95 (colored)

As pointed out by mycroft and reflected in the comment, update the
directory inode before creating the new entry (not the freshly alloced
directory which isn't linked anywhere yet).

Revision 1.84 / (download) - annotate - [select for diffs], Sun Dec 23 14:00:21 2001 UTC (22 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.83: +3 -4 lines
Diff to previous 1.83 (colored) to selected 1.95 (colored)

Fix botch in my original softdep code merge: remove redundant (and
synchronous to boot) VOP_UPDATE call.

Revision 1.76.2.6 / (download) - annotate - [select for diffs], Wed Nov 14 19:19:03 2001 UTC (22 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.5: +4 -1 lines
Diff to previous 1.76.2.5 (colored) to selected 1.95 (colored)

Catch up to -current.

Revision 1.82.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:51 2001 UTC (22 years, 4 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.82: +4 -1 lines
Diff to previous 1.82 (colored) next main 1.83 (colored) to selected 1.95 (colored)

Sync the thorpej-mips-cache branch with -current.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Nov 8 02:39:17 2001 UTC (22 years, 4 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.82: +4 -1 lines
Diff to previous 1.82 (colored) to selected 1.95 (colored)

add RCSID

Revision 1.80.2.3 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:35 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.80.2.2: +4 -4 lines
Diff to previous 1.80.2.2 (colored) to branchpoint 1.80 (colored) next main 1.81 (colored) to selected 1.95 (colored)

Catch up with -current.

Revision 1.76.2.5 / (download) - annotate - [select for diffs], Wed Sep 26 19:55:14 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.4: +2 -1 lines
Diff to previous 1.76.2.4 (colored) to selected 1.95 (colored)

Catch up to -current.
Again.

Revision 1.82 / (download) - annotate - [select for diffs], Sun Sep 23 05:28:23 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2
Branch point for: thorpej-mips-cache
Changes since 1.81: +2 -1 lines
Diff to previous 1.81 (colored) to selected 1.95 (colored)

when creating a symlink, set the vnode's copy of the size also.

Revision 1.76.2.4 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:10 2001 UTC (22 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.3: +4 -5 lines
Diff to previous 1.76.2.3 (colored) to selected 1.95 (colored)

Catch up to -current.

Revision 1.80.2.2 / (download) - annotate - [select for diffs], Tue Sep 18 19:14:03 2001 UTC (22 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.80.2.1: +2 -1 lines
Diff to previous 1.80.2.1 (colored) to branchpoint 1.80 (colored) to selected 1.95 (colored)

Various changes to make cloning devices possible:

	* Add an extra argument (struct vnode **) to VOP_OPEN. If it is
	  not NULL, specfs will create a cloned (aliased) vnode during
	  the call, and return it there. The caller should release and
	  unlock the original vnode if a new vnode was returned. The
	  new vnode is returned locked.

	* Add a flag field to the cdevsw and bdevsw structures.
	  DF_CLONING indicates that it wants a new vnode for each
	  open (XXX is there a better way? devprop?)

	* If a device is cloning, always call the close entry
	  point for a VOP_CLOSE.


Also, rewrite cons.c to do the right thing with vnodes. Use VOPs
rather then direct device entry calls. Suggested by mycroft@

Light to moderate testing done an i386 system (arch doesn't matter
though, these are MI changes).

Revision 1.81 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:44 2001 UTC (22 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.80: +3 -4 lines
Diff to previous 1.80 (colored) to selected 1.95 (colored)

a whole bunch of changes to improve performance and robustness under load:

 - remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.

Revision 1.78.4.5 / (download) - annotate - [select for diffs], Sat Sep 8 00:40:27 2001 UTC (22 years, 6 months ago) by thorpej
Branch: kqueue
Changes since 1.78.4.4: +1 -3 lines
Diff to previous 1.78.4.4 (colored) to branchpoint 1.78 (colored) to selected 1.95 (colored)

Centralize the definition of VN_KNOTE().

Revision 1.78.4.4 / (download) - annotate - [select for diffs], Fri Sep 7 22:01:55 2001 UTC (22 years, 6 months ago) by thorpej
Branch: kqueue
Changes since 1.78.4.3: +3 -3 lines
Diff to previous 1.78.4.3 (colored) to branchpoint 1.78 (colored) to selected 1.95 (colored)

More const.

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Fri Sep 7 04:45:45 2001 UTC (22 years, 6 months ago) by thorpej
Branch: thorpej-devvp
Changes since 1.80: +2 -2 lines
Diff to previous 1.80 (colored) to selected 1.95 (colored)

Commit my "devvp" changes to the thorpej-devvp branch.  This
replaces the use of dev_t in most places with a struct vnode *.

This will form the basic infrastructure for real cloning device
support (besides being architecurally cleaner -- it'll be good
to get away from using numbers to represent objects).

Revision 1.78.4.3 / (download) - annotate - [select for diffs], Sat Aug 25 06:17:19 2001 UTC (22 years, 7 months ago) by thorpej
Branch: kqueue
Changes since 1.78.4.2: +2 -2 lines
Diff to previous 1.78.4.2 (colored) to branchpoint 1.78 (colored) to selected 1.95 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.80 / (download) - annotate - [select for diffs], Fri Aug 24 10:24:47 2001 UTC (22 years, 7 months ago) by wiz
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored) to selected 1.95 (colored)

heirarchy -> hierarchy

Revision 1.76.2.3 / (download) - annotate - [select for diffs], Fri Aug 24 00:13:31 2001 UTC (22 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.2: +13 -4 lines
Diff to previous 1.76.2.2 (colored) to selected 1.95 (colored)

Catch up with -current.

Revision 1.78.4.2 / (download) - annotate - [select for diffs], Fri Aug 3 04:14:11 2001 UTC (22 years, 8 months ago) by lukem
Branch: kqueue
Changes since 1.78.4.1: +13 -4 lines
Diff to previous 1.78.4.1 (colored) to branchpoint 1.78 (colored) to selected 1.95 (colored)

update to -current

Revision 1.79 / (download) - annotate - [select for diffs], Tue Jul 24 15:39:35 2001 UTC (22 years, 8 months ago) by assar
Branch: MAIN
Changes since 1.78: +13 -4 lines
Diff to previous 1.78 (colored) to selected 1.95 (colored)

change vop_symlink and vop_mknod to return vpp (the created node)
refed, so that the caller can actually use it.  update callers and
file systems that implement these vnode operations

Revision 1.78.4.1 / (download) - annotate - [select for diffs], Tue Jul 10 13:55:14 2001 UTC (22 years, 8 months ago) by lukem
Branch: kqueue
Changes since 1.78: +110 -4 lines
Diff to previous 1.78 (colored) to selected 1.95 (colored)

* implement ufs_kqfilter(), filt_ufs*()
* add KNOTE(9) calls as appropriate

Revision 1.76.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 20:10:16 2001 UTC (22 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76.2.1: +1 -22 lines
Diff to previous 1.76.2.1 (colored) to selected 1.95 (colored)

Catch up to -current.

Revision 1.78 / (download) - annotate - [select for diffs], Mon May 28 02:50:53 2001 UTC (22 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: perseant-lfsv2-base, perseant-lfsv2
Branch point for: kqueue
Changes since 1.77: +1 -22 lines
Diff to previous 1.77 (colored) to selected 1.95 (colored)

add a genfs_mmap() and change all of the disk-based filesystems
to implement VOP_MMAP() with the genfs version, in preparation for
actually using this VOP.

Revision 1.76.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:59:09 2001 UTC (22 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.76: +4 -2 lines
Diff to previous 1.76 (colored) to selected 1.95 (colored)

Catch up with -current.

Revision 1.68.2.4 / (download) - annotate - [select for diffs], Fri Apr 6 00:03:51 2001 UTC (22 years, 11 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.68.2.3: +4 -2 lines
Diff to previous 1.68.2.3 (colored) to branchpoint 1.68 (colored) to selected 1.95 (colored)

Pull up revision 1.77 (requested by wrstuden):
  Explicitly VOP_UNLOCK before setting v_op to spec_vnode_ops_p.
  Works around a lock leak and eventual kernel panic.

Revision 1.58.2.4 / (download) - annotate - [select for diffs], Tue Mar 27 15:32:47 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.2.3: +4 -2 lines
Diff to previous 1.58.2.3 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.77 / (download) - annotate - [select for diffs], Fri Mar 23 12:15:34 2001 UTC (23 years ago) by fvdl
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.76: +4 -2 lines
Diff to previous 1.76 (colored) to selected 1.95 (colored)

Do an explicit VOP_UNLOCK in ufs_vinit before setting v_op to
spec_vnode_ops_p. Workaround for a lock leak. Problem tracked
down by der Mouse.

Revision 1.58.2.3 / (download) - annotate - [select for diffs], Mon Mar 12 13:32:08 2001 UTC (23 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.2.2: +343 -330 lines
Diff to previous 1.58.2.2 (colored) to branchpoint 1.58 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.76 / (download) - annotate - [select for diffs], Mon Feb 26 18:09:20 2001 UTC (23 years, 1 month ago) by lukem
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.75: +342 -329 lines
Diff to previous 1.75 (colored) to selected 1.95 (colored)

convert to ANSI KNF

Revision 1.58.2.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:20:17 2000 UTC (23 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58.2.1: +2 -3 lines
Diff to previous 1.58.2.1 (colored) to branchpoint 1.58 (colored) to selected 1.95 (colored)

Sync with HEAD.

Revision 1.75 / (download) - annotate - [select for diffs], Mon Nov 27 08:40:02 2000 UTC (23 years, 4 months ago) by chs
Branch: MAIN
Changes since 1.74: +2 -3 lines
Diff to previous 1.74 (colored) to selected 1.95 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.58.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:11:55 2000 UTC (23 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.58: +309 -245 lines
Diff to previous 1.58 (colored) to selected 1.95 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.68.2.3 / (download) - annotate - [select for diffs], Thu Oct 19 14:15:14 2000 UTC (23 years, 5 months ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA
Changes since 1.68.2.2: +2 -1 lines
Diff to previous 1.68.2.2 (colored) to branchpoint 1.68 (colored) to selected 1.95 (colored)

Pull up revision 1.74 (requested by pk):
  In ufs_makeinode(), set the new vnode type to VNON before
  calling vput().

  Prevents kernel panic when running out of disk space in the
  middle of allocating a new inode on an FFS or LFS file system.

Revision 1.74 / (download) - annotate - [select for diffs], Thu Oct 19 10:55:35 2000 UTC (23 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.73: +2 -1 lines
Diff to previous 1.73 (colored) to selected 1.95 (colored)

In ufs_makeinode(), set the new vnode type to VNON before calling vput().

Revision 1.68.2.2 / (download) - annotate - [select for diffs], Thu Sep 14 18:50:16 2000 UTC (23 years, 6 months ago) by perseant
Branch: netbsd-1-5
Changes since 1.68.2.1: +12 -2 lines
Diff to previous 1.68.2.1 (colored) to branchpoint 1.68 (colored) to selected 1.95 (colored)

Pull up recent LFS kernel changes (approved by thorpej):

ufs/ufs/inode.h, 1.20--1.22      (add i_lfs_effnblks extension ;
                                 make ITIMES aware of LFS_ITIMES;
                                 _LKM protection so userland progs
                                 compile)
ufs/ufs/ufs_vnops.c, 1.69, 1.71  (remove IN_ADIROP;
                                 use ITIMES instead of FFS_ITIMES)
ufs/ufs/ufs_readwrite.c, 1.27    (use lfs_reserve in lfs_write)
ufs/lfs/lfs.h, 1.26--1.32        (define LFS_EST_* macros ;
                                 change MIN_FREE_SEGS to lfs_minfreesegs ;
                                 add avail and bfree to CLEANERINFO ;
                                 change lfs_uinodes to signed ;
                                 change lfs_dmeta to signed ;
                                 add whitespace to line up structure
                                 members ;
                                 explicit cast to int32_t in LFS_EST_*
                                 macros)
ufs/lfs/lfs_alloc.c, back out 1.34.2.3 (pullups of 1.39, 1.40);
then pull up         1.38        (clean up on error)
                     1.39--1.43  (restore fvdl's ufs_hashlock fix ;
                                 restore fvdl's ufs_hashlock fix ;
                                 set i_lfs_effnblks ;
                                 use UINO macros ;
                                 add comments and fix long lines)
ufs/lfs/lfs_balloc.c, 1.19       (don't succeed halfway)
                      1.21--1.25 (use i_lfs_effnblks ;
                                 fix i_lfs_effnblks computation and
                                 quieten ;
                                 fix i_ffs_blocks in unwritten fragment ;
                                 remove useless debugging check ;
                                 add comments and (c) 2000)
ufs/lfs/lfs_bio.c, 1.24--1.30    (cleanup and make lfs_flush_fs take
                                   "struct lfs *" instead of "struct
                                 mount *" ;
                                 use lfs_minfreeseg instead of
                                 MIN_FREE_SEGS ;
                                 use UINO macros, and copy bfree/avail
                                   to CLEANERINFO ;
                                 add lfs_reserve function ;
                                 1.28--1.30 fix printf formatting)
ufs/lfs/lfs_cksum.c, 1.13        (add (c) 2000)
ufs/lfs/lfs_debug.c, 1.11        (use btodb instead of DEV_BSIZE)
ufs/lfs/lfs_extern.h, 1.18, 1.20--1.21 (function prototype changes)
ufs/lfs/lfs_inode.c, 1.38        (rewrite lfs_truncate from
                                 ffs_truncate)
                     1.40--1.44  (count written and unwritten blocks
                                   seperately ;
                                 use disk block units instead of bytes ;
                                 remove unnecessary "mod" variable ;
                                 correct B_DELWRI to avoid bawrite panic ;
                                 use lfs_reserve)
ufs/lfs/lfs_segment.c, 1.52-1.59 (use lfs_dmeta to note used summaries ;
                                 check for UNWRITTEN in indirect blocks ;
                                 more debugging stuff inside #ifdef
                                 DEBUG_LFS ;
                                 use LK_CANRECURSE ;
                                 don't drop dirty indirect blocks ;
                                 use UINO macros ;
                                 don't hose the free list ;
                                 use btodb() instead of DEV_BSIZE ;
                                 make it compile again (oops))
ufs/lfs/lfs_subr.c, 1.16--1.17   (check for locked inodes before
                                 changing ;
                                 use btodb() instead of DEV_BSIZE, (c)
                                 2000)
ufs/lfs/lfs_syscalls.c, back out 1.41.4.2 (fvdl's ufs_hashlock fix);
then pull up          1.43       (use lfs_dmeta)
                      1.44--1.45 (restore fvdl's ufs_hashlock fix)
                      1.46--1.47 (fix lfs_avail leakage from sblock
                                 segments ;
                                 use UINO macros)
                      1.49       (bounds-check inode numbers in
                                 lfs_markv)
ufs/lfs/lfs_vfsops.c, 1.53       (use LFS_EST_* macros in lfs_statfs)
                      1.56--1.58 (initialize lfs_minfreeseg, lfs_effnblk ;
                                 initialize lfs_uinodes ;
                                 initialize lfs_ravail)
ufs/lfs/lfs_vnops.c, 1.40        (remove VDIROP from removed files)
                     1.42--1.44  (move SET_ENDOP below the removal of
                                 VDIROP ;
                                 use UINO macros and add lfs_itimes
                                 function ;
                                 use lfs_reserve in dirops)

Revision 1.73 / (download) - annotate - [select for diffs], Thu Aug 3 20:41:37 2000 UTC (23 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.72: +10 -11 lines
Diff to previous 1.72 (colored) to selected 1.95 (colored)

Convert namei pathname buffer allocation to use the pool allocator.

Revision 1.68.2.1 / (download) - annotate - [select for diffs], Sun Jul 30 20:39:00 2000 UTC (23 years, 8 months ago) by jdolecek
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-ALPHA2
Changes since 1.68: +2 -3 lines
Diff to previous 1.68 (colored) to selected 1.95 (colored)

Pullup from trunk (approved by thorpej):
Change lf_advlock() to:
int      lf_advlock (struct vop_advlock_args *, struct lockf **, off_t)

This matches it's usage. Change inspired by FreeBSD, though we use
off_t instead u_quad_t as the last argument.

sys/lockf.h			rev. 1.9
msdosfs/msdosfs_vnops.c		rev. 1.99
kern/vfs_lockf.c		rev. 1.17
miscfs/specfs/spec_vnops.c	rev. 1.49
nfs/nfs_vnops.c			rev. 1.115
ufs/ext2fs/ext2fs_vnops.c	rev. 1.28
ufs/ufs/ufs_vnops.c		rev. 1.72

Revision 1.72 / (download) - annotate - [select for diffs], Sat Jul 22 15:26:16 2000 UTC (23 years, 8 months ago) by jdolecek
Branch: MAIN
Changes since 1.71: +2 -3 lines
Diff to previous 1.71 (colored) to selected 1.95 (colored)

change the lf_advlock() arguments from

int     lf_advlock __P((struct lockf **,
           off_t, caddr_t, int, struct flock *, int));
to

int     lf_advlock __P((struct vop_advlock_args *, struct lockf **, off_t));

This matches common usage and is also compatible with similar change
in FreeBSD (though they use u_quad_t as last arg).

Revision 1.71 / (download) - annotate - [select for diffs], Wed Jul 5 22:25:45 2000 UTC (23 years, 8 months ago) by perseant
Branch: MAIN
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored) to selected 1.95 (colored)

Clean up accounting of lfs_uinodes (dirty but unwritten inodes).

Make lfs_uinodes a signed quantity for debugging purposes, and set it to
zero as fs mount time.

Enclose setting/clearing of the dirty flags (IN_MODIFIED, IN_ACCESSED,
IN_CLEANING) in macros, and use those macros everywhere.  Make
LFS_ITIMES use these macros; updated the ITIMES macro in inode.h to know
about this.  Make ufs_getattr use ITIMES instead of FFS_ITIMES.

Revision 1.70 / (download) - annotate - [select for diffs], Wed Jun 28 14:16:43 2000 UTC (23 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.69: +1 -5 lines
Diff to previous 1.69 (colored) to selected 1.95 (colored)

remove include of <vm/vm.h> and <uvm/uvm_extern.h>

Revision 1.69 / (download) - annotate - [select for diffs], Tue Jun 27 20:57:19 2000 UTC (23 years, 9 months ago) by perseant
Branch: MAIN
Changes since 1.68: +11 -1 lines
Diff to previous 1.68 (colored) to selected 1.95 (colored)

Fixes associated with filling an LFS:

Change the space computation to appear to change the size of the *disk*
rather than the *bytes used* when more segment summaries and inode
blocks are written.  Try to estimate the amount of space that these will
take up when more files are written, so the disk size doesn't change too
much.

Regularize error returns from lfs_valloc, lfs_balloc, lfs_truncate: they
now fail entirely, rather than succeeding half-way and leaving the fs in
an inconsistent state.

Rewrite lfs_truncate, mostly stealing from ffs_truncate.  The old
lfs_truncate had difficulty truncating a large file to a non-zero size
(indirect blocks were not handled appropriately).

Unmark VDIROP on fvp after ufs_remove, ufs_rmdir, so these can be
reclaimed immediately: this vnode would not be written to disk again
anyway if the removal succeeded, and if it failed, no directory
operation occurred.

ufs_makeinode and ufs_mkdir now remove IN_ADIROP on error.

Revision 1.66.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:10:41 2000 UTC (23 years, 9 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored) next main 1.67 (colored) to selected 1.95 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.68 / (download) - annotate - [select for diffs], Tue May 30 17:40:12 2000 UTC (23 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-5-base
Branch point for: netbsd-1-5
Changes since 1.67: +2 -3 lines
Diff to previous 1.67 (colored) to selected 1.95 (colored)

Back out previous kluge.

Revision 1.67 / (download) - annotate - [select for diffs], Tue May 30 15:22:12 2000 UTC (23 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.66: +2 -1 lines
Diff to previous 1.66 (colored) to selected 1.95 (colored)

Mark an inode as changed after a rename. It wasn't before in the softdep
case, which created inodes with dependencies, but no IN_* flag set,
so the dependencies were never flushed (after the waitfor check in
ffs_update was removed).

Revision 1.66 / (download) - annotate - [select for diffs], Sat May 13 23:43:16 2000 UTC (23 years, 10 months ago) by perseant
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.65: +10 -9 lines
Diff to previous 1.65 (colored) to selected 1.95 (colored)

Change the sementics of the last parameter from a boolean ("waitfor") to
a set of flags ("flags").  Two flags are defined, UPDATE_WAIT and
UPDATE_DIROP.

Under the old semantics, VOP_UPDATE would block if waitfor were set,
under the assumption that directory operations should be done
synchronously.  At least LFS and FFS+softdep do not make this
assumption; FFS+softdep got around the problem by enclosing all relevant
calls to VOP_UPDATE in a "if(!DOINGSOFTDEP(vp))", while LFS simply
ignored waitfor, one of the reasons why NFS-serving an LFS filesystem
did not work properly.

Under the new semantics, the UPDATE_DIROP flag is a hint to the
fs-specific update routine that the call comes from a dirop routine, and
should be wait for, or not, accordingly.

Closes PR#8996.

Revision 1.65 / (download) - annotate - [select for diffs], Fri May 5 20:59:20 2000 UTC (23 years, 10 months ago) by perseant
Branch: MAIN
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) to selected 1.95 (colored)

Change the way LFS does block accounting, from trying to infer from the
buffer cache flags, to marking the inode and/or indirect blocks with a
special disk address UNWRITTEN==-2 when a block is accounted for.  (This
address is never written to disk, but only used in-core.  This is essentially
the same method of block accounting as on the UBC branch, where the buffer
headers don't exist.)  Make sure that truncation is handled properly,
especially in the case of holey files.

Fixes PR#9994.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Mar 30 12:41:15 2000 UTC (24 years ago) by augustss
Branch: MAIN
Changes since 1.63: +32 -32 lines
Diff to previous 1.63 (colored) to selected 1.95 (colored)

Remove register declarations.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Mar 30 02:49:11 2000 UTC (24 years ago) by simonb
Branch: MAIN
Changes since 1.62: +1 -5 lines
Diff to previous 1.62 (colored) to selected 1.95 (colored)

Delete redundant decls of fifo_vnodeop_p - it's in <miscfs/fifofs/fifo.h>.
Don't need <sys/conf.h> here.

Revision 1.62 / (download) - annotate - [select for diffs], Mon Feb 14 22:00:23 2000 UTC (24 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.61: +51 -23 lines
Diff to previous 1.61 (colored) to selected 1.95 (colored)

Fixes to the softdep code from Ethan Solomita <ethan@geocast.com>.
* Fix buffer ordering when it has dependencies.
* Alleviate memory problems.
* Deal with some recursive vnode locks (sigh).
* Fix other bugs.

Revision 1.58.8.2 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:42 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.58.8.1: +224 -190 lines
Diff to previous 1.58.8.1 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored) to selected 1.95 (colored)

Pull up to last week's -current.

Revision 1.58.8.1 / (download) - annotate - [select for diffs], Tue Dec 21 23:20:11 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored) to selected 1.95 (colored)

Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".

Revision 1.57.2.1 / (download) - annotate - [select for diffs], Thu Dec 16 23:11:46 1999 UTC (24 years, 3 months ago) by he
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH003, netbsd-1-4-PATCH002
Changes since 1.57: +19 -14 lines
Diff to previous 1.57 (colored) next main 1.58 (colored) to selected 1.95 (colored)

Pull up revision 1.61 (requested by wrstuden):
  Fix PR#8491: two simultaneous and identical renames would cause
  a kernel panic.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Dec 13 19:07:21 1999 UTC (24 years, 3 months ago) by wrstuden
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.60: +19 -14 lines
Diff to previous 1.60 (colored) to selected 1.95 (colored)

Modify ufs_rename() to a) be more careful about reference counts (we no longer
depend on the initial lookups being doen with SAVESTART), and b) check
return values for errors.

Should fix PR 8491 for ufs - two simultaneous identical renames will now
work correctly. One will succeed, one will fail.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Nov 16 03:06:06 1999 UTC (24 years, 4 months ago) by lukem
Branch: MAIN
Changes since 1.59: +3 -2 lines
Diff to previous 1.59 (colored) to selected 1.95 (colored)

fix lp64 lossage

Revision 1.59 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:15 1999 UTC (24 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.58: +205 -177 lines
Diff to previous 1.58 (colored) to selected 1.95 (colored)

Add Kirk McKusick's soft updates code to the trunk. Not enabled by
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.

Bump version number to 1.4O

Revision 1.58.4.2 / (download) - annotate - [select for diffs], Wed Oct 27 12:38:52 1999 UTC (24 years, 5 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.58.4.1: +2 -2 lines
Diff to previous 1.58.4.1 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored) to selected 1.95 (colored)

Fix a case where ffs_update should not be called to do its work
synchronously when softdepencies are active.

Revision 1.58.4.1 / (download) - annotate - [select for diffs], Tue Oct 19 12:50:54 1999 UTC (24 years, 5 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.58: +204 -176 lines
Diff to previous 1.58 (colored) to selected 1.95 (colored)

Bring in Kirk McKusick's FFS softdep code on a branch.

Revision 1.57.4.3 / (download) - annotate - [select for diffs], Mon Aug 2 22:58:22 1999 UTC (24 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.57.4.2: +4 -54 lines
Diff to previous 1.57.4.2 (colored) to branchpoint 1.57 (colored) next main 1.58 (colored) to selected 1.95 (colored)

Update from trunk.

Revision 1.57.4.2 / (download) - annotate - [select for diffs], Sun Jul 11 05:44:00 1999 UTC (24 years, 8 months ago) by chs
Branch: chs-ubc2
Changes since 1.57.4.1: +1 -3 lines
Diff to previous 1.57.4.1 (colored) to branchpoint 1.57 (colored) to selected 1.95 (colored)

remove uvm_vnp_uncache(), it's no longer needed.

Revision 1.58 / (download) - annotate - [select for diffs], Thu Jul 8 01:06:07 1999 UTC (24 years, 8 months ago) by wrstuden
Branch: MAIN
CVS Tags: fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.57: +4 -54 lines
Diff to previous 1.57 (colored) to selected 1.95 (colored)

Modify file systems to deal with struct lock in struct vnode. All leaf
fs's other than nfs use genfs_lock() for locking.

Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.

Revision 1.57.4.1 / (download) - annotate - [select for diffs], Sun Jul 4 01:56:30 1999 UTC (24 years, 9 months ago) by chs
Branch: chs-ubc2
Changes since 1.57: +5 -3 lines
Diff to previous 1.57 (colored) to selected 1.95 (colored)

check for bcount being 0 in ufs_strategy().
some casting tidyness.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:31 1999 UTC (25 years ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH001, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: netbsd-1-4, chs-ubc2
Changes since 1.56: +1 -8 lines
Diff to previous 1.56 (colored) to selected 1.95 (colored)

completely remove Mach VM support.  all that is left is the all the
header files as UVM still uses (most of) these.

Revision 1.56 / (download) - annotate - [select for diffs], Mon Mar 22 19:21:10 1999 UTC (25 years ago) by kleink
Branch: MAIN
Changes since 1.55: +4 -1 lines
Diff to previous 1.55 (colored) to selected 1.95 (colored)

Add _PC_FILESIZEBITS to pathconf vnop.

Revision 1.55 / (download) - annotate - [select for diffs], Fri Mar 5 21:09:50 1999 UTC (25 years ago) by mycroft
Branch: MAIN
Changes since 1.54: +8 -16 lines
Diff to previous 1.54 (colored) to selected 1.95 (colored)

Pass null pointers to VOP_UPDATE rather than having all the callers fetch the
current time themselves.

Revision 1.54 / (download) - annotate - [select for diffs], Fri Feb 26 07:30:01 1999 UTC (25 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.53: +6 -1 lines
Diff to previous 1.53 (colored) to selected 1.95 (colored)

pull across patches from warner losh <imp@freebsd.org> (freebsd ufs_vnops.c
versions 1.109&1.110), adjusted for our ext2fs support, and also commited
there also.  this avoids overflowing the link count.

Revision 1.53 / (download) - annotate - [select for diffs], Tue Dec 1 23:18:48 1998 UTC (25 years, 4 months ago) by kenh
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.52: +5 -7 lines
Diff to previous 1.52 (colored) to selected 1.95 (colored)

Update device special file modification times if NODEVMTIME isn't set.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Fri Nov 6 23:06:41 1998 UTC (25 years, 4 months ago) by cgd
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored) next main 1.32 (colored) to selected 1.95 (colored)

Show correct number of blocks used for files larger than 2GB.
Fixed in trunk as part of Lite-2 merging.  (cgd)

Revision 1.52 / (download) - annotate - [select for diffs], Fri Nov 6 23:03:06 1998 UTC (25 years, 4 months ago) by cgd
Branch: MAIN
CVS Tags: chs-ubc-base, chs-ubc
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored) to selected 1.95 (colored)

cast arg to dbtob to u_quad_t; consisent, and fixed size unnecessary

Revision 1.51 / (download) - annotate - [select for diffs], Tue Sep 8 08:37:12 1998 UTC (25 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.50: +3 -3 lines
Diff to previous 1.50 (colored) to selected 1.95 (colored)

Fix some maxsymlinklen comparisons for old filesystems that were
wrong after the byteswap changes.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Sep 8 08:21:12 1998 UTC (25 years, 6 months ago) by fvdl
Branch: MAIN
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored) to selected 1.95 (colored)

Correct maxsymlink comparison for old filesystems that was clobbered in
byteswap changes.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Sep 4 16:04:26 1998 UTC (25 years, 6 months ago) by kenh
Branch: MAIN
Changes since 1.48: +5 -1 lines
Diff to previous 1.48 (colored) to selected 1.95 (colored)

Add a NODEVMTIME compile-time option.  This will inhibit the updating
of modification times on device special files.  Probably only useful
for low-power systems.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Aug 30 00:16:04 1998 UTC (25 years, 7 months ago) by rvb
Branch: MAIN
Changes since 1.47: +1 -4 lines
Diff to previous 1.47 (colored) to selected 1.95 (colored)

Remove v_type != DIR check.  First, vn_readdir already does
this check, before calling VOP_READDIR.  Second, vn_readdir
returns a different error even.  Finally, some FS's might
want to write their directories into files that look like
BSD directories and then have ufs_readdir parse them.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Aug 10 08:11:14 1998 UTC (25 years, 7 months ago) by matthias
Branch: MAIN
Changes since 1.46: +1 -19 lines
Diff to previous 1.46 (colored) to selected 1.95 (colored)

create miscfs/genfs/genfs_vnops.c:genfs_enoioctl and make all the other
filesystems use it instead of a private version.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Aug 9 20:15:40 1998 UTC (25 years, 7 months ago) by perry
Branch: MAIN
Changes since 1.45: +3 -3 lines
Diff to previous 1.45 (colored) to selected 1.95 (colored)

bzero->memset, bcopy->memcpy, bcmp->memcmp

Revision 1.45 / (download) - annotate - [select for diffs], Mon Aug 3 14:19:58 1998 UTC (25 years, 8 months ago) by kleink
Branch: MAIN
Changes since 1.44: +4 -1 lines
Diff to previous 1.44 (colored) to selected 1.95 (colored)

Recognize _PC_SYNC_IO.

Revision 1.44 / (download) - annotate - [select for diffs], Tue Jul 28 18:23:56 1998 UTC (25 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.43: +5 -5 lines
Diff to previous 1.43 (colored) to selected 1.95 (colored)

Don't cast the null residual pointer passed to vn_rdwr().

Revision 1.43 / (download) - annotate - [select for diffs], Wed Jun 24 20:58:49 1998 UTC (25 years, 9 months ago) by sommerfe
Branch: MAIN
Changes since 1.42: +1 -10 lines
Diff to previous 1.42 (colored) to selected 1.95 (colored)

Always include fifos; "not an option any more".

Revision 1.42 / (download) - annotate - [select for diffs], Mon Jun 22 22:01:11 1998 UTC (25 years, 9 months ago) by sommerfe
Branch: MAIN
Changes since 1.41: +2 -1 lines
Diff to previous 1.41 (colored) to selected 1.95 (colored)

defopt for options FIFO

Revision 1.41 / (download) - annotate - [select for diffs], Sat Jun 13 16:26:23 1998 UTC (25 years, 9 months ago) by kleink
Branch: MAIN
Changes since 1.40: +32 -33 lines
Diff to previous 1.40 (colored) to selected 1.95 (colored)

KNF, mostly of FFS_EI changes.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Jun 8 04:27:52 1998 UTC (25 years, 9 months ago) by scottr
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored) to selected 1.95 (colored)

Use the newly-defined opt_quota.h.

Revision 1.39 / (download) - annotate - [select for diffs], Fri May 8 18:31:13 1998 UTC (25 years, 10 months ago) by kleink
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored) to selected 1.95 (colored)

Fix some arithmetics lossage on typeless pointers.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Mar 18 15:57:29 1998 UTC (26 years ago) by bouyer
Branch: MAIN
Changes since 1.37: +91 -54 lines
Diff to previous 1.37 (colored) to selected 1.95 (colored)

Add support for reading/writing FFS in non-native byte order, conditioned
to "options FFS_EI". The superblock and inodes (without blk addr) are
byteswapped at disk read/write time, other metadatas are byteswapped
when used (as they are acceeded directly in the buffer cache).
This required the addition of a "um_flags" field to struct ufsmount.
ffs_bswap.c contains superblock and inode byteswap routines also used
by userland utilities.

Revision 1.37 / (download) - annotate - [select for diffs], Tue Mar 10 11:56:40 1998 UTC (26 years ago) by kleink
Branch: MAIN
Changes since 1.36: +13 -2 lines
Diff to previous 1.36 (colored) to selected 1.95 (colored)

Move the permission check in vfs_syscalls.c::change_owner() back to
ufs_chown() again - the facility required in this context would be a
filesystem-specific super-user determination, which is not available yet.

Revision 1.36 / (download) - annotate - [select for diffs], Mon Mar 2 22:26:14 1998 UTC (26 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored) to selected 1.95 (colored)

A cookie should point to the *next* entry. Grrr.

Revision 1.1.1.3 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:56:14 1998 UTC (26 years, 1 month ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: post-lite-2
Changes since 1.1.1.2: +2 -2 lines
Diff to previous 1.1.1.2 (colored) to selected 1.95 (colored)

Import some files that were changed after Lite2

Revision 1.35 / (download) - annotate - [select for diffs], Sun Mar 1 02:23:38 1998 UTC (26 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.34: +124 -134 lines
Diff to previous 1.34 (colored) to selected 1.95 (colored)

Merge with Lite2 + local changes

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:14:08 1998 UTC (26 years, 1 month ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-2
Changes since 1.1.1.1: +233 -293 lines
Diff to previous 1.1.1.1 (colored) to selected 1.95 (colored)

Import 4.4BSD-Lite2

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:10:52 1998 UTC (26 years, 1 month ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1: +236 -42 lines
Diff to previous 1.1 (colored) to selected 1.95 (colored)

Import 4.4BSD-Lite for reference

Revision 1.34 / (download) - annotate - [select for diffs], Sat Feb 14 19:56:30 1998 UTC (26 years, 1 month ago) by kleink
Branch: MAIN
Changes since 1.33: +4 -18 lines
Diff to previous 1.33 (colored) to selected 1.95 (colored)

Move some permission-checking code for file owner/group changes up to
vfs_syscalls.c::change_owner().  Also, always update the inode's change time
if the operation succeeds.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Feb 10 14:11:00 1998 UTC (26 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.32: +3 -1 lines
Diff to previous 1.32 (colored) to selected 1.95 (colored)

- add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Feb 5 08:00:36 1998 UTC (26 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.31: +9 -1 lines
Diff to previous 1.31 (colored) to selected 1.95 (colored)

initial import of the new virtual memory system, UVM, into -current.

UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)

Revision 1.28.4.1 / (download) - annotate - [select for diffs], Tue Oct 14 16:06:30 1997 UTC (26 years, 5 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored) next main 1.29 (colored) to selected 1.95 (colored)

Update marc-pcmcia branch from trunk.

Revision 1.31 / (download) - annotate - [select for diffs], Sat Oct 11 00:10:57 1997 UTC (26 years, 5 months ago) by enami
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, marc-pcmcia-base
Branch point for: netbsd-1-3
Changes since 1.30: +2 -6 lines
Diff to previous 1.30 (colored) to selected 1.95 (colored)

Backout last change for ufs_readlink.  The permission check is now done
in vfs layer.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Oct 10 02:13:42 1997 UTC (26 years, 5 months ago) by fvdl
Branch: MAIN
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored) to selected 1.95 (colored)

Last arg to VOP_READDIR became off_t.

Revision 1.29 / (download) - annotate - [select for diffs], Fri Oct 3 16:45:49 1997 UTC (26 years, 6 months ago) by enami
Branch: MAIN
Changes since 1.28: +6 -2 lines
Diff to previous 1.28 (colored) to selected 1.95 (colored)

In the function ufs_readlink(), check read permission before
reading link.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jun 30 20:16:31 1997 UTC (26 years, 9 months ago) by fvdl
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, bouyer-scsipi
Branch point for: marc-pcmcia
Changes since 1.27: +2 -6 lines
Diff to previous 1.27 (colored) to selected 1.95 (colored)

Return EPERM for an attempt to remove a directory with VOP_REMOVE, not EISDIR.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Jun 26 22:23:17 1997 UTC (26 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.26: +4 -2 lines
Diff to previous 1.26 (colored) to selected 1.95 (colored)

Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft)

Revision 1.26 / (download) - annotate - [select for diffs], Wed Jun 11 10:10:19 1997 UTC (26 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.25: +113 -108 lines
Diff to previous 1.25 (colored) to selected 1.95 (colored)

Add support for ext2fs, this needed a few modifications to ufs/ufs/inode.h:
- added an "union inode_ext" to struct inode, for the per-fs extentions.
  For now only ext2fs uses it.
- i_din is now an union:
	union {
		struct  dinode ffs_din; /* 128 bytes of the on-disk dinode. */
		struct ext2fs_dinode e2fs_din; /* 128 bytes of the on-disk dinode. */
	} i_din
  Added a lot of #define i_ffs_* and i_e2fs_* to access the fields.
- Added two macros: FFS_ITIMES and EXT2FS_ITIMES. ITIMES calls the rigth
  macro, depending on the time of the inode. ITIMES is used where necessary,
  FFS_ITIMES and EXT2FS_ITIMES in other places.

Revision 1.25 / (download) - annotate - [select for diffs], Thu May 8 16:20:45 1997 UTC (26 years, 10 months ago) by mycroft
Branch: MAIN
Changes since 1.24: +5 -4 lines
Diff to previous 1.24 (colored) to selected 1.95 (colored)

Pass the vnode type to vaccess(), and use it when checking VEXEC.  Make sure
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.

Revision 1.24 / (download) - annotate - [select for diffs], Wed Apr 23 05:47:54 1997 UTC (26 years, 11 months ago) by mikel
Branch: MAIN
Changes since 1.23: +4 -1 lines
Diff to previous 1.23 (colored) to selected 1.95 (colored)

return EPERM from ufs_setattr() if an attempt is made by non-superuser
  to change superuser-only file flags; fixes PR kern/3491.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Mar 27 07:30:25 1997 UTC (27 years ago) by mikel
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) to selected 1.95 (colored)

POSIX.1 specifies that a failed link() to a directory must return EPERM,
  and EMLINK was not documented; from Klaus Klein in PR standards/3397.
Also documented EOPNOTSUPP for filesystems that don't support hard links.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Jan 30 09:52:27 1997 UTC (27 years, 2 months ago) by tls
Branch: MAIN
CVS Tags: mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.21: +3 -2 lines
Diff to previous 1.21 (colored) to selected 1.95 (colored)

add support for noatime mount flag

Revision 1.21 / (download) - annotate - [select for diffs], Sat Oct 12 21:58:58 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: thorpej-setroot
Changes since 1.20: +7 -7 lines
Diff to previous 1.20 (colored) to selected 1.95 (colored)

revert previous kprintf changes

Revision 1.20 / (download) - annotate - [select for diffs], Thu Oct 10 17:21:36 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.19: +8 -8 lines
Diff to previous 1.19 (colored) to selected 1.95 (colored)

printf -> kprintf, sprintf -> ksprintf

Revision 1.19 / (download) - annotate - [select for diffs], Sun Sep 1 23:49:43 1996 UTC (27 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.18: +19 -69 lines
Diff to previous 1.18 (colored) to selected 1.95 (colored)

Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.

Revision 1.18 / (download) - annotate - [select for diffs], Sat May 11 18:28:04 1996 UTC (27 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Changes since 1.17: +17 -22 lines
Diff to previous 1.17 (colored) to selected 1.95 (colored)

Change VOP_UPDATE() semantics:
* Make 2nd and 3rd args timespecs, not timevals.
* Consistently pass a Boolean as the 4th arg (except in LFS).
Also, fix ffs_update() and lfs_update() to actually change the nsec fields.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Feb 11 02:06:13 1996 UTC (28 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.16: +2 -5 lines
Diff to previous 1.16 (colored) to selected 1.95 (colored)

put back traditional symlink change that somehow got lost.

Revision 1.16 / (download) - annotate - [select for diffs], Fri Feb 9 23:30:19 1996 UTC (28 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored) to selected 1.95 (colored)

cross that t and dot that i. Typo in last commit.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Feb 9 22:36:13 1996 UTC (28 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.14: +213 -146 lines
Diff to previous 1.14 (colored) to selected 1.95 (colored)

ufs prototype changes

Revision 1.14 / (download) - annotate - [select for diffs], Fri Feb 9 14:46:08 1996 UTC (28 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.13: +24 -15 lines
Diff to previous 1.13 (colored) to selected 1.95 (colored)

Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Feb 7 17:01:25 1996 UTC (28 years, 1 month ago) by jtc
Branch: MAIN
Changes since 1.12: +2 -5 lines
Diff to previous 1.12 (colored) to selected 1.95 (colored)

Revert to sane symlink semantics.  This is something we should have done
long ago.  Fixes many PRs.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Feb 1 00:09:07 1996 UTC (28 years, 2 months ago) by jtc
Branch: MAIN
Changes since 1.11: +14 -14 lines
Diff to previous 1.11 (colored) to selected 1.95 (colored)

Rename struct timespec fields to conform to POSIX.1b

Revision 1.11 / (download) - annotate - [select for diffs], Mon Oct 9 11:19:32 1995 UTC (28 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored) to selected 1.95 (colored)

Correct a comment regarding cookies, from Greg Hudson.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Jun 15 23:22:51 1995 UTC (28 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.9: +7 -4 lines
Diff to previous 1.9 (colored) to selected 1.95 (colored)

compensate for timeval/timespec/stat structure changes.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Jan 3 01:23:50 1995 UTC (29 years, 3 months ago) by cgd
Branch: MAIN
Changes since 1.8: +14 -10 lines
Diff to previous 1.8 (colored) to selected 1.95 (colored)

fix pr 568

Revision 1.8 / (download) - annotate - [select for diffs], Tue Dec 27 19:55:24 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +3 -1 lines
Diff to previous 1.7 (colored) to selected 1.95 (colored)

Clear IN_RENAME on failed rename of directory.

Revision 1.7 / (download) - annotate - [select for diffs], Sat Dec 24 16:44:45 1994 UTC (29 years, 3 months ago) by ws
Branch: MAIN
Changes since 1.6: +4 -42 lines
Diff to previous 1.6 (colored) to selected 1.95 (colored)

Implement and use a common access checking routine

Revision 1.6 / (download) - annotate - [select for diffs], Wed Dec 14 13:04:03 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.5: +69 -9 lines
Diff to previous 1.5 (colored) to selected 1.95 (colored)

Sync with CSRG.

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Wed Nov 23 08:50:13 1994 UTC (29 years, 4 months ago) by cgd
Branch: netbsd-1-0
CVS Tags: netbsd-1-0-PATCH06, netbsd-1-0-PATCH05
Changes since 1.3.2.2: +1 -4 lines
Diff to previous 1.3.2.2 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.95 (colored)

from mycroft, for patch_05

Revision 1.5 / (download) - annotate - [select for diffs], Sun Oct 30 21:50:17 1994 UTC (29 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored) to selected 1.95 (colored)

be more careful with types, also pull in headers where necessary.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Oct 20 04:21:25 1994 UTC (29 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.3: +10 -7 lines
Diff to previous 1.3 (colored) to selected 1.95 (colored)

update for new syscall args description mechanism, and deal safely
with wider types.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Wed Oct 19 07:01:13 1994 UTC (29 years, 5 months ago) by cgd
Branch: netbsd-1-0
CVS Tags: netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0
Changes since 1.3.2.1: +2 -2 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) to selected 1.95 (colored)

fix that sanity check.

Revision 1.3.2.1 / (download) - annotate - [select for diffs], Wed Oct 19 04:29:52 1994 UTC (29 years, 5 months ago) by cgd
Branch: netbsd-1-0
Changes since 1.3: +4 -1 lines
Diff to previous 1.3 (colored) to selected 1.95 (colored)

temporary sanity checks, as suggested by charles.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 29 06:47:34 1994 UTC (29 years, 9 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-0-base
Branch point for: netbsd-1-0
Changes since 1.2: +3 -2 lines
Diff to previous 1.2 (colored) to selected 1.95 (colored)

New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.2 / (download) - annotate - [select for diffs], Tue Jun 14 22:56:42 1994 UTC (29 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored) to selected 1.95 (colored)

Fix compatibility with old fastlinks.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Jun 8 11:43:24 1994 UTC (29 years, 9 months ago) by mycroft
Branch: MAIN
Diff to selected 1.95 (colored)

Update to 4.4-Lite fs code, with local changes.

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.




CVSweb <webmaster@jp.NetBSD.org>