The NetBSD Project

CVS log for src/sys/ufs/ffs/ffs_alloc.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.147 / (download) - annotate - [select for diffs], Mon Sep 8 20:52:37 2014 UTC (3 months, 1 week ago) by joerg
Branch: MAIN
CVS Tags: nick-nhusb-base, nick-nhusb, HEAD
Changes since 1.146: +4 -3 lines
Diff to previous 1.146 (colored)

Prefer cprng_fast32 over random. A good distribution even in the lower
bits beat any minor performance advantage randomo(9) might have,
especially given the disk IO involved.

Revision 1.130.8.4 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:44 2014 UTC (3 months, 4 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.130.8.3: +78 -97 lines
Diff to previous 1.130.8.3 (colored) to branchpoint 1.130 (colored) next main 1.131 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.145.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:58 2014 UTC (4 months, 1 week ago) by tls
Branch: tls-earlyentropy
Changes since 1.145: +12 -18 lines
Diff to previous 1.145 (colored) next main 1.146 (colored)

Rebase.

Revision 1.146 / (download) - annotate - [select for diffs], Fri Jul 25 08:24:31 2014 UTC (4 months, 3 weeks ago) by dholland
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base, netbsd-7
Changes since 1.145: +12 -18 lines
Diff to previous 1.145 (colored)

Switch the FFS code for discarding free blocks to use VOP_FDISCARD.

Revision 1.129.2.4 / (download) - annotate - [select for diffs], Thu May 22 11:41:18 2014 UTC (6 months, 4 weeks ago) by yamt
Branch: yamt-pagecache
Changes since 1.129.2.3: +83 -96 lines
Diff to previous 1.129.2.3 (colored) to branchpoint 1.129 (colored) next main 1.130 (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.138.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:21 2014 UTC (7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.138: +23 -36 lines
Diff to previous 1.138 (colored) next main 1.139 (colored)

sync with head

Revision 1.145 / (download) - annotate - [select for diffs], Tue Nov 12 03:29:22 2013 UTC (13 months ago) by dholland
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.144: +4 -4 lines
Diff to previous 1.144 (colored)

clarify warning printout

Revision 1.113.4.3 / (download) - annotate - [select for diffs], Tue Oct 29 10:04:12 2013 UTC (13 months, 2 weeks ago) by sborrill
Branch: netbsd-5
Changes since 1.113.4.2: +12 -9 lines
Diff to previous 1.113.4.2 (colored) to branchpoint 1.113 (colored) next main 1.114 (colored)

Pull up the following revisions(s) (requested by bad in ticket #1888):
	sys/ufs/ffs/ffs_alloc.c:	revision 1.144 via patch

Pull in fix from FreeBSD ffs_alloc.c r121785:
Consider only cylinder groups with at least 75% of the average free space
per cylinder group and 75% of the average free inodes per cylinder group
as candidates for the creation of a new directory.  Avoids excessive I/O
scanning for a suitable cylinder group on relatively full file systems.

Revision 1.130.4.1 / (download) - annotate - [select for diffs], Tue Oct 29 09:51:30 2013 UTC (13 months, 2 weeks ago) by sborrill
Branch: netbsd-6
Changes since 1.130: +12 -9 lines
Diff to previous 1.130 (colored) next main 1.131 (colored)

Pull up the following revisions(s) (requested by bad in ticket #978):
	sys/ufs/ffs/ffs_alloc.c:	revision 1.144

Pull in fix from FreeBSD ffs_alloc.c r121785:
Consider only cylinder groups with at least 75% of the average free space
per cylinder group and 75% of the average free inodes per cylinder group
as candidates for the creation of a new directory.  Avoids excessive I/O
scanning for a suitable cylinder group on relatively full file systems.

Revision 1.144 / (download) - annotate - [select for diffs], Mon Oct 28 21:32:52 2013 UTC (13 months, 3 weeks ago) by bad
Branch: MAIN
Changes since 1.143: +12 -9 lines
Diff to previous 1.143 (colored)

Pull in fix from FreeBSD ffs_alloc.c r121785:
Consider only cylinder groups with at least 75% of the average free space
per cylinder group and 75% of the average free inodes per cylinder group
as candidates for the creation of a new directory.  Avoids excessive I/O
scanning for a suitable cylinder group on relatively full file systems.

Tested by sborril and me.

Pullup: netbsd-6, netbsd-5


Original commit message:

Tweak the calculation of minbfree in ffs_dirpref() so that only
those cylinder groups that have at least 75% of the average free
space per cylinder group for that file system are considered as
candidates for the creation of a new directory.  The previous formula
for minbfree would set it to zero if the file system was more than
75% full, which allowed cylinder groups with no free space at all
to be chosen as candidates for directory creation, which resulted
in an expensive search for free blocks for each file that was
subsequently created in that directory.

Modify the calculation of minifree in the same way.

Decrease maxcontigdirs as the file system fills to decrease the
likelyhood that a cluster of directories will overflow the available
space in a cylinder group.

Reviewed by:	mckusick
Tested by:	kmarx@vicor.com
MFC after:	2 weeks

Revision 1.143 / (download) - annotate - [select for diffs], Sun Oct 20 00:20:53 2013 UTC (13 months, 4 weeks ago) by christos
Branch: MAIN
Changes since 1.142: +2 -18 lines
Diff to previous 1.142 (colored)

always declare needswap

Revision 1.142 / (download) - annotate - [select for diffs], Sun Oct 20 00:00:51 2013 UTC (13 months, 4 weeks ago) by christos
Branch: MAIN
Changes since 1.141: +2 -4 lines
Diff to previous 1.141 (colored)

always declare needswap

Revision 1.141 / (download) - annotate - [select for diffs], Sat Oct 19 19:20:50 2013 UTC (13 months, 4 weeks ago) by martin
Branch: MAIN
Changes since 1.140: +3 -6 lines
Diff to previous 1.140 (colored)

Eliminate a variable only used in diagnostic kernels

Revision 1.140 / (download) - annotate - [select for diffs], Mon Sep 30 18:58:00 2013 UTC (14 months, 2 weeks ago) by hannken
Branch: MAIN
Changes since 1.139: +4 -4 lines
Diff to previous 1.139 (colored)

Replace macro v_specmountpoint with two functions spec_node_getmountedfs()
and spec_node_setmountedfs() to manage the file system mounted on a device.
Assert the device is a block device.

Welcome to 6.99.24

Discussed on tech-kern@ some time ago.

Reviewed by: David Holland <dholland@netbsd.org>

Revision 1.139 / (download) - annotate - [select for diffs], Thu Sep 12 20:00:15 2013 UTC (15 months ago) by martin
Branch: MAIN
Changes since 1.138: +8 -3 lines
Diff to previous 1.138 (colored)

#ifdef a variable just like their use

Revision 1.138 / (download) - annotate - [select for diffs], Sun Jun 23 22:03:34 2013 UTC (17 months, 3 weeks 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.137: +22 -22 lines
Diff to previous 1.137 (colored)

Stick ffs_ in front of the following macros:
   fragstoblks()
   blkstofrags()
   fragnum()
   blknum()

to finish the job of distinguishing them from the lfs versions, which
Christos renamed the other day.

I believe this is the last of the overtly ambiguous exported symbols
from ffs... or at least, the last of the ones that conflicted with lfs.
ffs still pollutes the C namespace very broadly (as does ufs) and this
needs quite a bit more cleanup.

XXX: boo on macros with lowercase names. But I'm not tackling that just yet.

Revision 1.137 / (download) - annotate - [select for diffs], Sun Jun 23 07:28:37 2013 UTC (17 months, 3 weeks ago) by dholland
Branch: MAIN
Changes since 1.136: +22 -22 lines
Diff to previous 1.136 (colored)

Stick ffs_, ext2_, chfs_, filecore_, cd9660_, or mfs_ in front of
the following symbols so as to disambiguate fully. (Christos already
did the lfs ones.)

   lblkno
   lblktosize
   lfragtosize
   numfrags
   blkroundup
   fragroundup

Revision 1.130.8.3 / (download) - annotate - [select for diffs], Sun Jun 23 06:18:39 2013 UTC (17 months, 3 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.130.8.2: +13 -13 lines
Diff to previous 1.130.8.2 (colored) to branchpoint 1.130 (colored)

resync from head

Revision 1.136 / (download) - annotate - [select for diffs], Sun Jun 23 02:06:05 2013 UTC (17 months, 3 weeks ago) by dholland
Branch: MAIN
Changes since 1.135: +16 -16 lines
Diff to previous 1.135 (colored)

fsbtodb() -> FFS_FSBTODB(), EXT2_FSBTODB(), or MFS_FSBTODB()
dbtofsb() -> FFS_DBTOFSB() or EXT2_DBTOFSB()

(Christos already did the lfs ones a few days back)

Revision 1.135 / (download) - annotate - [select for diffs], Wed Jun 19 18:02:21 2013 UTC (18 months ago) by dholland
Branch: MAIN
Changes since 1.134: +3 -3 lines
Diff to previous 1.134 (colored)

blkoff() -> ffs_blkoff() stragglers

Revision 1.134 / (download) - annotate - [select for diffs], Wed Jun 19 17:51:26 2013 UTC (18 months ago) by dholland
Branch: MAIN
Changes since 1.133: +12 -12 lines
Diff to previous 1.133 (colored)

Rename ambiguous macros:
   MAXDIRSIZE -> UFS_MAXDIRSIZE or LFS_MAXDIRSIZE
   NINDIR -> FFS_NINDIR, EXT2_NINDIR, LFS_NINDIR, or MFS_NINDIR
   INOPB -> FFS_INOPB, LFS_INOPB
   INOPF -> FFS_INOPF, LFS_INOPF
   blksize -> ffs_blksize, ext2_blksize, or lfs_blksize
   sblksize -> ffs_blksize

These are not the only ambiguously defined filesystem macros, of
course, there's a pile more. I may not have found all the ambiguous
definitions of blksize(), too, as there are a lot of other things
called 'blksize' in the system.

Revision 1.130.8.2 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:15 2013 UTC (21 months, 3 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.130.8.1: +8 -13 lines
Diff to previous 1.130.8.1 (colored) to branchpoint 1.130 (colored)

resync with head

Revision 1.129.2.3 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:32 2013 UTC (22 months, 3 weeks ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.129.2.2: +8 -13 lines
Diff to previous 1.129.2.2 (colored) to branchpoint 1.129 (colored)

sync with head

Revision 1.133 / (download) - annotate - [select for diffs], Tue Jan 22 09:39:15 2013 UTC (22 months, 3 weeks ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base8, khorben-n900, agc-symver-base, agc-symver
Changes since 1.132: +4 -4 lines
Diff to previous 1.132 (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.132 / (download) - annotate - [select for diffs], Thu Dec 20 08:03:44 2012 UTC (23 months, 4 weeks ago) by hannken
Branch: MAIN
Changes since 1.131: +6 -11 lines
Diff to previous 1.131 (colored)

Change bread() and breadn() to never return a buffer on
error and modify all callers to not brelse() on error.

Welcome to 6.99.16

PR kern/46282 (6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread)

Revision 1.130.8.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:02:53 2012 UTC (2 years ago) by tls
Branch: tls-maxphys
Changes since 1.130: +223 -11 lines
Diff to previous 1.130 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.129.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:22:59 2012 UTC (2 years, 1 month ago) by yamt
Branch: yamt-pagecache
Changes since 1.129.2.1: +223 -11 lines
Diff to previous 1.129.2.1 (colored) to branchpoint 1.129 (colored)

sync with head

Revision 1.131 / (download) - annotate - [select for diffs], Fri Oct 19 17:09:08 2012 UTC (2 years, 1 month ago) by drochner
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Changes since 1.130: +223 -11 lines
Diff to previous 1.130 (colored)

Implement experimental support to pass notifications that a file
was deleted from the filesystem to the disk driver, commonly
known as "discard" or "trim".
fs/driver support is in ffs and ata wd for now.
This is what was posted here:
http://mail-index.netbsd.org/tech-kern/2012/02/28/msg012813.html
with minor cleanup, and the global switch replaced by a mount option.

Revision 1.129.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:55 2012 UTC (2 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.129: +4 -3 lines
Diff to previous 1.129 (colored)

sync with head

Revision 1.130 / (download) - annotate - [select for diffs], Mon Nov 28 08:05:07 2011 UTC (3 years ago) by tls
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, 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, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp
Branch point for: tls-maxphys, netbsd-6
Changes since 1.129: +4 -3 lines
Diff to previous 1.129 (colored)

Remove arc4random() and arc4randbytes() from the kernel API.  Replace
arc4random() hacks in rump with stubs that call the host arc4random() to
get numbers that are hopefully actually random (arc4random() keyed with
stack junk is not).  This should fix some of the currently failing anita
tests -- we should no longer generate duplicate "random" MAC addresses in
the test environment.

Revision 1.129 / (download) - annotate - [select for diffs], Tue Sep 20 14:01:32 2011 UTC (3 years, 2 months ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.128: +42 -6 lines
Diff to previous 1.128 (colored)

strengthen the assertions about pages existing during block allocation,
which were incorrectly relaxed last year.  add some comments so that
the intent of these is hopefully clearer.

in ufs_balloc_range(), don't free pages or mark them dirty if
allocating their backing store failed.  this fixes PR 45369.

Revision 1.127.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:30 2011 UTC (3 years, 5 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.127: +6 -6 lines
Diff to previous 1.127 (colored) next main 1.128 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.128 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:00 2011 UTC (3 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.127: +4 -4 lines
Diff to previous 1.127 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.125.4.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:15 2011 UTC (3 years, 6 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.125: +13 -111 lines
Diff to previous 1.125 (colored) next main 1.126 (colored)

Sync with HEAD.

Revision 1.125.2.2 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:20 2011 UTC (3 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.125.2.1: +13 -111 lines
Diff to previous 1.125.2.1 (colored) to branchpoint 1.125 (colored) next main 1.126 (colored)

sync with head

Revision 1.127 / (download) - annotate - [select for diffs], Sun Mar 6 17:08:38 2011 UTC (3 years, 9 months ago) by bouyer
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.126: +7 -101 lines
Diff to previous 1.126 (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.126 / (download) - annotate - [select for diffs], Sun Mar 6 04:46:26 2011 UTC (3 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.125: +8 -12 lines
Diff to previous 1.125 (colored)

{ffs_nodealloccg,ext2fs_nodealloccg,ext2fs_mapsearch}: use XOR and ffs()
to find free bits in the inode and block bitmaps, instead of the loop.

Obtained from FreeBSD (changes by jhb).

Revision 1.125.6.1 / (download) - annotate - [select for diffs], Thu Jan 20 14:25:02 2011 UTC (3 years, 10 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.125: +7 -101 lines
Diff to previous 1.125 (colored) next main 1.126 (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.124.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:34 2010 UTC (4 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.124: +4 -6 lines
Diff to previous 1.124 (colored) next main 1.125 (colored)

Sync with HEAD.

Revision 1.113.4.1.2.1.2.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:28:25 2010 UTC (4 years, 8 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.113.4.1.2.1: +2 -2 lines
Diff to previous 1.113.4.1.2.1 (colored) next main 1.113.4.2 (colored)

sync to netbsd-5

Revision 1.125.2.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:14 2010 UTC (4 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.125: +6 -6 lines
Diff to previous 1.125 (colored)

Change struct uvm_object::vmobjlock to be dynamically allocated with
mutex_obj_alloc().  It allows us to share the locks among UVM objects.

Revision 1.106.12.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:44 2010 UTC (4 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.106.12.2: +4 -6 lines
Diff to previous 1.106.12.2 (colored) to branchpoint 1.106 (colored) next main 1.107 (colored)

sync with head

Revision 1.125 / (download) - annotate - [select for diffs], Sun Feb 21 13:55:58 2010 UTC (4 years, 9 months ago) by mlelstv
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: rmind-uvmplock, jruoho-x86intr, bouyer-quota2
Changes since 1.124: +4 -6 lines
Diff to previous 1.124 (colored)

For the UVM_PAGE_TRKOWN test do not require that the relevant pages
must exist.

Revision 1.106.12.2 / (download) - annotate - [select for diffs], Sat May 16 10:41:53 2009 UTC (5 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.106.12.1: +6 -4 lines
Diff to previous 1.106.12.1 (colored) to branchpoint 1.106 (colored)

sync with head

Revision 1.120.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:23:06 2009 UTC (5 years, 7 months ago) by jym
Branch: jym-xensuspend
Changes since 1.120: +21 -33 lines
Diff to previous 1.120 (colored) next main 1.121 (colored)

Sync with HEAD.

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

Revision 1.124 / (download) - annotate - [select for diffs], Thu May 7 19:26:09 2009 UTC (5 years, 7 months ago) by elad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, uebayasi-xip-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Branch point for: uebayasi-xip
Changes since 1.123: +6 -4 lines
Diff to previous 1.123 (colored)

Introduce several actions/requests for authorizing file-system related
operations, specifically quota and block allocation from reserved space.

Modify ufs_quotactl() to accomodate passing "mp" earlier by vfs_busy()ing
it a little bit higher.

Mailing list reference:

	http://mail-index.netbsd.org/tech-kern/2009/04/26/msg004936.html

Note that the umapfs request mentioned in this thread was NOT added as
there is still on-going discussion regarding the proper implementation.

Revision 1.113.4.2 / (download) - annotate - [select for diffs], Thu May 7 00:25:37 2009 UTC (5 years, 7 months ago) by snj
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, 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.113.4.1: +4 -4 lines
Diff to previous 1.113.4.1 (colored) to branchpoint 1.113 (colored)

Pull up following revision(s) (requested by sborrill in ticket #726):
	sys/ufs/ffs/ffs_alloc.c: revision 1.123 via patch
Fix random 'filesystem full' messages by trapping a couple of 32-bit
overflow areas missed in rev 1.110 and switching cgbase().
Kudos to rump_ffs!

Revision 1.113.4.1.2.1 / (download) - annotate - [select for diffs], Thu May 7 00:24:19 2009 UTC (5 years, 7 months ago) by snj
Branch: netbsd-5-0
CVS Tags: netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, 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
Branch point for: matt-nb5-mips64
Changes since 1.113.4.1: +4 -4 lines
Diff to previous 1.113.4.1 (colored) next main 1.113.4.2 (colored)

Pull up following revision(s) (requested by sborrill in ticket #726):
	sys/ufs/ffs/ffs_alloc.c: revision 1.123 via patch
Fix random 'filesystem full' messages by trapping a couple of 32-bit
overflow areas missed in rev 1.110 and switching cgbase().
Kudos to rump_ffs!

Revision 1.106.12.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:37 2009 UTC (5 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.106: +557 -569 lines
Diff to previous 1.106 (colored)

sync with head.

Revision 1.113.2.3 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:57 2009 UTC (5 years, 7 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.113.2.2: +6 -4 lines
Diff to previous 1.113.2.2 (colored) to branchpoint 1.113 (colored) next main 1.114 (colored)

Sync with HEAD.

Revision 1.123 / (download) - annotate - [select for diffs], Sat Apr 25 08:32:32 2009 UTC (5 years, 7 months ago) by sborrill
Branch: MAIN
CVS Tags: yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.122: +6 -4 lines
Diff to previous 1.122 (colored)

Fix random 'filesystem full' messages by trapping a couple of 32-bit
overflow areas missed in rev 1.110 and switching cgbase().

Kudos to rump_ffs!

Revision 1.113.2.2 / (download) - annotate - [select for diffs], Tue Mar 3 18:34:39 2009 UTC (5 years, 9 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.113.2.1: +13 -29 lines
Diff to previous 1.113.2.1 (colored) to branchpoint 1.113 (colored)

Sync with HEAD.

Revision 1.113.4.1 / (download) - annotate - [select for diffs], Tue Feb 24 04:13:35 2009 UTC (5 years, 9 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3
Branch point for: netbsd-5-0
Changes since 1.113: +4 -4 lines
Diff to previous 1.113 (colored)

Pull up following revision(s) (requested by ad in ticket #490):
	sys/kern/vfs_wapbl.c: revision 1.23
	sys/miscfs/syncfs/sync_subr.c: revision 1.36
	sys/miscfs/syncfs/sync_vnops.c: revision 1.26
	sys/ufs/ffs/ffs_alloc.c: revision 1.121
	sys/ufs/ffs/ffs_vfsops.c: revision 1.242
	sys/ufs/ffs/ffs_vnops.c: revision 1.110
PR kern/39564 wapbl performance issues with disk cache flushing
PR kern/40361 WAPBL locking panic in -current
PR kern/40361 WAPBL locking panic in -current
PR kern/40470 WAPBL corrupts ext2fs
PR kern/40562 busy loop in ffs_sync when unmounting a file system
PR kern/40525 panic: ffs_valloc: dup alloc
- A fix for an issue that can lead to "ffs_valloc: dup" due to dirty cg
  buffers being invalidated. Problem discovered and patch by dholland@.
- If the syncer fails to lazily sync a vnode due to lock contention,
  retry 1 second later instead of 30 seconds later.
- Flush inode atime updates every ~10 seconds (this makes most sense with
  logging). Presently they didn't hit the disk for read-only files or
  devices until the file system was unmounted. It would be better to trickle
  the updates out but that would require more extensive changes.
- Fix issues with file system corruption, busy looping and other nasty
  problems when logging and non-logging file systems are intermixed,
  with one being the root file system.
- For logging, do not flush metadata on an inode-at-a-time basis if the sync
  has been requested by ioflush. Previously, we could try hundreds of log
  sync operations a second due to inode update activity, causing the syncer
  to fall behind and metadata updates to be serialized across the entire
  file system. Instead, burst out metadata and log flushes at a minimum
  interval of every 10 seconds on an active file system (happens more often
  if the log becomes full). Note this does not change the operation of
  fsync() etc.
- With the flush issue fixed, re-enable concurrent metadata updates in
  vfs_wapbl.c.

Revision 1.122 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:06 2009 UTC (5 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.121: +11 -27 lines
Diff to previous 1.121 (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.121 / (download) - annotate - [select for diffs], Sun Feb 22 20:10:25 2009 UTC (5 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.120: +4 -4 lines
Diff to previous 1.120 (colored)

PR kern/39564 wapbl performance issues with disk cache flushing
PR kern/40361 WAPBL locking panic in -current
PR kern/40361 WAPBL locking panic in -current
PR kern/40470 WAPBL corrupts ext2fs
PR kern/40562 busy loop in ffs_sync when unmounting a file system
PR kern/40525 panic: ffs_valloc: dup alloc

- A fix for an issue that can lead to "ffs_valloc: dup" due to dirty cg
  buffers being invalidated. Problem discovered and patch by dholland@.

- If the syncer fails to lazily sync a vnode due to lock contention,
  retry 1 second later instead of 30 seconds later.

- Flush inode atime updates every ~10 seconds (this makes most sense with
  logging). Presently they didn't hit the disk for read-only files or
  devices until the file system was unmounted. It would be better to trickle
  the updates out but that would require more extensive changes.

- Fix issues with file system corruption, busy looping and other nasty
  problems when logging and non-logging file systems are intermixed,
  with one being the root file system.

- For logging, do not flush metadata on an inode-at-a-time basis if the sync
  has been requested by ioflush. Previously, we could try hundreds of log
  sync operations a second due to inode update activity, causing the syncer
  to fall behind and metadata updates to be serialized across the entire
  file system. Instead, burst out metadata and log flushes at a minimum
  interval of every 10 seconds on an active file system (happens more often
  if the log becomes full). Note this does not change the operation of
  fsync() etc.

- With the flush issue fixed, re-enable concurrent metadata updates in
  vfs_wapbl.c.

Revision 1.113.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:20:31 2009 UTC (5 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.113: +222 -514 lines
Diff to previous 1.113 (colored)

Sync with HEAD.

Revision 1.106.6.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:42 2009 UTC (5 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.106.6.3: +220 -512 lines
Diff to previous 1.106.6.3 (colored) to branchpoint 1.106 (colored) next main 1.107 (colored)

Sync with HEAD.

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

merge christos-time_t

Revision 1.106.8.8 / (download) - annotate - [select for diffs], Sun Jan 4 19:20:32 2009 UTC (5 years, 11 months ago) by christos
Branch: christos-time_t
Changes since 1.106.8.7: +6 -4 lines
Diff to previous 1.106.8.7 (colored) to branchpoint 1.106 (colored) next main 1.107 (colored)

fix diagnostic printfs.

Revision 1.106.8.7 / (download) - annotate - [select for diffs], Tue Dec 30 19:30:31 2008 UTC (5 years, 11 months ago) by christos
Branch: christos-time_t
Changes since 1.106.8.6: +12 -9 lines
Diff to previous 1.106.8.6 (colored) to branchpoint 1.106 (colored)

fix dev_t printfs

Revision 1.106.8.6 / (download) - annotate - [select for diffs], Sun Dec 28 01:28:48 2008 UTC (5 years, 11 months ago) by christos
Branch: christos-time_t
Changes since 1.106.8.5: +7 -7 lines
Diff to previous 1.106.8.5 (colored) to branchpoint 1.106 (colored)

deal with new printfs format inconsistencies.

Revision 1.106.8.5 / (download) - annotate - [select for diffs], Sat Dec 27 23:14:25 2008 UTC (5 years, 11 months ago) by christos
Branch: christos-time_t
Changes since 1.106.8.4: +200 -64 lines
Diff to previous 1.106.8.4 (colored) to branchpoint 1.106 (colored)

merge with head.

Revision 1.109.4.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:15:41 2008 UTC (6 years ago) by haad
Branch: haad-dm
Changes since 1.109.4.1: +200 -497 lines
Diff to previous 1.109.4.1 (colored) to branchpoint 1.109 (colored) next main 1.110 (colored)

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

Revision 1.119 / (download) - annotate - [select for diffs], Sat Dec 6 20:05:55 2008 UTC (6 years ago) by joerg
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.118: +85 -29 lines
Diff to previous 1.118 (colored)

Split ffs_freefile into a frontend for normal cylinder group and for
snapshot use. Adjust ffs_blkfree_common to get the fs instance passed
in, the original commit didn't account blocks in the snapshots
correctly. Assert that ffs_blkfree is used with the primary fs instance
and that ffs_checkfreefile is only used for snapshots. Move the bdwrite
from ffs_blkfree_common into the caller for symmetry. This creates a
redundant write of unmodified data for ffs_blkfree_snap if a double free
of a block happens.

Reviewed and tested by hannken@.

Revision 1.118 / (download) - annotate - [select for diffs], Mon Dec 1 13:45:51 2008 UTC (6 years ago) by joerg
Branch: MAIN
Changes since 1.117: +8 -2 lines
Diff to previous 1.117 (colored)

Revert last. Conditionalize variables on FFS_EI.

Revision 1.117 / (download) - annotate - [select for diffs], Mon Dec 1 13:33:39 2008 UTC (6 years ago) by cegger
Branch: MAIN
Changes since 1.116: +2 -4 lines
Diff to previous 1.116 (colored)

build fix: remove unused variables

Revision 1.116 / (download) - annotate - [select for diffs], Mon Dec 1 13:22:06 2008 UTC (6 years ago) by joerg
Branch: MAIN
Changes since 1.115: +105 -40 lines
Diff to previous 1.115 (colored)

ffs_blkfree is used in two different ways. The normal usage is to free a
block in the cylinder groups of the filesystem. The other user is the
snapshot code, which wants to modify the copied cylinder groups. Use
different frontends to distinguish the cases in preparation for fine
grained locking for cylinder groups.

Revision 1.115 / (download) - annotate - [select for diffs], Sun Nov 30 16:20:44 2008 UTC (6 years ago) by joerg
Branch: MAIN
Changes since 1.114: +23 -11 lines
Diff to previous 1.114 (colored)

Split ffs_blkalloc into a frontend that does inode based consistency
checks and a backend that just asserts them. Use the backend in
ffs_wapbl_abort_sync_metadata instead of faking an inode.

Revision 1.106.8.4 / (download) - annotate - [select for diffs], Sun Nov 9 23:57:24 2008 UTC (6 years, 1 month ago) by christos
Branch: christos-time_t
Changes since 1.106.8.3: +2 -436 lines
Diff to previous 1.106.8.3 (colored) to branchpoint 1.106 (colored)

merge with head.

Revision 1.114 / (download) - annotate - [select for diffs], Thu Nov 6 22:31:08 2008 UTC (6 years, 1 month ago) by joerg
Branch: MAIN
Changes since 1.113: +2 -436 lines
Diff to previous 1.113 (colored)

Remove XXXUBC code for ffs_reallocblks, that has been conditionalized in
2002 and #if 0'ed in 2005. It would need a considerable amount of work
to bring back and obscures the more important block allocation.

Revision 1.106.8.3 / (download) - annotate - [select for diffs], Sat Nov 1 23:22:23 2008 UTC (6 years, 1 month ago) by christos
Branch: christos-time_t
Changes since 1.106.8.2: +6 -5 lines
Diff to previous 1.106.8.2 (colored) to branchpoint 1.106 (colored)

catch up with changes in head.

Revision 1.106.8.2 / (download) - annotate - [select for diffs], Sat Nov 1 21:22:29 2008 UTC (6 years, 1 month ago) by christos
Branch: christos-time_t
Changes since 1.106.8.1: +371 -77 lines
Diff to previous 1.106.8.1 (colored) to branchpoint 1.106 (colored)

Sync with head.

Revision 1.109.4.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:18:10 2008 UTC (6 years, 2 months ago) by haad
Branch: haad-dm
Changes since 1.109: +350 -64 lines
Diff to previous 1.109 (colored)

Sync with HEAD.

Revision 1.106.6.3 / (download) - annotate - [select for diffs], Sun Sep 28 10:41:05 2008 UTC (6 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.106.6.2: +348 -62 lines
Diff to previous 1.106.6.2 (colored) to branchpoint 1.106 (colored)

Sync with HEAD.

Revision 1.106.14.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:37:05 2008 UTC (6 years, 3 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.106.14.1: +350 -64 lines
Diff to previous 1.106.14.1 (colored) to branchpoint 1.106 (colored) next main 1.107 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.113 / (download) - annotate - [select for diffs], Wed Aug 6 12:54:26 2008 UTC (6 years, 4 months ago) by hannken
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-0-RC2, netbsd-5-0-RC1, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.112: +16 -14 lines
Diff to previous 1.112 (colored)

Do not call UFS_WAPBL_*() when ffs_freefile() is acting on a snapshot.

While here replace the test for VBLK with a convenience variable.

Revision 1.112 / (download) - annotate - [select for diffs], Thu Jul 31 09:35:09 2008 UTC (6 years, 4 months ago) by hannken
Branch: MAIN
Changes since 1.111: +47 -14 lines
Diff to previous 1.111 (colored)

Resolve a deadlock when fs_nodealloccg() initializes more inodes on
an UFS2 file system.  With the current cylinder group buffer busy it
calls ffs_getblk().  This runs through copy-on-write and may need the
current cylinder group buffer to allocate a new block for the snapshot.

While here write the cylinder group buffer synchronously after
cg_initediblk was changed because fsck_ffs will trust it.

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

Revision 1.111 / (download) - annotate - [select for diffs], Thu Jul 31 05:38:06 2008 UTC (6 years, 4 months ago) by simonb
Branch: MAIN
Changes since 1.110: +288 -37 lines
Diff to previous 1.110 (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.109.2.4 / (download) - annotate - [select for diffs], Mon Jul 28 12:40:06 2008 UTC (6 years, 4 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.109.2.3: +90 -24 lines
Diff to previous 1.109.2.3 (colored) to branchpoint 1.109 (colored) next main 1.110 (colored)

Add support for creating a WAPBL log in the filesystem.  Will
create an in-filesystem log on first "mount -o log" if one doesn't
exist, and will then continue to use same log in the future.  See
(soon to be added) wapbl(4) for more info.

Adds a new B_CONTIG low-level allocation flag that uses hints in
"struct ffs_inode_ext" to lay out an ffs file's data contiguously.

Thanks to Greg Oster for helping with the design of this and to
Antti Kantee for code review and suggestions.

Revision 1.109.2.3 / (download) - annotate - [select for diffs], Fri Jul 18 16:37:57 2008 UTC (6 years, 5 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.109.2.2: +8 -8 lines
Diff to previous 1.109.2.2 (colored) to branchpoint 1.109 (colored)

Sync with head.

Revision 1.110 / (download) - annotate - [select for diffs], Fri Jul 11 05:31:44 2008 UTC (6 years, 5 months ago) by simonb
Branch: MAIN
CVS Tags: simonb-wapbl-nbase, simonb-wapbl-base
Changes since 1.109: +8 -8 lines
Diff to previous 1.109 (colored)

Fix potential 32-bit overflow problem in the blockpref code.
mlelstv@ points out FreeBSD fixed the same thing a couple of years
ago - here's the commit message they used on rev 1.127:

   Fixes a bug that caused UFS2 filesystems bigger than 2TB to
   prematurely report that they were full and/or to panic the kernel
   with the message ``ffs_clusteralloc: allocated out of group''.

   Submitted by:   Henry Whincup <henry@jot.to>

Revision 1.106.14.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:32:05 2008 UTC (6 years, 5 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.106: +27 -19 lines
Diff to previous 1.106 (colored)

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

Revision 1.106.10.3 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:17 2008 UTC (6 years, 6 months ago) by yamt
Branch: yamt-pf42
Changes since 1.106.10.2: +4 -2 lines
Diff to previous 1.106.10.2 (colored) to branchpoint 1.106 (colored) next main 1.107 (colored)

sync with head.

Revision 1.109.2.2 / (download) - annotate - [select for diffs], Thu Jun 12 08:39:22 2008 UTC (6 years, 6 months ago) by martin
Branch: simonb-wapbl
Changes since 1.109.2.1: +2 -9 lines
Diff to previous 1.109.2.1 (colored) to branchpoint 1.109 (colored)

License police

Revision 1.109.2.1 / (download) - annotate - [select for diffs], Tue Jun 10 14:51:23 2008 UTC (6 years, 6 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.109: +207 -15 lines
Diff to previous 1.109 (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.106.6.2 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:37 2008 UTC (6 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.106.6.1: +8 -5 lines
Diff to previous 1.106.6.1 (colored) to branchpoint 1.106 (colored)

Sync with HEAD.

Also fix build.

Revision 1.109 / (download) - annotate - [select for diffs], Wed Jun 4 17:46:21 2008 UTC (6 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl, haad-dm
Changes since 1.108: +4 -2 lines
Diff to previous 1.108 (colored)

When setting DONE on the buffer, assert that there are no waiters in
biowait().

Revision 1.106.10.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:53 2008 UTC (6 years, 6 months ago) by yamt
Branch: yamt-pf42
Changes since 1.106.10.1: +8 -7 lines
Diff to previous 1.106.10.1 (colored) to branchpoint 1.106 (colored)

sync with head

Revision 1.108 / (download) - annotate - [select for diffs], Tue Jun 3 09:47:49 2008 UTC (6 years, 6 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pf42-base3
Changes since 1.107: +8 -7 lines
Diff to previous 1.107 (colored)

ufs/ffs: replace calls to getblk() with ffs_getblk().  Now all buffers
have been run through copy-on-write and async mounts work again.

Fixes PR kern/38820

Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.106.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:35 2008 UTC (6 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.106: +19 -14 lines
Diff to previous 1.106 (colored)

Sync with HEAD.

Revision 1.106.10.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:54 2008 UTC (6 years, 7 months ago) by yamt
Branch: yamt-pf42
Changes since 1.106: +19 -14 lines
Diff to previous 1.106 (colored)

sync with head.

Revision 1.107 / (download) - annotate - [select for diffs], Fri May 16 09:22:00 2008 UTC (6 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pf42-base2, hpcarm-cleanup-nbase
Changes since 1.106: +19 -14 lines
Diff to previous 1.106 (colored)

Make sure all cached buffers with valid, not yet written data have been
run through copy-on-write.  Call fscow_run() with valid data where possible.

The LP_UFSCOW hack is no longer needed to protect ffs_copyonwrite() against
endless recursion.

- Add a flag B_MODIFY to bread(), breada() and breadn().  If set the caller
  intends to modify the buffer returned.

- Always run copy-on-write on buffers returned from ffs_balloc().

- Add new function ffs_getblk() that gets a buffer, assigns a new blkno,
  may clear the buffer and runs copy-on-write.  Process possible errors
  from getblk() or fscow_run().  Part of PR kern/38664.

Welcome to 4.99.63

Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>

Revision 1.106.8.1 / (download) - annotate - [select for diffs], Sat Mar 29 20:47:04 2008 UTC (6 years, 8 months ago) by christos
Branch: christos-time_t
Changes since 1.106: +11 -11 lines
Diff to previous 1.106 (colored)

Welcome to the time_t=long long dev_t=uint64_t branch.

Revision 1.100.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:11 2008 UTC (6 years, 8 months ago) by matt
Branch: matt-armv6
Changes since 1.100.2.2: +21 -2 lines
Diff to previous 1.100.2.2 (colored) to branchpoint 1.100 (colored) next main 1.101 (colored)

sync with HEAD

Revision 1.104.2.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:28 2008 UTC (6 years, 10 months ago) by mjf
Branch: mjf-devfs
Changes since 1.104: +31 -8 lines
Diff to previous 1.104 (colored) next main 1.105 (colored)

Sync with HEAD.

Revision 1.84.2.8 / (download) - annotate - [select for diffs], Mon Feb 4 09:25:02 2008 UTC (6 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84.2.7: +21 -2 lines
Diff to previous 1.84.2.7 (colored) next main 1.85 (colored)

sync with head.

Revision 1.104.8.2 / (download) - annotate - [select for diffs], Wed Jan 23 19:27:49 2008 UTC (6 years, 10 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.104.8.1: +19 -0 lines
Diff to previous 1.104.8.1 (colored) to branchpoint 1.104 (colored) next main 1.105 (colored)

Sync with HEAD.

Revision 1.106 / (download) - annotate - [select for diffs], Mon Jan 21 23:36:26 2008 UTC (6 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pf42-baseX, 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-base, bouyer-xeni386-nbase, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2, christos-time_t
Changes since 1.105: +21 -2 lines
Diff to previous 1.105 (colored)

Sprinkle comments about um_lock status on function entry and exit.
No functional change.

Revision 1.84.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:06 2008 UTC (6 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84.2.6: +12 -8 lines
Diff to previous 1.84.2.6 (colored)

sync with head

Revision 1.100.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:25 2008 UTC (6 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.100.2.1: +12 -8 lines
Diff to previous 1.100.2.1 (colored) to branchpoint 1.100 (colored)

sync with HEAD

Revision 1.104.8.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:16 2008 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.104: +12 -8 lines
Diff to previous 1.104 (colored)

Sync with HEAD

Revision 1.105 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:08 2008 UTC (6 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-base
Changes since 1.104: +12 -8 lines
Diff to previous 1.104 (colored)

Merge vmlocking2 to head.

Revision 1.104.4.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:03:43 2007 UTC (7 years ago) by ad
Branch: vmlocking2
Changes since 1.104: +12 -8 lines
Diff to previous 1.104 (colored) next main 1.105 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.84.2.6 / (download) - annotate - [select for diffs], Thu Nov 15 11:45:36 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84.2.5: +5 -3 lines
Diff to previous 1.84.2.5 (colored)

sync with head.

Revision 1.102.2.2 / (download) - annotate - [select for diffs], Tue Nov 13 16:03:29 2007 UTC (7 years, 1 month ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.102.2.1: +3 -1 lines
Diff to previous 1.102.2.1 (colored) to branchpoint 1.102 (colored) next main 1.103 (colored)

Sync with HEAD

Revision 1.100.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:35:09 2007 UTC (7 years, 1 month ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.100: +165 -75 lines
Diff to previous 1.100 (colored)

sync with HEAD

Revision 1.99.6.3 / (download) - annotate - [select for diffs], Sun Nov 4 21:03:52 2007 UTC (7 years, 1 month ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.99.6.2: +5 -3 lines
Diff to previous 1.99.6.2 (colored) to branchpoint 1.99 (colored) next main 1.100 (colored)

Sync with HEAD.

Revision 1.104 / (download) - annotate - [select for diffs], Thu Nov 1 06:31:59 2007 UTC (7 years, 1 month ago) by hannken
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2, mjf-devfs, bouyer-xeni386
Changes since 1.103: +5 -3 lines
Diff to previous 1.103 (colored)

Avoid doing bawrite to initialize inode block while holding cylinder
group block buffer busy.  If filesystem has any active snapshots, bawrite
can come back trying to allocate new snapshot data block from the same
cylinder group and cause deadlock.

From FreeBSD Rev. 1.117

Revision 1.84.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:36:41 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84.2.4: +162 -74 lines
Diff to previous 1.84.2.4 (colored)

sync with head.

Revision 1.99.6.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:49:28 2007 UTC (7 years, 1 month ago) by joerg
Branch: jmcneill-pm
Changes since 1.99.6.1: +162 -74 lines
Diff to previous 1.99.6.1 (colored) to branchpoint 1.99 (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.102.2.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:40:12 2007 UTC (7 years, 1 month ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.102: +6 -4 lines
Diff to previous 1.102 (colored)

Sync with HEAD.

Revision 1.98.2.8 / (download) - annotate - [select for diffs], Tue Oct 23 20:17:29 2007 UTC (7 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.98.2.7: +6 -4 lines
Diff to previous 1.98.2.7 (colored) to branchpoint 1.98 (colored) next main 1.99 (colored)

Sync with head.

Revision 1.103 / (download) - annotate - [select for diffs], Thu Oct 18 17:39:04 2007 UTC (7 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.102: +6 -4 lines
Diff to previous 1.102 (colored)

Ffs_blkfree() and ffs_freefile() take a devvp that may be a regular file whencalled from snapshot creation.  Be sure to use the right mount.

Ok: Andrew Doran <ad@netbsd.org>

Revision 1.100.4.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:49:14 2007 UTC (7 years, 2 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.100: +161 -75 lines
Diff to previous 1.100 (colored) next main 1.101 (colored)

sync with head.

Revision 1.102 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:33 2007 UTC (7 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base
Branch point for: bouyer-xenamd64
Changes since 1.101: +3 -3 lines
Diff to previous 1.101 (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.101 / (download) - annotate - [select for diffs], Mon Oct 8 18:01:28 2007 UTC (7 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.100: +160 -74 lines
Diff to previous 1.100 (colored)

Merge ffs locking & brelse changes from the vmlocking branch.

Revision 1.84.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:46:47 2007 UTC (7 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84.2.3: +9 -10 lines
Diff to previous 1.84.2.3 (colored)

sync with head.

Revision 1.98.2.7 / (download) - annotate - [select for diffs], Fri Aug 24 23:28:43 2007 UTC (7 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.6: +8 -8 lines
Diff to previous 1.98.2.6 (colored) to branchpoint 1.98 (colored)

Sync with buffer cache locking changes. See buf.h/vfs_bio.c for details.
Some minor portions are incomplete and needs to be verified as a whole.

Revision 1.98.2.6 / (download) - annotate - [select for diffs], Mon Aug 20 21:28:24 2007 UTC (7 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.5: +7 -8 lines
Diff to previous 1.98.2.5 (colored) to branchpoint 1.98 (colored)

Sync with HEAD.

Revision 1.99.6.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:03:59 2007 UTC (7 years, 4 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.99: +3 -4 lines
Diff to previous 1.99 (colored)

Sync with HEAD.

Revision 1.99.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:51:08 2007 UTC (7 years, 4 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.99: +3 -4 lines
Diff to previous 1.99 (colored) next main 1.100 (colored)

Sync with HEAD.

Revision 1.100 / (download) - annotate - [select for diffs], Thu Aug 9 07:34:28 2007 UTC (7 years, 4 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.99: +3 -4 lines
Diff to previous 1.99 (colored)

Move snapshot per-mount data from struct ufsmount to mount specific data.
No functional changes.

Welcome to 4.99.28  (struct ufsmount changed size)

Revision 1.99 / (download) - annotate - [select for diffs], Mon Jul 16 14:26:08 2007 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: nick-csl-alignment-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: nick-csl-alignment, jmcneill-pm
Changes since 1.98: +6 -6 lines
Diff to previous 1.98 (colored)

When allocating blocks, check minfree before asking kauth about
suser.  The latter has unknown cost and rarely needs to be called.

Revision 1.98.2.5 / (download) - annotate - [select for diffs], Sun Jun 17 21:32:06 2007 UTC (7 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.4: +3 -3 lines
Diff to previous 1.98.2.4 (colored) to branchpoint 1.98 (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.98.2.4 / (download) - annotate - [select for diffs], Sun May 13 17:36:41 2007 UTC (7 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.3: +29 -25 lines
Diff to previous 1.98.2.3 (colored) to branchpoint 1.98 (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.98.2.3 / (download) - annotate - [select for diffs], Sun May 6 11:44:29 2007 UTC (7 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.2: +3 -2 lines
Diff to previous 1.98.2.2 (colored) to branchpoint 1.98 (colored)

ffs_blkfree: don't leak ump->um_lock.

Revision 1.98.2.2 / (download) - annotate - [select for diffs], Fri Apr 13 15:47:03 2007 UTC (7 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.98.2.1: +141 -56 lines
Diff to previous 1.98.2.1 (colored) to branchpoint 1.98 (colored)

Put a per-mount lock around ffs shared data structures, excluding softdep
and quotas. Strategy lifted from FreeBSD.

Revision 1.98.6.1 / (download) - annotate - [select for diffs], Mon Mar 19 23:55:48 2007 UTC (7 years, 9 months ago) by reinoud
Branch: reinoud-bufcleanup
Changes since 1.98: +18 -2 lines
Diff to previous 1.98 (colored) next main 1.99 (colored)

Move the structure `cluster_save' to the dead ufs/ffs code that was using
it solely.

Preserved just in case the code is resurrected one day.

Revision 1.98.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 17:51:19 2007 UTC (7 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.98: +6 -6 lines
Diff to previous 1.98 (colored)

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

Revision 1.97.2.1 / (download) - annotate - [select for diffs], Mon Mar 12 06:00:57 2007 UTC (7 years, 9 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.97: +4 -4 lines
Diff to previous 1.97 (colored) next main 1.98 (colored)

Sync with HEAD.

Revision 1.98 / (download) - annotate - [select for diffs], Sun Mar 4 06:03:43 2007 UTC (7 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, mjf-ufs-trans-base, mjf-ufs-trans
Branch point for: vmlocking, reinoud-bufcleanup
Changes since 1.97: +4 -4 lines
Diff to previous 1.97 (colored)

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

Revision 1.84.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:18 2007 UTC (7 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84.2.2: +6 -4 lines
Diff to previous 1.84.2.2 (colored)

sync with head.

Revision 1.93.4.2 / (download) - annotate - [select for diffs], Fri Jan 12 01:04:24 2007 UTC (7 years, 11 months ago) by ad
Branch: newlock2
Changes since 1.93.4.1: +6 -4 lines
Diff to previous 1.93.4.1 (colored) to branchpoint 1.93 (colored) next main 1.94 (colored)

Sync with head.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Jan 4 16:55:29 2007 UTC (7 years, 11 months ago) by elad
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp
Changes since 1.96: +6 -4 lines
Diff to previous 1.96 (colored)

Consistent usage of KAUTH_GENERIC_ISSUSER.

Revision 1.84.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:51:00 2006 UTC (7 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84.2.1: +3 -4 lines
Diff to previous 1.84.2.1 (colored)

sync with head.

Revision 1.93.6.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:19:32 2006 UTC (8 years ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.93.6.1: +3 -3 lines
Diff to previous 1.93.6.1 (colored) to branchpoint 1.93 (colored) next main 1.94 (colored)

sync with head.

Revision 1.93.4.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:39:48 2006 UTC (8 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.93: +2 -3 lines
Diff to previous 1.93 (colored)

Sync with head.

Revision 1.96 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:53 2006 UTC (8 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, 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, netbsd-4, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.95: +3 -3 lines
Diff to previous 1.95 (colored)

__unused removal on arguments; approved by core.

Revision 1.93.6.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:07:50 2006 UTC (8 years, 1 month ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.93: +3 -4 lines
Diff to previous 1.93 (colored)

sync with head

Revision 1.95 / (download) - annotate - [select for diffs], Sun Oct 15 12:23:56 2006 UTC (8 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.94: +2 -3 lines
Diff to previous 1.94 (colored)

ffs_alloc: remove an assertion which is no longer true.

Revision 1.94 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:51 2006 UTC (8 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.90.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 03:00:00 2006 UTC (8 years, 3 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.90: +22 -21 lines
Diff to previous 1.90 (colored) next main 1.91 (colored)

sync with head

Revision 1.92.2.1 / (download) - annotate - [select for diffs], Thu Jul 13 17:50:13 2006 UTC (8 years, 5 months ago) by gdamore
Branch: gdamore-uart
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (colored) next main 1.93 (colored)

Merge from HEAD.

Revision 1.90.8.2 / (download) - annotate - [select for diffs], Mon Jun 26 12:54:49 2006 UTC (8 years, 5 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.90.8.1: +13 -13 lines
Diff to previous 1.90.8.1 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored)

sync with head.

Revision 1.93 / (download) - annotate - [select for diffs], Fri Jun 23 14:13:02 2006 UTC (8 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, rpaulo-netinet-merge-pcb-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 (colored)

fix a simonb-timecounters regression.
the precision of getnanotime() is not suitable for file timestamps.
esp. when it's nfs-exported.

- introduce vfs_timestamp().
  (the name is from freebsd.  currently merely a wrapper of nanotime())
- for ufs-like filesystems, use it rather than getnanotime().

XXX check other filesystems.

Revision 1.84.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:12:31 2006 UTC (8 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.84: +94 -163 lines
Diff to previous 1.84 (colored)

sync with head.

Revision 1.91.2.1 / (download) - annotate - [select for diffs], Mon Jun 19 04:11:13 2006 UTC (8 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.91: +13 -13 lines
Diff to previous 1.91 (colored) next main 1.92 (colored)

Sync with head.

Revision 1.92 / (download) - annotate - [select for diffs], Wed Jun 7 22:34:19 2006 UTC (8 years, 6 months ago) by kardel
Branch: MAIN
CVS Tags: gdamore-uart-base, chap-midi-nbase, chap-midi-base
Branch point for: gdamore-uart
Changes since 1.91: +13 -13 lines
Diff to previous 1.91 (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.90.6.2 / (download) - annotate - [select for diffs], Thu Jun 1 22:39:28 2006 UTC (8 years, 6 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.90.6.1: +11 -10 lines
Diff to previous 1.90.6.1 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored)

Sync with head.

Revision 1.90.12.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:47 2006 UTC (8 years, 6 months ago) by tron
Branch: peter-altq
Changes since 1.90: +9 -8 lines
Diff to previous 1.90 (colored) next main 1.91 (colored)

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

Revision 1.90.8.1 / (download) - annotate - [select for diffs], Wed May 24 10:59:25 2006 UTC (8 years, 6 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.90: +11 -10 lines
Diff to previous 1.90 (colored)

sync with head.

Revision 1.91 / (download) - annotate - [select for diffs], Sun May 14 21:32:45 2006 UTC (8 years, 7 months ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base5, simonb-timecounters-base
Branch point for: chap-midi
Changes since 1.90: +9 -8 lines
Diff to previous 1.90 (colored)

integrate kauth.

Revision 1.90.10.2 / (download) - annotate - [select for diffs], Sat May 6 23:32:33 2006 UTC (8 years, 7 months ago) by christos
Branch: elad-kernelauth
Changes since 1.90.10.1: +3 -2 lines
Diff to previous 1.90.10.1 (colored) to branchpoint 1.90 (colored) next main 1.91 (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.90.10.1 / (download) - annotate - [select for diffs], Wed Mar 8 01:39:12 2006 UTC (8 years, 9 months ago) by elad
Branch: elad-kernelauth
Changes since 1.90: +10 -10 lines
Diff to previous 1.90 (colored)

Adapt to kernel authorization KPI.

Revision 1.90.6.1 / (download) - annotate - [select for diffs], Sat Feb 4 14:12:50 2006 UTC (8 years, 10 months ago) by simonb
Branch: simonb-timecounters
Changes since 1.90: +13 -13 lines
Diff to previous 1.90 (colored)

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

Revision 1.90 / (download) - annotate - [select for diffs], Fri Dec 23 15:31:40 2005 UTC (8 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, elad-kernelauth-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.89: +3 -2 lines
Diff to previous 1.89 (colored)

prevent in-core vnode being freed from getting new references.
otherwise, once the corresponding bit in the inode bitmap is cleared,
an unrelated inode with the same inode number can be allocated and
ufs_ihashget() picks a stale in-core vnode for it.

PR/32301 by Matthias Scheler.

Revision 1.68.2.11 / (download) - annotate - [select for diffs], Sun Dec 11 10:29:41 2005 UTC (9 years ago) by christos
Branch: ktrace-lwp
Changes since 1.68.2.10: +15 -10 lines
Diff to previous 1.68.2.10 (colored) next main 1.69 (colored)

Sync with head.

Revision 1.88.2.1 / (download) - annotate - [select for diffs], Tue Nov 29 21:23:33 2005 UTC (9 years ago) by yamt
Branch: yamt-readahead
Changes since 1.88: +15 -10 lines
Diff to previous 1.88 (colored) next main 1.89 (colored)

sync with head.

Revision 1.89 / (download) - annotate - [select for diffs], Sun Nov 27 11:45:56 2005 UTC (9 years ago) by dsl
Branch: MAIN
CVS Tags: yamt-readahead-base3, ktrace-lwp-base
Changes since 1.88: +15 -10 lines
Diff to previous 1.88 (colored)

Force some multiplies to give a 64 bit result to avoid dirsize being zero
and causing a divide by zero trap later.
Fixes a panic noted in netbsd-help.

Revision 1.68.2.10 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:31 2005 UTC (9 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.9: +67 -143 lines
Diff to previous 1.68.2.9 (colored)

Sync with HEAD. Here we go again...

Revision 1.88 / (download) - annotate - [select for diffs], Wed Nov 2 12:39:00 2005 UTC (9 years, 1 month ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base2, yamt-readahead-base
Branch point for: yamt-readahead
Changes since 1.87: +16 -27 lines
Diff to previous 1.87 (colored)

merge yamt-vop branch.  remove following VOPs.

	VOP_BLKATOFF
	VOP_VALLOC
	VOP_BALLOC
	VOP_REALLOCBLKS
	VOP_VFREE
	VOP_TRUNCATE
	VOP_UPDATE

Revision 1.87.2.2 / (download) - annotate - [select for diffs], Sat Oct 29 17:21:11 2005 UTC (9 years, 1 month ago) by yamt
Branch: yamt-vop
Changes since 1.87.2.1: +4 -4 lines
Diff to previous 1.87.2.1 (colored) to branchpoint 1.87 (colored) next main 1.88 (colored)

use ffs_* directly rather than via ufs_ops.
suggested by Chuck Silvers.

Revision 1.87.2.1 / (download) - annotate - [select for diffs], Thu Oct 20 03:00:30 2005 UTC (9 years, 2 months ago) by yamt
Branch: yamt-vop
Changes since 1.87: +16 -27 lines
Diff to previous 1.87 (colored)

adapt ufs.

Revision 1.87 / (download) - annotate - [select for diffs], Mon Sep 26 13:52:20 2005 UTC (9 years, 2 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.86: +3 -3 lines
Diff to previous 1.86 (colored)

always use nanotime rather than time.
it's bad to mix nanotime and time because it sometimes
make timestamps go backwards.

Revision 1.86 / (download) - annotate - [select for diffs], Fri Aug 19 02:04:09 2005 UTC (9 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.85: +13 -10 lines
Diff to previous 1.85 (colored)

64 bit inode changes.

Revision 1.85 / (download) - annotate - [select for diffs], Fri Jul 15 05:01:16 2005 UTC (9 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.84: +41 -109 lines
Diff to previous 1.84 (colored)

Use ANSI function decls.

Revision 1.84 / (download) - annotate - [select for diffs], Mon Jun 6 17:10:25 2005 UTC (9 years, 6 months ago) by dbj
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.83: +3 -4 lines
Diff to previous 1.83 (colored)

remove (long) cast on bpref, which is daddr_t

Revision 1.83 / (download) - annotate - [select for diffs], Sun May 29 21:25:24 2005 UTC (9 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.82: +4 -4 lines
Diff to previous 1.82 (colored)

- sprinkle const
- avoid shadow variables.

Revision 1.81.2.1 / (download) - annotate - [select for diffs], Sat May 28 12:45:49 2005 UTC (9 years, 6 months ago) by tron
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.81: +3 -2 lines
Diff to previous 1.81 (colored) next main 1.82 (colored)

Pull up revision 1.82 (requested by hannken in ticket #334):
ffs/ffs_alloc.c:
- Add a missing ACTIVECG_CLR().
ffs/ffs_snapshot.c:
- Use async/delayed writes for snapshot creation and sync/uncache these buffers
  on end. Reduces the time the file system must be suspended.
- Remove um_snaplistsize. Was a duplicate of um_snapblklist[0].
- Byte swap the list of preallocated blocks on read/write instead of access.
- Always keep this list on ip->i_snapblklist so it may be rolled back when the
  newest snapshot gets removed. Fixes a rare snapshot corruption when using
  more than one snapshot on a file system.
ufs/ufsmount.h:
  - Make TAILQ_LAST() possible on member um_snapshots.
  - Remove um_snaplistsize. Was a duplicate of um_snapblklist[0].

Revision 1.82 / (download) - annotate - [select for diffs], Sun May 22 08:35:28 2005 UTC (9 years, 7 months ago) by hannken
Branch: MAIN
Changes since 1.81: +3 -2 lines
Diff to previous 1.81 (colored)

ffs/ffs_alloc.c:
- Add a missing ACTIVECG_CLR().

ffs/ffs_snapshot.c:
- Use async/delayed writes for snapshot creation and sync/uncache these buffers
  on end. Reduces the time the file system must be suspended.
- Remove um_snaplistsize. Was a duplicate of um_snapblklist[0].
- Byte swap the list of preallocated blocks on read/write instead of access.
- Always keep this list on ip->i_snapblklist so it may be rolled back when the
  newest snapshot gets removed. Fixes a rare snapshot corruption when using
  more than one snapshot on a file system.

ufs/ufsmount.h:
  - Make TAILQ_LAST() possible on member um_snapshots.
  - Remove um_snaplistsize. Was a duplicate of um_snapblklist[0].

Revision 1.80.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:38 2005 UTC (9 years, 7 months ago) by kent
Branch: kent-audio2
Changes since 1.80: +16 -16 lines
Diff to previous 1.80 (colored) next main 1.81 (colored)

sync with -current

Revision 1.80.4.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:37:03 2005 UTC (9 years, 9 months ago) by yamt
Branch: yamt-km
Changes since 1.80: +16 -16 lines
Diff to previous 1.80 (colored) next main 1.81 (colored)

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

Revision 1.68.2.9 / (download) - annotate - [select for diffs], Fri Mar 4 16:54:45 2005 UTC (9 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.8: +16 -16 lines
Diff to previous 1.68.2.8 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.81 / (download) - annotate - [select for diffs], Sat Feb 26 22:32:20 2005 UTC (9 years, 9 months ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base, kent-audio2-base
Branch point for: netbsd-3
Changes since 1.80: +16 -16 lines
Diff to previous 1.80 (colored)

nuke trailing whitespace

Revision 1.68.2.8 / (download) - annotate - [select for diffs], Sat Dec 18 09:33:18 2004 UTC (10 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.7: +3 -3 lines
Diff to previous 1.68.2.7 (colored)

Sync with HEAD.

Revision 1.80 / (download) - annotate - [select for diffs], Wed Dec 15 07:11:51 2004 UTC (10 years ago) by mycroft
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, matt-timespec, kent-audio1-beforemerge
Branch point for: yamt-km, kent-audio2
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored)

Remove some unnecessary (int32_t) casts that would cause us to screw up the
top bit in block addresses.

Also, change some daddr_t->int32_t casts (mostly as arguments to ufs_rw32(),
where they would get promoted anyway) to u_int32_t.

Revision 1.68.2.7 / (download) - annotate - [select for diffs], Tue Oct 19 15:58:30 2004 UTC (10 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.6: +4 -4 lines
Diff to previous 1.68.2.6 (colored)

Sync with HEAD

Revision 1.79 / (download) - annotate - [select for diffs], Mon Oct 11 17:15:36 2004 UTC (10 years, 2 months ago) by dbj
Branch: MAIN
CVS Tags: kent-audio1-base, kent-audio1
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored)

print absolute inode number in debug output when freeing free inode occurs.
previously, the number was relative to the cylinder group, which was confusing.
prefix debug message with "ifree:" so this can be differentiated in bug reports.

Revision 1.68.2.6 / (download) - annotate - [select for diffs], Tue Sep 21 13:39:08 2004 UTC (10 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.5: +2 -2 lines
Diff to previous 1.68.2.5 (colored)

Fix the sync with head I botched.

Revision 1.68.2.5 / (download) - annotate - [select for diffs], Sat Sep 18 14:56:52 2004 UTC (10 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.4: +2 -2 lines
Diff to previous 1.68.2.4 (colored)

Sync with HEAD.

Revision 1.68.2.4 / (download) - annotate - [select for diffs], Fri Sep 3 12:45:55 2004 UTC (10 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.3: +18 -19 lines
Diff to previous 1.68.2.3 (colored)

Sync with HEAD

Revision 1.78 / (download) - annotate - [select for diffs], Sun Aug 29 10:13:48 2004 UTC (10 years, 3 months ago) by hannken
Branch: MAIN
Changes since 1.77: +18 -19 lines
Diff to previous 1.77 (colored)

While creating a snapshot inodes must be freed from the
snapshot, not from the file system.
ffs_freefile() needs explicit "fs" and "devvp" arguments.

Revision 1.68.2.3 / (download) - annotate - [select for diffs], Tue Aug 24 17:57:42 2004 UTC (10 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.2: +3 -3 lines
Diff to previous 1.68.2.2 (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.68.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:56:49 2004 UTC (10 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.68.2.1: +151 -35 lines
Diff to previous 1.68.2.1 (colored)

Sync with HEAD

Revision 1.77 / (download) - annotate - [select for diffs], Wed May 26 20:33:10 2004 UTC (10 years, 6 months ago) by hannken
Branch: MAIN
Changes since 1.76: +11 -7 lines
Diff to previous 1.76 (colored)

Don't use VTOI(vp)->i_flags to test for snapshot devices. Will not work
for non-UFS file systems. Test for VBLK vnode instead.

Revision 1.76 / (download) - annotate - [select for diffs], Tue May 25 14:54:58 2004 UTC (10 years, 6 months ago) by hannken
Branch: MAIN
Changes since 1.75: +92 -21 lines
Diff to previous 1.75 (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.74.2.1 / (download) - annotate - [select for diffs], Tue Apr 27 17:55:26 2004 UTC (10 years, 7 months ago) by jdc
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.74: +14 -2 lines
Diff to previous 1.74 (colored) next main 1.75 (colored)

Pull up revision 1.75 (requested by dbj in ticket #185)

Fix problems related to superblock upgrade issues which may be
experienced by -current users from 2003.

Revision 1.75 / (download) - annotate - [select for diffs], Sun Apr 18 03:30:23 2004 UTC (10 years, 8 months ago) by dbj
Branch: MAIN
Changes since 1.74: +14 -2 lines
Diff to previous 1.74 (colored)

when enabling ffs compatibility in ffs_reload, use
sblockloc that superblock was read from
also note XXX that ffs_reload doesn't handle superblock moving

Revision 1.74 / (download) - annotate - [select for diffs], Tue Jan 13 13:38:18 2004 UTC (10 years, 11 months ago) by soren
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.73: +4 -3 lines
Diff to previous 1.73 (colored)

With large average filesizes, it was possible to overflow dirsize to zero,
causing a division by zero in ffs_dirpref().

From Barry Bouwsma of Tiengen.

Revision 1.73 / (download) - annotate - [select for diffs], Fri Jan 9 19:10:22 2004 UTC (10 years, 11 months ago) by dbj
Branch: MAIN
Changes since 1.72: +39 -7 lines
Diff to previous 1.72 (colored)

never upgrade the superblock or set FS_FLAGS_UPDATED in fs_old_flags
add compatibility for filesystems created before FFSv2 integration
these patches are from pr port-macppc/23926 and should also fix
problems discussed in pr kern/21404 and pr kern/21283

Revision 1.72 / (download) - annotate - [select for diffs], Tue Dec 30 12:33:24 2003 UTC (10 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.71: +4 -4 lines
Diff to previous 1.71 (colored)

Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.

Revision 1.71 / (download) - annotate - [select for diffs], Thu Nov 27 04:52:55 2003 UTC (11 years ago) by mycroft
Branch: MAIN
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored)

Remove part of previous -- there is NO reason for directory allocation to use
arc4random().

Revision 1.70 / (download) - annotate - [select for diffs], Fri Sep 5 21:58:35 2003 UTC (11 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.69: +4 -4 lines
Diff to previous 1.69 (colored)

use arc4random instead of random (mask with INT32_MAX to avoid getting
negative numbers unexpectedly).

Revision 1.69 / (download) - annotate - [select for diffs], Thu Aug 7 16:34:28 2003 UTC (11 years, 4 months ago) by agc
Branch: MAIN
Changes since 1.68: +3 -7 lines
Diff to previous 1.68 (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.68.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:27:21 2003 UTC (11 years, 5 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (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.68 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:34 2003 UTC (11 years, 5 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

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

Revision 1.67 / (download) - annotate - [select for diffs], Sun Jun 29 18:43:40 2003 UTC (11 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.66: +3 -3 lines
Diff to previous 1.66 (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.66 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:24 2003 UTC (11 years, 5 months ago) by darrenr
Branch: MAIN
Changes since 1.65: +3 -3 lines
Diff to previous 1.65 (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.65 / (download) - annotate - [select for diffs], Thu May 15 20:25:31 2003 UTC (11 years, 7 months ago) by kristerw
Branch: MAIN
Changes since 1.64: +8 -8 lines
Diff to previous 1.64 (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.64 / (download) - annotate - [select for diffs], Sun May 4 01:52:18 2003 UTC (11 years, 7 months ago) by gmcgarry
Branch: MAIN
Changes since 1.63: +4 -4 lines
Diff to previous 1.63 (colored)

Print pid on error.  From Greg A. Woods in PR#17393.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Apr 17 09:32:43 2003 UTC (11 years, 8 months ago) by fvdl
Branch: MAIN
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored)

configdirs was changed to an array of u_int8_t, so don't compare values
to 65535.

Revision 1.62 / (download) - annotate - [select for diffs], Sat Apr 12 10:33:17 2003 UTC (11 years, 8 months ago) by fvdl
Branch: MAIN
Changes since 1.61: +50 -32 lines
Diff to previous 1.61 (colored)

Use variables for some cg accesses; makes things more readable and more
similar to FreeBSD. No functional change.

Revision 1.61 / (download) - annotate - [select for diffs], Thu Apr 10 20:03:40 2003 UTC (11 years, 8 months ago) by fvdl
Branch: MAIN
Changes since 1.60: +3 -2 lines
Diff to previous 1.60 (colored)

Initialize the 'mirror' i_flags fiels in struct inode to 0.

Revision 1.60 / (download) - annotate - [select for diffs], Wed Apr 2 10:39:36 2003 UTC (11 years, 8 months ago) by fvdl
Branch: MAIN
Changes since 1.59: +209 -188 lines
Diff to previous 1.59 (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.59 / (download) - annotate - [select for diffs], Sun Jan 26 06:42:31 2003 UTC (11 years, 10 months ago) by tsutsui
Branch: MAIN
Changes since 1.58: +13 -15 lines
Diff to previous 1.58 (colored)

More printf format cleanup to reduce casts.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Jan 24 21:55:21 2003 UTC (11 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.57: +82 -72 lines
Diff to previous 1.57 (colored)

Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.

Revision 1.55.4.1 / (download) - annotate - [select for diffs], Sun Jan 5 08:58:54 2003 UTC (11 years, 11 months ago) by jmc
Branch: netbsd-1-6
CVS Tags: 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
Changes since 1.55: +3 -2 lines
Diff to previous 1.55 (colored) next main 1.56 (colored)

Pull up revisions 1.56-1.57 (requested by hannken in ticket #1049)
 Clear IN_SPACECOUNTED on (re-)used inodes.
 This cures the "unmount pending error:" on softdep umounts.

Revision 1.41.2.12 / (download) - annotate - [select for diffs], Sun Dec 29 20:57:18 2002 UTC (11 years, 11 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.41.2.11: +3 -2 lines
Diff to previous 1.41.2.11 (colored) next main 1.42 (colored)

Sync with HEAD.

Revision 1.57 / (download) - annotate - [select for diffs], Fri Dec 27 16:07:13 2002 UTC (11 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, fvdl_fs64_base
Changes since 1.56: +3 -2 lines
Diff to previous 1.56 (colored)

Clear IN_SPACECOUNTED on (re-)used inodes.
This cures the "unmount pending error:" on softdep umounts.

Approved by: Frank van der Linden <fvdl@netbsd.org>

Revision 1.41.2.11 / (download) - annotate - [select for diffs], Fri Oct 18 02:45:48 2002 UTC (12 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.10: +5 -5 lines
Diff to previous 1.41.2.10 (colored)

Catch up to -current.

Revision 1.44.4.5 / (download) - annotate - [select for diffs], Thu Oct 10 18:44:51 2002 UTC (12 years, 2 months ago) by jdolecek
Branch: kqueue
Changes since 1.44.4.4: +5 -5 lines
Diff to previous 1.44.4.4 (colored) to branchpoint 1.44 (colored) next main 1.45 (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.56 / (download) - annotate - [select for diffs], Fri Sep 27 15:38:03 2002 UTC (12 years, 2 months ago) by provos
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw
Changes since 1.55: +5 -5 lines
Diff to previous 1.55 (colored)

remove trailing \n in panic().  approved perry.

Revision 1.41.2.10 / (download) - annotate - [select for diffs], Mon Jul 15 20:49:20 2002 UTC (12 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.9: +4 -4 lines
Diff to previous 1.41.2.9 (colored)

Revert to curproc.

Revision 1.41.2.9 / (download) - annotate - [select for diffs], Mon Jun 24 22:12:23 2002 UTC (12 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.8: +5 -5 lines
Diff to previous 1.41.2.8 (colored)

Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).

Revision 1.44.4.4 / (download) - annotate - [select for diffs], Sun Jun 23 17:52:06 2002 UTC (12 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.44.4.3: +19 -5 lines
Diff to previous 1.44.4.3 (colored) to branchpoint 1.44 (colored)

catch up with -current on kqueue branch

Revision 1.41.2.8 / (download) - annotate - [select for diffs], Thu Jun 20 03:50:22 2002 UTC (12 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.7: +16 -2 lines
Diff to previous 1.41.2.7 (colored)

Catch up to -current.

Revision 1.55 / (download) - annotate - [select for diffs], Tue May 14 02:46:22 2002 UTC (12 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, gehenna-devsw-base, gehenna-devsw
Branch point for: netbsd-1-6
Changes since 1.54: +16 -2 lines
Diff to previous 1.54 (colored)

Commit out code that's no longer used.

Revision 1.41.2.7 / (download) - annotate - [select for diffs], Wed Apr 17 00:06:30 2002 UTC (12 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.6: +4 -4 lines
Diff to previous 1.41.2.6 (colored)

Catch up to -current.

Revision 1.54 / (download) - annotate - [select for diffs], Wed Apr 10 08:05:11 2002 UTC (12 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.53: +5 -5 lines
Diff to previous 1.53 (colored)

Use blkstofrags() and fragstoblks().  Use &(NBBY-1) rather than %NBBY.
Switch off of fs_fragshift rather than fs_frag (generates better jump tables).

Revision 1.44.4.3 / (download) - annotate - [select for diffs], Thu Jan 10 20:04:59 2002 UTC (12 years, 11 months ago) by thorpej
Branch: kqueue
Changes since 1.44.4.2: +12 -12 lines
Diff to previous 1.44.4.2 (colored) to branchpoint 1.44 (colored)

Sync kqueue branch with -current.

Revision 1.35.4.4 / (download) - annotate - [select for diffs], Sun Nov 25 20:01:55 2001 UTC (13 years ago) by he
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003
Changes since 1.35.4.3: +2 -4 lines
Diff to previous 1.35.4.3 (colored) to branchpoint 1.35 (colored) next main 1.36 (colored)

Pull up revision 1.52 (requested by lukem):
  Mark fs_cgrotor as unused.

Revision 1.35.4.3 / (download) - annotate - [select for diffs], Sun Nov 25 19:59:57 2001 UTC (13 years ago) by he
Branch: netbsd-1-5
Changes since 1.35.4.2: +111 -55 lines
Diff to previous 1.35.4.2 (colored) to branchpoint 1.35 (colored)

Pull up revision 1.50 (requested by lukem):
  Pull in enhanced ffs_dirpref() algorithm, which provides a
  substantial performance improvement through better locality
  between parent/child directories and their files, and by easing
  the pressure on the buffer cache for metadata operations.

Revision 1.35.4.2 / (download) - annotate - [select for diffs], Sun Nov 25 19:23:27 2001 UTC (13 years ago) by he
Branch: netbsd-1-5
Changes since 1.35.4.1: +9 -7 lines
Diff to previous 1.35.4.1 (colored) to branchpoint 1.35 (colored)

Pull up revision 1.45 (requested by lukem):
  Fix scanc() arguments.

Revision 1.35.4.1 / (download) - annotate - [select for diffs], Sun Nov 25 19:20:49 2001 UTC (13 years ago) by he
Branch: netbsd-1-5
Changes since 1.35: +55 -16 lines
Diff to previous 1.35 (colored)

Pull up revision 1.42 (requested by lukem):
  Change ffs_dirpref() to be less pathological.

Revision 1.41.2.6 / (download) - annotate - [select for diffs], Wed Nov 14 19:18:54 2001 UTC (13 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.5: +4 -1 lines
Diff to previous 1.41.2.5 (colored)

Catch up to -current.

Revision 1.52.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:19:44 2001 UTC (13 years, 1 month ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.52: +4 -1 lines
Diff to previous 1.52 (colored) next main 1.53 (colored)

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

Revision 1.53 / (download) - annotate - [select for diffs], Tue Oct 30 01:11:53 2001 UTC (13 years, 1 month ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, newlock-base, newlock, ifpoll-base, ifpoll, eeh-devprop-base, eeh-devprop
Changes since 1.52: +4 -1 lines
Diff to previous 1.52 (colored)

add __KERNEL_RCSID()

Revision 1.50.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:20 2001 UTC (13 years, 2 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.50: +9 -12 lines
Diff to previous 1.50 (colored) next main 1.51 (colored)

Catch up with -current.

Revision 1.41.2.5 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:03 2001 UTC (13 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.4: +123 -70 lines
Diff to previous 1.41.2.4 (colored)

Catch up to -current.

Revision 1.52 / (download) - annotate - [select for diffs], Wed Sep 19 01:38:16 2001 UTC (13 years, 3 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2
Branch point for: thorpej-mips-cache
Changes since 1.51: +2 -4 lines
Diff to previous 1.51 (colored)

- ffs_blkpref() changes:
	- don't both updating fs->fs_cgrotor, since it's actually not used in
	  the kernel. from Manuel Bouyer in [kern/3389]
	- when examining cylinder groups from startcg to startcg-1 (wrapping
	  at fs->fs_ncg), there's no need to check startcg at the end as well
	  as the start...
- highlight in the struct fs declaration that fs_cgrotor is UNUSED

Revision 1.51 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:41 2001 UTC (13 years, 3 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.50: +8 -9 lines
Diff to previous 1.50 (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.44.4.2 / (download) - annotate - [select for diffs], Thu Sep 13 01:16:28 2001 UTC (13 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.44.4.1: +113 -57 lines
Diff to previous 1.44.4.1 (colored) to branchpoint 1.44 (colored)

Update the kqueue branch to HEAD.

Revision 1.50 / (download) - annotate - [select for diffs], Thu Sep 6 02:16:01 2001 UTC (13 years, 3 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-devvp-base, pre-chs-ubcperf
Branch point for: thorpej-devvp
Changes since 1.49: +111 -55 lines
Diff to previous 1.49 (colored)

Incorporate the enhanced ffs_dirpref() by Grigoriy Orlov, as found in
FreeBSD (three commits; the initial work, man page updates, and a fix
to ffs_reload()), with the following differences:
- Be consistent between newfs(8) and tunefs(8) as to the options which
  set and control the tuning parameters for this work (avgfilesize & avgfpdir)
- Use u_int16_t instead of u_int8_t to keep track of the number of
  contiguous directories (suggested by Chuck Silvers)
- Work within our FFS_EI framework
- Ensure that fs->fs_maxclusters and fs->fs_contigdirs don't point to
  the same area of memory

The new algorithm has a marked performance increase, especially when
performing tasks such as untarring pkgsrc.tar.gz, etc.

The original FreeBSD commit messages are attached:

=====
mckusick    2001/04/10 01:39:00 PDT
  Directory layout preference improvements from Grigoriy Orlov <gluk@ptci.ru>.
  His description of the problem and solution follow. My own tests show
  speedups on typical filesystem intensive workloads of 5% to 12% which
  is very impressive considering the small amount of code change involved.

  ------

    One day I noticed that some file operations run much faster on
  small file systems then on big ones. I've looked at the ffs
  algorithms, thought about them, and redesigned the dirpref algorithm.

    First I want to describe the results of my tests. These results are old
  and I have improved the algorithm after these tests were done. Nevertheless
  they show how big the perfomance speedup may be. I have done two file/directory
  intensive tests on a two OpenBSD systems with old and new dirpref algorithm.
  The first test is "tar -xzf ports.tar.gz", the second is "rm -rf ports".
  The ports.tar.gz file is the ports collection from the OpenBSD 2.8 release.
  It contains 6596 directories and 13868 files. The test systems are:

  1. Celeron-450, 128Mb, two IDE drives, the system at wd0, file system for
     test is at wd1. Size of test file system is 8 Gb, number of cg=991,
     size of cg is 8m, block size = 8k, fragment size = 1k OpenBSD-current
     from Dec 2000 with BUFCACHEPERCENT=35

  2. PIII-600, 128Mb, two IBM DTLA-307045 IDE drives at i815e, the system
     at wd0, file system for test is at wd1. Size of test file system is 40 Gb,
     number of cg=5324, size of cg is 8m, block size = 8k, fragment size = 1k
     OpenBSD-current from Dec 2000 with BUFCACHEPERCENT=50

  You can get more info about the test systems and methods at:
  http://www.ptci.ru/gluk/dirpref/old/dirpref.html

                                Test Results

               tar -xzf ports.tar.gz               rm -rf ports
    mode  old dirpref new dirpref speedup old dirprefnew dirpref speedup
                               First system
   normal     667         472      1.41       477        331       1.44
   async      285         144      1.98       130         14       9.29
   sync       768         616      1.25       477        334       1.43
   softdep    413         252      1.64       241         38       6.34
                               Second system
   normal     329         81       4.06       263.5       93.5     2.81
   async      302         25.7    11.75       112          2.26   49.56
   sync       281         57.0     4.93       263         90.5     2.9
   softdep    341         40.6     8.4        284          4.76   59.66

  "old dirpref" and "new dirpref" columns give a test time in seconds.
  speedup - speed increasement in times, ie. old dirpref / new dirpref.

  ------

  Algorithm description

  The old dirpref algorithm is described in comments:

  /*
   * Find a cylinder to place a directory.
   *
   * The policy implemented by this algorithm is to select from
   * among those cylinder groups with above the average number of
   * free inodes, the one with the smallest number of directories.
   */

  A new directory is allocated in a different cylinder groups than its
  parent directory resulting in a directory tree that is spreaded across
  all the cylinder groups. This spreading out results in a non-optimal
  access to the directories and files. When we have a small filesystem
  it is not a problem but when the filesystem is big then perfomance
  degradation becomes very apparent.

  What I mean by a big file system ?

    1. A big filesystem is a filesystem which occupy 20-30 or more percent
       of total drive space, i.e. first and last cylinder are physically
       located relatively far from each other.
    2. It has a relatively large number of cylinder groups, for example
       more cylinder groups than 50% of the buffers in the buffer cache.

  The first results in long access times, while the second results in
  many buffers being used by metadata operations. Such operations use
  cylinder group blocks and on-disk inode blocks. The cylinder group
  block (fs->fs_cblkno) contains struct cg, inode and block bit maps.
  It is 2k in size for the default filesystem parameters. If new and
  parent directories are located in different cylinder groups then the
  system performs more input/output operations and uses more buffers.
  On filesystems with many cylinder groups, lots of cache buffers are
  used for metadata operations.

  My solution for this problem is very simple. I allocate many directories
  in one cylinder group. I also do some things, so that the new allocation
  method does not cause excessive fragmentation and all directory inodes
  will not be located at a location far from its file's inodes and data.
  The algorithm is:
  /*
   * Find a cylinder group to place a directory.
   *
   * The policy implemented by this algorithm is to allocate a
   * directory inode in the same cylinder group as its parent
   * directory, but also to reserve space for its files inodes
   * and data. Restrict the number of directories which may be
   * allocated one after another in the same cylinder group
   * without intervening allocation of files.
   *
   * If we allocate a first level directory then force allocation
   * in another cylinder group.
   */

    My early versions of dirpref give me a good results for a wide range of
  file operations and different filesystem capacities except one case:
  those applications that create their entire directory structure first
  and only later fill this structure with files.

    My solution for such and similar cases is to limit a number of
  directories which may be created one after another in the same cylinder
  group without intervening file creations. For this purpose, I allocate
  an array of counters at mount time. This array is linked to the superblock
  fs->fs_contigdirs[cg]. Each time a directory is created the counter
  increases and each time a file is created the counter decreases. A 60Gb
  filesystem with 8mb/cg requires 10kb of memory for the counters array.

    The maxcontigdirs is a maximum number of directories which may be created
  without an intervening file creation. I found in my tests that the best
  performance occurs when I restrict the number of directories in one cylinder
  group such that all its files may be located in the same cylinder group.
  There may be some deterioration in performance if all the file inodes
  are in the same cylinder group as its containing directory, but their
  data partially resides in a different cylinder group. The maxcontigdirs
  value is calculated to try to prevent this condition. Since there is
  no way to know how many files and directories will be allocated later
  I added two optimization parameters in superblock/tunefs. They are:

          int32_t  fs_avgfilesize;   /* expected average file size */
          int32_t  fs_avgfpdir;      /* expected # of files per directory */

  These parameters have reasonable defaults but may be tweeked for special
  uses of a filesystem. They are only necessary in rare cases like better
  tuning a filesystem being used to store a squid cache.

  I have been using this algorithm for about 3 months. I have done
  a lot of testing on filesystems with different capacities, average
  filesize, average number of files per directory, and so on. I think
  this algorithm has no negative impact on filesystem perfomance. It
  works better than the default one in all cases. The new dirpref
  will greatly improve untarring/removing/coping of big directories,
  decrease load on cvs servers and much more. The new dirpref doesn't
  speedup a compilation process, but also doesn't slow it down.

  Obtained from:	Grigoriy Orlov <gluk@ptci.ru>
=====

=====
iedowse     2001/04/23 17:37:17 PDT
  Pre-dirpref versions of fsck may zero out the new superblock fields
  fs_contigdirs, fs_avgfilesize and fs_avgfpdir. This could cause
  panics if these fields were zeroed while a filesystem was mounted
  read-only, and then remounted read-write.

  Add code to ffs_reload() which copies the fs_contigdirs pointer
  from the previous superblock, and reinitialises fs_avgf* if necessary.

  Reviewed by:	mckusick
=====

=====
nik         2001/04/10 03:36:44 PDT
  Add information about the new options to newfs and tunefs which set the
  expected average file size and number of files per directory.  Could do
  with some fleshing out.
=====

Revision 1.49 / (download) - annotate - [select for diffs], Fri Aug 31 03:38:45 2001 UTC (13 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.48: +5 -5 lines
Diff to previous 1.48 (colored)

no need to cast arg to lblktosize() any more

Revision 1.48 / (download) - annotate - [select for diffs], Thu Aug 30 15:17:28 2001 UTC (13 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.47: +3 -3 lines
Diff to previous 1.47 (colored)

be consistent when casting arg to lblktosize() in UVM_PAGE_TRKOWN debug code

Revision 1.44.4.1 / (download) - annotate - [select for diffs], Sat Aug 25 06:17:16 2001 UTC (13 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.44: +12 -10 lines
Diff to previous 1.44 (colored)

Merge Aug 24 -current into the kqueue branch.

Revision 1.47 / (download) - annotate - [select for diffs], Fri Aug 24 10:24:47 2001 UTC (13 years, 3 months ago) by wiz
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

heirarchy -> hierarchy

Revision 1.41.2.4 / (download) - annotate - [select for diffs], Fri Aug 24 00:13:15 2001 UTC (13 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.3: +10 -8 lines
Diff to previous 1.41.2.3 (colored)

Catch up with -current.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Aug 20 12:00:54 2001 UTC (13 years, 4 months ago) by wiz
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)

precede, not preceed.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Aug 9 08:16:42 2001 UTC (13 years, 4 months ago) by lukem
Branch: MAIN
Changes since 1.44: +9 -7 lines
Diff to previous 1.44 (colored)

correctly cast arguments to scanc()

Revision 1.41.2.3 / (download) - annotate - [select for diffs], Thu Jun 21 20:10:04 2001 UTC (13 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.2: +5 -3 lines
Diff to previous 1.41.2.2 (colored)

Catch up to -current.

Revision 1.44 / (download) - annotate - [select for diffs], Sun Jun 3 16:49:07 2001 UTC (13 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: perseant-lfsv2-base, perseant-lfsv2
Branch point for: kqueue
Changes since 1.43: +4 -2 lines
Diff to previous 1.43 (colored)

fix an error case for quotas.

Revision 1.43 / (download) - annotate - [select for diffs], Wed May 30 11:57:17 2001 UTC (13 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

use _KERNEL_OPT

Revision 1.41.2.2 / (download) - annotate - [select for diffs], Mon Apr 9 01:59:06 2001 UTC (13 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41.2.1: +55 -16 lines
Diff to previous 1.41.2.1 (colored)

Catch up with -current.

Revision 1.29.8.4 / (download) - annotate - [select for diffs], Tue Mar 27 15:32:46 2001 UTC (13 years, 8 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.29.8.3: +55 -16 lines
Diff to previous 1.29.8.3 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Sync with HEAD.

Revision 1.42 / (download) - annotate - [select for diffs], Tue Mar 13 21:16:23 2001 UTC (13 years, 9 months ago) by sommerfeld
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.41: +55 -16 lines
Diff to previous 1.41 (colored)

Change ffs_dirpref() to pay attention to the amount of available free
space before deciding which cylinder group should contain a new directory
inode.

Fixes kern/11983; works around some, but not all, of the side effects
of kern/11989.

Tested by me for well over a month on my laptop; preliminary versions of
the fix were tested by Frank van der Linden and Herb Peyerl.

Revision 1.41.2.1 / (download) - annotate - [select for diffs], Mon Mar 5 22:50:05 2001 UTC (13 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

Initial commit of scheduler activations and lightweight process support.

Revision 1.29.8.3 / (download) - annotate - [select for diffs], Sun Feb 11 19:17:41 2001 UTC (13 years, 10 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.29.8.2: +5 -5 lines
Diff to previous 1.29.8.2 (colored) to branchpoint 1.29 (colored)

Sync with HEAD.

Revision 1.41 / (download) - annotate - [select for diffs], Mon Feb 5 10:55:02 2001 UTC (13 years, 10 months ago) by chs
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored)

add casts to an assertion in ffs_alloc() so it works with offsets past 4GB.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Jan 18 20:28:19 2001 UTC (13 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored)

constify

Revision 1.29.8.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:20:10 2000 UTC (14 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.29.8.1: +76 -23 lines
Diff to previous 1.29.8.1 (colored) to branchpoint 1.29 (colored)

Sync with HEAD.

Revision 1.39 / (download) - annotate - [select for diffs], Thu Nov 30 20:56:10 2000 UTC (14 years ago) by nathanw
Branch: MAIN
Changes since 1.38: +1 -2 lines
Diff to previous 1.38 (colored)

Don't set the value of doreallocblks here; it's defined over in vfs_cluster.c
In fact, doreallocblks isn't used here at all. Delete the declaration.

Revision 1.38 / (download) - annotate - [select for diffs], Thu Nov 30 19:46:02 2000 UTC (14 years ago) by jdolecek
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

change vfs.ffs.doreallocblks to 1 by default - this does not have
aby bad symptoms any more, fix for bug causing problems with this
option was in BSD4.4-Lite2 and pulled in together with softdep changes

See also Keith Smith & Margo Seltzer's paper on the topic at
http://www.eecs.harvard.edu/~keith/papers/realloc.ps.gz

Revision 1.37 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:54 2000 UTC (14 years ago) by chs
Branch: MAIN
Changes since 1.36: +77 -23 lines
Diff to previous 1.36 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.29.8.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:11:43 2000 UTC (14 years, 1 month ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.29: +217 -149 lines
Diff to previous 1.29 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.36 / (download) - annotate - [select for diffs], Wed Jun 28 14:16:39 2000 UTC (14 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.35: +1 -5 lines
Diff to previous 1.35 (colored)

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

Revision 1.35 / (download) - annotate - [select for diffs], Fri May 19 04:34:44 2000 UTC (14 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.34: +18 -18 lines
Diff to previous 1.34 (colored)

NULL != 0

Revision 1.34 / (download) - annotate - [select for diffs], Tue Apr 4 09:23:20 2000 UTC (14 years, 8 months ago) by jdolecek
Branch: MAIN
Changes since 1.33: +18 -9 lines
Diff to previous 1.33 (colored)

Add a new sysctl variable vfs.ffs.log_changeopt - if this is true,
an optimalization strategy change is logged into syslog. Default
is 0 (to not log). This replaces the recent not quite "right"
change to only log the change if kernel is compiled with DEBUG.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Mar 30 12:41:12 2000 UTC (14 years, 8 months ago) by augustss
Branch: MAIN
Changes since 1.32: +28 -28 lines
Diff to previous 1.32 (colored)

Remove register declarations.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Mar 29 08:46:57 2000 UTC (14 years, 8 months ago) by jdolecek
Branch: MAIN
Changes since 1.31: +5 -1 lines
Diff to previous 1.31 (colored)

Log the optimization changes only if DEBUG. Fixes kern/9697

Revision 1.31 / (download) - annotate - [select for diffs], Mon Feb 14 22:00:22 2000 UTC (14 years, 10 months ago) by fvdl
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (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.29.14.2 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:36 1999 UTC (14 years, 11 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.29.14.1: +159 -100 lines
Diff to previous 1.29.14.1 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

Pull up to last week's -current.

Revision 1.29.14.1 / (download) - annotate - [select for diffs], Tue Dec 21 23:20:07 1999 UTC (15 years ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.29: +8 -8 lines
Diff to previous 1.29 (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.30 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:13 1999 UTC (15 years, 1 month ago) by fvdl
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.29: +159 -100 lines
Diff to previous 1.29 (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.29.10.1 / (download) - annotate - [select for diffs], Tue Oct 19 12:50:33 1999 UTC (15 years, 2 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.29: +159 -100 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

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

Revision 1.29.4.2 / (download) - annotate - [select for diffs], Sun Jul 11 05:43:59 1999 UTC (15 years, 5 months ago) by chs
Branch: chs-ubc2
Changes since 1.29.4.1: +1 -2 lines
Diff to previous 1.29.4.1 (colored) to branchpoint 1.29 (colored) next main 1.30 (colored)

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

Revision 1.29.4.1 / (download) - annotate - [select for diffs], Mon Jun 7 04:25:34 1999 UTC (15 years, 6 months ago) by chs
Branch: chs-ubc2
Changes since 1.29: +46 -24 lines
Diff to previous 1.29 (colored)

merge everything from chs-ubc branch.

Revision 1.26.2.4 / (download) - annotate - [select for diffs], Sun May 30 14:58:53 1999 UTC (15 years, 6 months ago) by chs
Branch: chs-ubc
Changes since 1.26.2.3: +7 -28 lines
Diff to previous 1.26.2.3 (colored) to branchpoint 1.26 (colored) next main 1.27 (colored)

uvm_vnp_setpageblknos() is gone, and some misc cleanup.

Revision 1.26.2.3 / (download) - annotate - [select for diffs], Fri Apr 9 04:33:22 1999 UTC (15 years, 8 months ago) by chs
Branch: chs-ubc
Changes since 1.26.2.2: +4 -2 lines
Diff to previous 1.26.2.2 (colored) to branchpoint 1.26 (colored)

in ffs_reallocg(), don't dereference bpp if it's NULL.

Revision 1.29 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:30 1999 UTC (15 years, 9 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep, chs-ubc2
Changes since 1.28: +3 -6 lines
Diff to previous 1.28 (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.28 / (download) - annotate - [select for diffs], Fri Mar 5 21:09:49 1999 UTC (15 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.27: +3 -6 lines
Diff to previous 1.27 (colored)

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

Revision 1.26.2.2 / (download) - annotate - [select for diffs], Thu Feb 25 04:00:12 1999 UTC (15 years, 9 months ago) by chs
Branch: chs-ubc
Changes since 1.26.2.1: +5 -4 lines
Diff to previous 1.26.2.1 (colored) to branchpoint 1.26 (colored)

replace uvm_vnp_relocate() with uvm_vnp_setpageblknos().

Revision 1.27 / (download) - annotate - [select for diffs], Thu Nov 12 19:54:41 1998 UTC (16 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.26: +2 -1 lines
Diff to previous 1.26 (colored)

defopt FFS_EI

Revision 1.26.2.1 / (download) - annotate - [select for diffs], Mon Nov 9 06:06:35 1998 UTC (16 years, 1 month ago) by chs
Branch: chs-ubc
Changes since 1.26: +67 -21 lines
Diff to previous 1.26 (colored)

initial snapshot.  lots left to do.

Revision 1.26 / (download) - annotate - [select for diffs], Tue Aug 18 18:15:41 1998 UTC (16 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc-base
Branch point for: chs-ubc
Changes since 1.25: +1 -6 lines
Diff to previous 1.25 (colored)

Back out part of last change (uninitialized work-around).

Revision 1.25 / (download) - annotate - [select for diffs], Tue Aug 18 06:47:53 1998 UTC (16 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.24: +9 -3 lines
Diff to previous 1.24 (colored)

Add some braces to make egcs happy (ambiguous else warning).  Also,
deal with bogus uninitialized warning (__noreturn__ related)

Revision 1.24 / (download) - annotate - [select for diffs], Sun Aug 9 20:15:39 1998 UTC (16 years, 4 months ago) by perry
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

bzero->memset, bcopy->memcpy, bcmp->memcmp

Revision 1.23 / (download) - annotate - [select for diffs], Tue Jul 28 17:30:01 1998 UTC (16 years, 4 months ago) by drochner
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.22: +5 -1 lines
Diff to previous 1.22 (colored)

The fragtbl[], inside[] and around[] variables are needed by "fsck",
so we can't put them inside "#ifdef _KERNEL".
Put declarations inside .c files where needed to preserve namespace.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Jun 9 07:46:32 1998 UTC (16 years, 6 months ago) by scottr
Branch: MAIN
Changes since 1.21: +3 -1 lines
Diff to previous 1.21 (colored)

Protect various config(8)-generated files from inclusion while
building LKMs.  Fixes PR 5557.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Jun 8 04:27:51 1998 UTC (16 years, 6 months ago) by scottr
Branch: MAIN
Changes since 1.20: +2 -1 lines
Diff to previous 1.20 (colored)

Use the newly-defined opt_quota.h.

Revision 1.20 / (download) - annotate - [select for diffs], Thu Mar 19 03:42:35 1998 UTC (16 years, 9 months ago) by ross
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)

Fix a 64-bit pointer/int warning.

Revision 1.19 / (download) - annotate - [select for diffs], Wed Mar 18 15:57:27 1998 UTC (16 years, 9 months ago) by bouyer
Branch: MAIN
Changes since 1.18: +170 -134 lines
Diff to previous 1.18 (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.1.1.3 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:56:14 1998 UTC (16 years, 9 months 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)

Import some files that were changed after Lite2

Revision 1.18 / (download) - annotate - [select for diffs], Sun Mar 1 02:23:14 1998 UTC (16 years, 9 months ago) by fvdl
Branch: MAIN
Changes since 1.17: +133 -59 lines
Diff to previous 1.17 (colored)

Merge with Lite2 + local changes

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:14:03 1998 UTC (16 years, 9 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-2
Changes since 1.1.1.1: +187 -65 lines
Diff to previous 1.1.1.1 (colored)

Import 4.4BSD-Lite2

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:10:44 1998 UTC (16 years, 9 months ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1: +1 -6 lines
Diff to previous 1.1 (colored)

Import 4.4BSD-Lite for reference

Revision 1.17 / (download) - annotate - [select for diffs], Tue Feb 10 14:10:51 1998 UTC (16 years, 10 months ago) by mrg
Branch: MAIN
Changes since 1.16: +3 -1 lines
Diff to previous 1.16 (colored)

- add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Feb 5 08:00:32 1998 UTC (16 years, 10 months ago) by mrg
Branch: MAIN
Changes since 1.15: +5 -1 lines
Diff to previous 1.15 (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.15 / (download) - annotate - [select for diffs], Wed Jun 11 10:09:37 1997 UTC (17 years, 6 months ago) by bouyer
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia, bouyer-scsipi
Changes since 1.14: +16 -16 lines
Diff to previous 1.14 (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.13.6.1 / (download) - annotate - [select for diffs], Wed Mar 12 21:26:22 1997 UTC (17 years, 9 months ago) by is
Branch: is-newarp
Changes since 1.13: +2 -6 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Merge in changes from Trunk

Revision 1.14 / (download) - annotate - [select for diffs], Mon Mar 10 06:18:28 1997 UTC (17 years, 9 months ago) by mycroft
Branch: MAIN
CVS Tags: is-newarp-before-merge
Changes since 1.13: +2 -6 lines
Diff to previous 1.13 (colored)

Just increment the generation count.  Using the time is bogus and defeats
fsirand(8).

Revision 1.13 / (download) - annotate - [select for diffs], Sat Oct 12 21:58:44 1996 UTC (18 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-base
Branch point for: is-newarp
Changes since 1.12: +23 -23 lines
Diff to previous 1.12 (colored)

revert previous kprintf changes

Revision 1.12 / (download) - annotate - [select for diffs], Thu Oct 10 17:21:13 1996 UTC (18 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.11: +23 -23 lines
Diff to previous 1.11 (colored)

printf -> kprintf, sprintf -> ksprintf

Revision 1.11 / (download) - annotate - [select for diffs], Sat May 11 18:27:09 1996 UTC (18 years, 7 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.10: +6 -4 lines
Diff to previous 1.10 (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.10 / (download) - annotate - [select for diffs], Sun Mar 17 02:16:18 1996 UTC (18 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

Fix printf format strings

Revision 1.9 / (download) - annotate - [select for diffs], Fri Feb 9 22:22:18 1996 UTC (18 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.8: +38 -25 lines
Diff to previous 1.8 (colored)

ffs prototypes

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jul 19 15:47:36 1995 UTC (19 years, 5 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

don't just throw away updates to the cylinder group bitmaps, actually
write them to disk!  From Keith Smith at Harvard, via Kirk McKusick.
fixes the occasional `blkfree: freeing free block' that has been seen
when cluster reallocation code is enabled.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Mar 24 15:33:23 1995 UTC (19 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.6: +3 -2 lines
Diff to previous 1.6 (colored)

explicitly cast &time to (struct timeval *) when passing it to VOP_UPDATE.
new prototypes and picky compilers make a volatile mess.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Dec 16 05:55:15 1994 UTC (20 years ago) by mycroft
Branch: MAIN
Changes since 1.5: +8 -8 lines
Diff to previous 1.5 (colored)

Ignore rotational optimization if nrpos == 1, as suggested by Stefan Esser.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Dec 14 13:03:35 1994 UTC (20 years ago) by mycroft
Branch: MAIN
Changes since 1.4: +55 -6 lines
Diff to previous 1.4 (colored)

Sync with CSRG.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Oct 20 04:20:55 1994 UTC (20 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.3: +7 -7 lines
Diff to previous 1.3 (colored)

update for new syscall args description mechanism, and deal safely
with wider types.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jul 4 21:06:07 1994 UTC (20 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.2: +4 -3 lines
Diff to previous 1.2 (colored)

Do the doasyncfree conditionalization better.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 29 06:46:26 1994 UTC (20 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.1: +3 -2 lines
Diff to previous 1.1 (colored)

New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.1 / (download) - annotate - [select for diffs], Wed Jun 8 11:41:58 1994 UTC (20 years, 6 months ago) by mycroft
Branch: MAIN

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>