The NetBSD Project

CVS log for src/sys/ufs/ufs/ufs_extern.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.72.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:18:40 2013 UTC (9 months, 3 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.72.2.1: +1 -7 lines
Diff to previous 1.72.2.1 (colored) to branchpoint 1.72 (colored) next main 1.73 (colored)

resync from head

Revision 1.73 / (download) - annotate - [select for diffs], Sun Jun 16 13:33:30 2013 UTC (10 months ago) by hannken
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, HEAD
Changes since 1.72: +1 -7 lines
Diff to previous 1.72 (colored)

Add an UFS_SNAPGONE() ufs op replacing the calls
to ffs_snapgone() in ufs_lookup.c.

Ok: David Holland <dholland@netbsd.org>

Welcome to 6.99.22

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Sun Feb 10 16:26:34 2013 UTC (14 months ago) by tls
Branch: tls-maxphys
Changes since 1.72: +13 -1 lines
Diff to previous 1.72 (colored)


Add an accessor -- ufs_maxphys() -- to check the maximum transfer size
for a given UFS mountpoint, and move the code from mount that finds
the underlying disk and resets the mountpoint max transfer size into a
utility function, ufs_update_maxphys().

Add a global serial number that counts disk property changes to which
filesystems are meant to accomodate themselves.  Make ufs_maxphys()
check it.  This is a sort of flag-polling interface that avoids callbacks
into the filesystem code, but will require freezing filesystems and
draining in-flight transactions before a decrease in size that is
mandatory (like attaching a disk with a smaller maximum transfer size
as a spare in a RAIDframe set), rather than "advisory", like finding
out set geometry from a RAID controller long after boot and deciding
a smaller transfer size would be optimal, can be signalled.  Still, the
"advisory" case is the common one so this is progress.

Make a bit of an example of RAIDframe by making it bump this new
serial number when disks are added to the subsystem.  I will attack
one of the hardware RAID drivers (probably arcmsr) next.

Revision 1.66.6.2 / (download) - annotate - [select for diffs], Sat Jun 2 11:09:41 2012 UTC (22 months, 2 weeks ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.66.6.1: +24 -1 lines
Diff to previous 1.66.6.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored)

sync to latest -current.

Revision 1.66.2.2 / (download) - annotate - [select for diffs], Wed May 23 10:08:19 2012 UTC (22 months, 3 weeks ago) by yamt
Branch: yamt-pagecache
Changes since 1.66.2.1: +24 -1 lines
Diff to previous 1.66.2.1 (colored) to branchpoint 1.66 (colored) next main 1.67 (colored)

sync with head.

Revision 1.60.8.1 / (download) - annotate - [select for diffs], Sat May 19 17:28:29 2012 UTC (22 months, 4 weeks ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.60: +7 -5 lines
Diff to previous 1.60 (colored) next main 1.61 (colored)

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


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

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

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

Revision 1.72 / (download) - annotate - [select for diffs], Wed May 9 00:21:18 2012 UTC (23 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, khorben-n900, jmcneill-usbmp-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys
Changes since 1.71: +24 -1 lines
Diff to previous 1.71 (colored)

Adapt ffs, lfs, and ext2fs to use genfs_rename.

ok dholland, rmind

Revision 1.66.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:57 2012 UTC (2 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.66: +5 -3 lines
Diff to previous 1.66 (colored)

sync with head

Revision 1.66.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:35:56 2012 UTC (2 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.66: +5 -3 lines
Diff to previous 1.66 (colored)

merge to -current.

Revision 1.71 / (download) - annotate - [select for diffs], Wed Feb 1 05:34:43 2012 UTC (2 years, 2 months ago) by dholland
Branch: MAIN
CVS Tags: 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-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-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored)

Change the syscall API for quotas over to the new non-proplib one.

   - struct vfs_quotactl_args -> struct quotactl_args
   - add sys/stdint.h to sys/quotactl.h for clean userland build
   - install sys/quotactl.h in /usr/include
   - update set lists for same
   - add new marshalling code in libquota
   - add new unmarshalling code in vfs_syscalls.c
   - discard proplib interpreter code in vfs_quotactl.c
   - add dispatching code for the 14 quotactl ops in vfs_quotactl.c
   - mark the proplib quotactl syscall obsolete
   - add a new syscall number for the new quotactl syscall
   - change the name of the syscall to __quotactl()
   - remove the decl of the old quotactl from quota/quotaprop.h
   - add a decl of the new quotactl to sys/quotactl.h
   - update the libc build
   - update ktruss
   - remove proplib marshalling code from libquota
   - update copy of syscall table in gdb ppc sources
   - hack rumphijack to accomodate new quotactl name (as I recall,
     pooka wanted such a name change to simplify something, but I
     don't really see what/how)

This change appears to require a kernel version bump for rumpish
reasons.

Revision 1.70 / (download) - annotate - [select for diffs], Sun Jan 29 07:14:38 2012 UTC (2 years, 2 months ago) by dholland
Branch: MAIN
Changes since 1.69: +3 -3 lines
Diff to previous 1.69 (colored)

Remove the extra op argument to VFS_QUOTACTL() - the op is now stored
purely in the args structure.

This change requires a kernel version bump.

Revision 1.69 / (download) - annotate - [select for diffs], Sun Jan 29 06:36:07 2012 UTC (2 years, 2 months ago) by dholland
Branch: MAIN
Changes since 1.68: +3 -3 lines
Diff to previous 1.68 (colored)

Introduce struct vfs_quotactl_args. Use it.

This change uglifies vfs_quotactl some in order to make room for
moving operation-specific but FS-independent logic out of ufs_quota.c.

Note: this change requires a kernel version bump.

Revision 1.68 / (download) - annotate - [select for diffs], Sun Jan 29 06:34:58 2012 UTC (2 years, 2 months ago) by dholland
Branch: MAIN
Changes since 1.67: +5 -3 lines
Diff to previous 1.67 (colored)

Move the proplib-based quota command dispatching (that is, the code
that knows the magic string names for the allowed actions) out of
UFS-specific code and to fs-independent code.

This introduces QUOTACTL_* operation codes and changes the signature
of VFS_QUOTACTL() again for compile safety.

Note: this change requires a kernel version bump.

Revision 1.67 / (download) - annotate - [select for diffs], Sun Jan 29 06:32:44 2012 UTC (2 years, 2 months ago) by dholland
Branch: MAIN
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)

Move the code for iterating over the multiple RPC calls in a quota
proplib XML packet to vfs_quotactl.c out of sys/ufs/ufs.

Add a dummy extra arg to VFS_QUOTACTL for compile safety.

Note: this change requires a kernel version bump.

Revision 1.66 / (download) - annotate - [select for diffs], Sun Jul 17 22:07:59 2011 UTC (2 years, 9 months ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, jmcneill-usbmp
Changes since 1.65: +3 -1 lines
Diff to previous 1.65 (colored)

Provide correct locking for ufs_wapbl_rename. Note that this does not
fix the non-wapbl rename; that will be coming soon. This patch also
leaves a lot of the older locking-related code around in #if 0 blocks,
and there's a lot of leftover redundant logic. All that will be going
away later.

Relates to at least these PRs:

  PR kern/24887
  PR kern/41417
  PR kern/42093
  PR kern/43626

and possibly others.

Revision 1.65 / (download) - annotate - [select for diffs], Tue Jul 12 16:59:49 2011 UTC (2 years, 9 months ago) by dholland
Branch: MAIN
Changes since 1.64: +10 -6 lines
Diff to previous 1.64 (colored)

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

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

Revision 1.62.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:10:18 2011 UTC (2 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.62: +10 -8 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

Sync with HEAD.

Revision 1.62.4.1 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:21 2011 UTC (2 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.62: +10 -8 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

sync with head

Revision 1.64 / (download) - annotate - [select for diffs], Mon Apr 4 21:46:15 2011 UTC (3 years ago) by ahoka
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.63: +2 -1 lines
Diff to previous 1.63 (colored)

add "struct ufid;" so we can include it without ufs/inode.h

Revision 1.63 / (download) - annotate - [select for diffs], Sun Mar 6 17:08:39 2011 UTC (3 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.62: +9 -8 lines
Diff to previous 1.62 (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.62.8.2 / (download) - annotate - [select for diffs], Tue Feb 8 20:00:53 2011 UTC (3 years, 2 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.62.8.1: +5 -2 lines
Diff to previous 1.62.8.1 (colored) to branchpoint 1.62 (colored) next main 1.63 (colored)

Minimal hacking to make 'options QUOTA' compile again.

Revision 1.62.8.1 / (download) - annotate - [select for diffs], Thu Jan 20 14:25:03 2011 UTC (3 years, 2 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.62: +6 -8 lines
Diff to previous 1.62 (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.58.10.2 / (download) - annotate - [select for diffs], Wed Sep 16 13:38:07 2009 UTC (4 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.58.10.1: +2 -1 lines
Diff to previous 1.58.10.1 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored)

sync with head

Revision 1.62 / (download) - annotate - [select for diffs], Sun Sep 13 05:17:37 2009 UTC (4 years, 7 months ago) by tsutsui
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: rmind-uvmplock, jruoho-x86intr, bouyer-quota2
Changes since 1.61: +2 -1 lines
Diff to previous 1.61 (colored)

Move declaration of ufs_hashlock into <ufs/ufs_extern.h> from each c source.

Revision 1.60.12.1 / (download) - annotate - [select for diffs], Wed May 13 17:23:07 2009 UTC (4 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.60: +1 -15 lines
Diff to previous 1.60 (colored) next main 1.61 (colored)

Sync with HEAD.

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

Revision 1.58.10.1 / (download) - annotate - [select for diffs], Mon May 4 08:14:38 2009 UTC (4 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.58: +2 -15 lines
Diff to previous 1.58 (colored)

sync with head.

Revision 1.60.6.1 / (download) - annotate - [select for diffs], Tue Mar 3 18:34:40 2009 UTC (5 years, 1 month ago) by skrll
Branch: nick-hppapmap
Changes since 1.60: +1 -15 lines
Diff to previous 1.60 (colored) next main 1.61 (colored)

Sync with HEAD.

Revision 1.61 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:07 2009 UTC (5 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend-base
Changes since 1.60: +1 -15 lines
Diff to previous 1.60 (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.58.12.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:32:05 2008 UTC (5 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

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

Revision 1.58.8.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:53 2008 UTC (5 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.58.8.1: +2 -1 lines
Diff to previous 1.58.8.1 (colored) to branchpoint 1.58 (colored) next main 1.59 (colored)

sync with head

Revision 1.58.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:37 2008 UTC (5 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.58: +3 -2 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

Sync with HEAD.

Revision 1.60 / (download) - annotate - [select for diffs], Sat May 31 21:37:08 2008 UTC (5 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, jym-xensuspend
Changes since 1.59: +2 -1 lines
Diff to previous 1.59 (colored)

XXX softdep:

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

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

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

Revision 1.58.8.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:56 2008 UTC (5 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

sync with head.

Revision 1.59 / (download) - annotate - [select for diffs], Fri May 16 09:22:01 2008 UTC (5 years, 11 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pf42-base2, hpcarm-cleanup-nbase
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (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.54.2.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:12 2008 UTC (6 years ago) by matt
Branch: matt-armv6
Changes since 1.54.2.1: +1 -2 lines
Diff to previous 1.54.2.1 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored)

sync with HEAD

Revision 1.54.8.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:32 2008 UTC (6 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.54.8.1: +6 -3 lines
Diff to previous 1.54.8.1 (colored) to branchpoint 1.54 (colored) next main 1.55 (colored)

Sync with HEAD.

Revision 1.43.2.6 / (download) - annotate - [select for diffs], Mon Feb 4 09:25:07 2008 UTC (6 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.43.2.5: +1 -2 lines
Diff to previous 1.43.2.5 (colored) next main 1.44 (colored)

sync with head.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Jan 25 14:32:17 2008 UTC (6 years, 2 months ago) by ad
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, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2
Changes since 1.57: +1 -2 lines
Diff to previous 1.57 (colored)

Remove VOP_LEASE. Discussed on tech-kern.

Revision 1.43.2.5 / (download) - annotate - [select for diffs], Mon Jan 21 09:48:16 2008 UTC (6 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.43.2.4: +6 -2 lines
Diff to previous 1.43.2.4 (colored)

sync with head

Revision 1.54.2.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:34 2008 UTC (6 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.54: +9 -5 lines
Diff to previous 1.54 (colored)

sync with HEAD

Revision 1.55.6.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:12:05 2008 UTC (6 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.55.6.1: +1 -1 lines
Diff to previous 1.55.6.1 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored)

Sync with HEAD

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

Use pool_cache.

Revision 1.55.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:58:29 2008 UTC (6 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.55: +5 -1 lines
Diff to previous 1.55 (colored)

Sync with HEAD

Revision 1.56 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:13 2008 UTC (6 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.55: +5 -1 lines
Diff to previous 1.55 (colored)

Merge vmlocking2 to head.

Revision 1.55.2.1 / (download) - annotate - [select for diffs], Wed Dec 19 00:02:03 2007 UTC (6 years, 4 months ago) by ad
Branch: vmlocking2
Changes since 1.55: +5 -1 lines
Diff to previous 1.55 (colored) next main 1.56 (colored)

Get lfs mostly working.

Revision 1.54.8.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:43 2007 UTC (6 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.54: +4 -4 lines
Diff to previous 1.54 (colored)

Sync with HEAD.

Revision 1.43.2.4 / (download) - annotate - [select for diffs], Fri Dec 7 17:35:23 2007 UTC (6 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.43.2.3: +4 -4 lines
Diff to previous 1.43.2.3 (colored)

sync with head

Revision 1.53.6.2 / (download) - annotate - [select for diffs], Tue Nov 27 19:39:29 2007 UTC (6 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.53.6.1: +4 -4 lines
Diff to previous 1.53.6.1 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.55 / (download) - annotate - [select for diffs], Mon Nov 26 19:02:34 2007 UTC (6 years, 4 months ago) by pooka
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, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.54: +4 -4 lines
Diff to previous 1.54 (colored)

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

quick consensus on tech-kern

Revision 1.43.2.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:47:00 2007 UTC (6 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.43.2.2: +16 -18 lines
Diff to previous 1.43.2.2 (colored)

sync with head.

Revision 1.52.2.2 / (download) - annotate - [select for diffs], Mon Aug 20 21:28:29 2007 UTC (6 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.52.2.1: +4 -4 lines
Diff to previous 1.52.2.1 (colored) to branchpoint 1.52 (colored) next main 1.53 (colored)

Sync with HEAD.

Revision 1.53.6.1 / (download) - annotate - [select for diffs], Thu Aug 16 11:04:02 2007 UTC (6 years, 8 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored)

Sync with HEAD.

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:51:17 2007 UTC (6 years, 8 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored) next main 1.54 (colored)

Sync with HEAD.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Aug 9 09:22:34 2007 UTC (6 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, nick-csl-alignment-base5, matt-armv6-prevmlocking, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs, matt-armv6
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored)

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

Ride on 4.99.28

Revision 1.52.2.1 / (download) - annotate - [select for diffs], Sun Jul 15 13:28:20 2007 UTC (6 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.52: +7 -9 lines
Diff to previous 1.52 (colored)

Sync with head.

Revision 1.52.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:12:50 2007 UTC (6 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.52: +7 -9 lines
Diff to previous 1.52 (colored) next main 1.53 (colored)

Sync with head.

Revision 1.53 / (download) - annotate - [select for diffs], Tue Jul 10 09:50:09 2007 UTC (6 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: nick-csl-alignment, jmcneill-pm
Changes since 1.52: +7 -9 lines
Diff to previous 1.52 (colored)

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

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

No objections on tech-kern@

Revision 1.50.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 06:01:10 2007 UTC (7 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.50.2.1: +7 -7 lines
Diff to previous 1.50.2.1 (colored) to branchpoint 1.50 (colored) next main 1.51 (colored)

Sync with HEAD.

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

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

Revision 1.50.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:55:23 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 (colored)

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

Revision 1.43.2.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:24 2007 UTC (7 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.43.2.1: +5 -5 lines
Diff to previous 1.43.2.1 (colored)

sync with head.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Feb 21 23:00:11 2007 UTC (7 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 (colored)

Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.

Revision 1.49.8.1 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:51 2007 UTC (7 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.49: +4 -4 lines
Diff to previous 1.49 (colored) next main 1.50 (colored)

Sync with head.

Revision 1.50 / (download) - annotate - [select for diffs], Fri Jan 19 14:49:13 2007 UTC (7 years, 3 months ago) by hannken
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.49: +4 -4 lines
Diff to previous 1.49 (colored)

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

Implemented for file systems of type ffs.

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

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

Welcome to 4.99.9 (new vfs op vfs_suspendctl).

Revision 1.48.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 03:00:13 2006 UTC (7 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.48: +9 -10 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

sync with head

Revision 1.43.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:12:39 2006 UTC (7 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.43: +96 -99 lines
Diff to previous 1.43 (colored)

sync with head.

Revision 1.48.4.1 / (download) - annotate - [select for diffs], Thu Jun 1 22:39:44 2006 UTC (7 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.48: +9 -10 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Sync with head.

Revision 1.48.10.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:48 2006 UTC (7 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.48: +8 -9 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

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

Revision 1.48.6.1 / (download) - annotate - [select for diffs], Wed May 24 10:59:26 2006 UTC (7 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.48: +9 -10 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

sync with head.

Revision 1.49 / (download) - annotate - [select for diffs], Sun May 14 21:33:39 2006 UTC (7 years, 11 months ago) by elad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, 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, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: newlock2
Changes since 1.48: +8 -9 lines
Diff to previous 1.48 (colored)

integrate kauth.

Revision 1.48.8.2 / (download) - annotate - [select for diffs], Sat May 6 23:32:58 2006 UTC (7 years, 11 months ago) by christos
Branch: elad-kernelauth
Changes since 1.48.8.1: +1 -2 lines
Diff to previous 1.48.8.1 (colored) to branchpoint 1.48 (colored) next main 1.49 (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.48.8.1 / (download) - annotate - [select for diffs], Wed Mar 8 01:39:12 2006 UTC (8 years, 1 month ago) by elad
Branch: elad-kernelauth
Changes since 1.48: +9 -9 lines
Diff to previous 1.48 (colored)

Adapt to kernel authorization KPI.

Revision 1.47.2.1 / (download) - annotate - [select for diffs], Sun Jan 15 10:03:05 2006 UTC (8 years, 3 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.47: +2 -1 lines
Diff to previous 1.47 (colored) next main 1.48 (colored)

sync with head.

Revision 1.48 / (download) - annotate - [select for diffs], Sat Jan 14 17:41:18 2006 UTC (8 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, 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.47: +2 -1 lines
Diff to previous 1.47 (colored)

- unify ffs_blkatoff and lfs_blkatoff.
- remove ufs_ops::uo_blkatoff.
- add directory read-ahead code.  (disabled for now.)

Revision 1.47 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:28 2005 UTC (8 years, 4 months ago) by christos
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.46: +7 -7 lines
Diff to previous 1.46 (colored)

merge ktrace-lwp.

Revision 1.36.2.8 / (download) - annotate - [select for diffs], Thu Nov 10 14:12:39 2005 UTC (8 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.36.2.7: +94 -97 lines
Diff to previous 1.36.2.7 (colored) next main 1.37 (colored)

Sync with HEAD. Here we go again...

Revision 1.46 / (download) - annotate - [select for diffs], Fri Sep 23 12:10:34 2005 UTC (8 years, 6 months ago) by jmmv
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.45: +1 -2 lines
Diff to previous 1.45 (colored)

Apply the NFS exports list rototill patch:

- Remove all NFS related stuff from file system specific code.
- Drop the vfs_checkexp hook and generalize it in the new nfs_check_export
  function, thus removing redundancy from all file systems.
- Move all NFS export-related stuff from kern/vfs_subr.c to the new
  file sys/nfs/nfs_export.c.  The former was becoming large and its code
  is always compiled, regardless of the build options.  Using the latter,
  the code is only compiled in when NFSSERVER is enabled.  While doing this,
  also make some functions in nfs_subs.c conditional to NFSSERVER.
- Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a
  path and a set of export entries.  At the moment it can only clear the
  exports list or append entries, one by one, but it is done in a way that
  allows setting the whole set of entries atomically in the future (see the
  comment in mountd_set_exports_list or in doc/TODO).
- Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so
  that it becomes file system agnostic.  In fact, all this whole thing was
  done to remove a 'XXX' block from this utility!
- Change the mount*, newfs and fsck* userland utilities to not deal with NFS
  exports initialization; done internally by the kernel when initializing
  the NFS support for each file system.
- Implement an interface for VFS (called VFS hooks) so that several kernel
  subsystems can run arbitrary code upon receipt of specific VFS events.
  At the moment, this only provides support for unmount and is used to
  destroy NFS exports lists from the file systems being unmounted, though it
  has room for extension.

Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments
and advice in the development of this patch.

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

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

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

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

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

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

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

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

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

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

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

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

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

Revision 1.44 / (download) - annotate - [select for diffs], Sun Jul 10 00:18:52 2005 UTC (8 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.43: +94 -97 lines
Diff to previous 1.43 (colored)

- Use ANSI function decls.
- Sprinkle some static.

Revision 1.43 / (download) - annotate - [select for diffs], Sun May 29 21:25:24 2005 UTC (8 years, 10 months ago) by christos
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

- sprinkle const
- avoid shadow variables.

Revision 1.41.4.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:29:39 2005 UTC (8 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

sync with -current

Revision 1.41.6.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:37:06 2005 UTC (9 years, 1 month ago) by yamt
Branch: yamt-km
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

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

Revision 1.36.2.7 / (download) - annotate - [select for diffs], Fri Mar 4 16:55:00 2005 UTC (9 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.36.2.6: +2 -2 lines
Diff to previous 1.36.2.6 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.42 / (download) - annotate - [select for diffs], Sat Feb 26 22:32:20 2005 UTC (9 years, 1 month 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.41: +2 -2 lines
Diff to previous 1.41 (colored)

nuke trailing whitespace

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

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

Revision 1.36.2.5 / (download) - annotate - [select for diffs], Tue Sep 21 13:39:22 2004 UTC (9 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.36.2.4: +9 -9 lines
Diff to previous 1.36.2.4 (colored)

Fix the sync with head I botched.

Revision 1.36.2.4 / (download) - annotate - [select for diffs], Sat Sep 18 14:56:59 2004 UTC (9 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.36.2.3: +9 -9 lines
Diff to previous 1.36.2.3 (colored)

Sync with HEAD.

Revision 1.36.2.3 / (download) - annotate - [select for diffs], Tue Aug 24 17:57:56 2004 UTC (9 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.36.2.2: +4 -4 lines
Diff to previous 1.36.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.36.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:57:00 2004 UTC (9 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.36.2.1: +12 -8 lines
Diff to previous 1.36.2.1 (colored)

Sync with HEAD

Revision 1.41 / (download) - annotate - [select for diffs], Sun Jun 20 18:25:49 2004 UTC (9 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, matt-timespec, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.40: +3 -1 lines
Diff to previous 1.40 (colored)

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

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

Revision 1.40 / (download) - annotate - [select for diffs], Tue May 25 14:55:46 2004 UTC (9 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.39: +7 -1 lines
Diff to previous 1.39 (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.39 / (download) - annotate - [select for diffs], Tue Apr 27 17:37:31 2004 UTC (9 years, 11 months ago) by jrf
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

First pass for some caddr_t removal and changes to get rid of it where we
no longer use and/or need it

	- removed casts from unionfs, deadfs and fdesc
	  (there are more to hunt down still)
	- changed vfs_quotactl args argumet from caddr_t to void *
	- changed vfs_quotactl structures/callers to reflect the api change

Compiled fine and ran for about a day. Approved/reviewed by
christos@netbsd.org and gimpy@netbsd.org.

Revision 1.38 / (download) - annotate - [select for diffs], Thu Aug 7 16:34:45 2003 UTC (10 years, 8 months ago) by agc
Branch: MAIN
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-base, 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-0, netbsd-2
Changes since 1.37: +2 -6 lines
Diff to previous 1.37 (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.37 / (download) - annotate - [select for diffs], Tue Aug 5 15:45:48 2003 UTC (10 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

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

Revision 1.36.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:27:27 2003 UTC (10 years, 9 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.36: +12 -12 lines
Diff to previous 1.36 (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.36 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:45 2003 UTC (10 years, 9 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.35: +9 -9 lines
Diff to previous 1.35 (colored)

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

Revision 1.35 / (download) - annotate - [select for diffs], Sun Jun 29 18:43:47 2003 UTC (10 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.34: +4 -4 lines
Diff to previous 1.34 (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.34 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:28 2003 UTC (10 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.33: +12 -12 lines
Diff to previous 1.33 (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.33 / (download) - annotate - [select for diffs], Sun May 18 12:59:06 2003 UTC (10 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.32: +5 -3 lines
Diff to previous 1.32 (colored)

make is_sequential a callback in order to achieve better lfs write clustering.

since lfs always rewrite blocks into the new segment,
current on-disk place of the block doesn't affect to write clustering.

ok'ed by Konrad Schroder.

Revision 1.32 / (download) - annotate - [select for diffs], Wed Apr 2 10:39:44 2003 UTC (11 years ago) by fvdl
Branch: MAIN
Changes since 1.31: +7 -7 lines
Diff to previous 1.31 (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.31 / (download) - annotate - [select for diffs], Mon Feb 17 23:48:23 2003 UTC (11 years, 2 months ago) by perseant
Branch: MAIN
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (colored)

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

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

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

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

And a few that are not strictly necessary:

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

* Unified GOP_ALLOC between FFS and LFS.

* Update LFS copyright headers to correct values.

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

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

Revision 1.30 / (download) - annotate - [select for diffs], Fri Jan 24 21:55:30 2003 UTC (11 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (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.24.2.4 / (download) - annotate - [select for diffs], Wed Dec 11 06:51:48 2002 UTC (11 years, 4 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.24.2.3: +6 -1 lines
Diff to previous 1.24.2.3 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Dec 1 00:12:12 2002 UTC (11 years, 4 months ago) by matt
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.28: +6 -1 lines
Diff to previous 1.28 (colored)

Add multiple inclusion protection for headers.  Fix mismatched
variable declarations (missing const's) as needed.

Revision 1.25.4.3 / (download) - annotate - [select for diffs], Wed Sep 25 21:38:13 2002 UTC (11 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.25.4.2: +1 -2 lines
Diff to previous 1.25.4.2 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored)

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

Revision 1.25.4.2 / (download) - annotate - [select for diffs], Thu Jan 10 20:05:22 2002 UTC (12 years, 3 months ago) by thorpej
Branch: kqueue
Changes since 1.25.4.1: +8 -5 lines
Diff to previous 1.25.4.1 (colored) to branchpoint 1.25 (colored)

Sync kqueue branch with -current.

Revision 1.24.2.3 / (download) - annotate - [select for diffs], Tue Jan 8 00:34:57 2002 UTC (12 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.2: +4 -3 lines
Diff to previous 1.24.2.2 (colored) to branchpoint 1.24 (colored)

Catch up to -current.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Dec 18 10:57:23 2001 UTC (12 years, 4 months ago) by fvdl
Branch: MAIN
CVS Tags: newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, ifpoll-base, ifpoll, gehenna-devsw-base, gehenna-devsw, eeh-devprop-base, eeh-devprop
Changes since 1.27: +4 -3 lines
Diff to previous 1.27 (colored)

Bring over fixes from FreeBSD that weren't incorporated yet, mainly
from Kirk McKusick. They implement taking pending block/inode frees
into account for the sake of correct statfs() numbers, and adding
a new softdep type (newdirblk) to correctly handle newly allocated
directory blocks.

Minor additional changes: 1) swap the newly introduced fs_pendinginodes
and fs_pendingblock fields in ffs_sb_swap, and 2) declare lkt_held
in the debug version of the softdep lock structure volatile, as it
can be modified from interrupt context #ifdef DEBUG.

Revision 1.25.6.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:48:33 2001 UTC (12 years, 6 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.25: +5 -3 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

Catch up with -current.

Revision 1.24.2.2 / (download) - annotate - [select for diffs], Fri Sep 21 22:37:09 2001 UTC (12 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24.2.1: +5 -3 lines
Diff to previous 1.24.2.1 (colored) to branchpoint 1.24 (colored)

Catch up to -current.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:44 2001 UTC (12 years, 7 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, post-chs-ubcperf
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (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.26 / (download) - annotate - [select for diffs], Sat Sep 15 16:13:06 2001 UTC (12 years, 7 months ago) by chs
Branch: MAIN
CVS Tags: pre-chs-ubcperf
Changes since 1.25: +3 -1 lines
Diff to previous 1.25 (colored)

add a new VFS op, vfs_reinit, which is called when desiredvnodes is
adjusted via sysctl.  file systems that have hash tables which are
sized based on the value of this variable now resize those hash tables
using the new value.  the max number of FFS softdeps is also recalculated.

convert various file systems to use the <sys/queue.h> macros for
their hash tables.

Revision 1.25.4.1 / (download) - annotate - [select for diffs], Tue Jul 10 13:55:13 2001 UTC (12 years, 9 months ago) by lukem
Branch: kqueue
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored)

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

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Thu Jun 21 20:10:15 2001 UTC (12 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Catch up to -current.

Revision 1.25 / (download) - annotate - [select for diffs], Mon May 28 02:50:53 2001 UTC (12 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base, perseant-lfsv2-base, perseant-lfsv2
Branch point for: thorpej-devvp, kqueue
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

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

Revision 1.20.2.2 / (download) - annotate - [select for diffs], Fri Dec 8 09:20:16 2000 UTC (13 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.20.2.1: +2 -1 lines
Diff to previous 1.20.2.1 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:57 2000 UTC (13 years, 4 months ago) by chs
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Branch point for: nathanw_sa
Changes since 1.23: +2 -1 lines
Diff to previous 1.23 (colored)

Initial integration of the Unified Buffer Cache project.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 18:11:54 2000 UTC (13 years, 5 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.20: +24 -10 lines
Diff to previous 1.20 (colored)

Update thorpej_scsipi to -current as of a month ago

Revision 1.23 / (download) - annotate - [select for diffs], Thu Mar 16 18:26:49 2000 UTC (14 years, 1 month ago) by jdolecek
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.22: +4 -2 lines
Diff to previous 1.22 (colored)

Change ufs_init() to keep global count of how many times it was called.
Resources are initialized still just once (on first call).

Add ufs_done(), which takes care of freeing all resources allocated in
ufs_init(). The resources are freed only when last user of the code exits.

Revision 1.22 / (download) - annotate - [select for diffs], Mon Feb 14 22:00:23 2000 UTC (14 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (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.20.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:36:41 1999 UTC (14 years, 3 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.20: +21 -9 lines
Diff to previous 1.20 (colored) next main 1.21 (colored)

Pull up to last week's -current.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:15 1999 UTC (14 years, 5 months ago) by fvdl
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.20: +21 -9 lines
Diff to previous 1.20 (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.20.4.2 / (download) - annotate - [select for diffs], Wed Nov 3 23:40:32 1999 UTC (14 years, 5 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.20.4.1: +2 -2 lines
Diff to previous 1.20.4.1 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)

Give ufs_ihashget an extra argument: the flags passed to vget() for
locking. This way we can avoid locking against ourselves when
ufs_ihashget is called during the flushing of metadata. XXX

Also, comment out a VOP_FSYNC call that I think is now unneeded, and
put a diagnostic printf there to check if this still happens.

Revision 1.20.4.1 / (download) - annotate - [select for diffs], Tue Oct 19 12:50:49 1999 UTC (14 years, 6 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.20: +20 -8 lines
Diff to previous 1.20 (colored)

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

Revision 1.20 / (download) - annotate - [select for diffs], Tue Aug 3 20:19:22 1999 UTC (14 years, 8 months ago) by wrstuden
Branch: MAIN
CVS Tags: fvdl-softdep-base, comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.19: +2 -1 lines
Diff to previous 1.19 (colored)

Add support for fcntl(2) to generate VOP_FCNTL calls. Any fcntl
call with F_FSCTL set and F_SETFL calls generate calls to a new
fileop fo_fcntl. Add genfs_fcntl() and soo_fcntl() which return 0
for F_SETFL and EOPNOTSUPP otherwise. Have all leaf filesystems
use genfs_fcntl().

Reviewed by: thorpej
Tested by: wrstuden

Revision 1.19 / (download) - annotate - [select for diffs], Tue Aug 3 19:22:44 1999 UTC (14 years, 8 months ago) by drochner
Branch: MAIN
Changes since 1.18: +1 -15 lines
Diff to previous 1.18 (colored)

clean up inclusion of "opt_ffs.h" and use of "FFS_EI" a bit

Revision 1.17.4.2 / (download) - annotate - [select for diffs], Mon Aug 2 22:58:22 1999 UTC (14 years, 8 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.17.4.1: +4 -4 lines
Diff to previous 1.17.4.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Update from trunk.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Jul 8 01:06:07 1999 UTC (14 years, 9 months ago) by wrstuden
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.17: +4 -4 lines
Diff to previous 1.17 (colored)

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

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

Revision 1.17.4.1 / (download) - annotate - [select for diffs], Sun Jul 4 01:54:19 1999 UTC (14 years, 9 months ago) by chs
Branch: chs-ubc2
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 (colored)

add ufs_balloc_range().

Revision 1.17 / (download) - annotate - [select for diffs], Fri Feb 26 23:44:50 1999 UTC (15 years, 1 month ago) by wrstuden
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
Branch point for: chs-ubc2
Changes since 1.16: +4 -3 lines
Diff to previous 1.16 (colored)

Modify vfsops to seperate vfs_fhtovp() into two routines. vfs_fhtovp() now
only handles the file handle to vnode conversion, and a new call,
vfs_checkexp(), performs the export verification.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Nov 12 19:54:42 1998 UTC (15 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.15: +5 -1 lines
Diff to previous 1.15 (colored)

defopt FFS_EI

Revision 1.15 / (download) - annotate - [select for diffs], Mon Aug 10 08:11:14 1998 UTC (15 years, 8 months ago) by matthias
Branch: MAIN
CVS Tags: chs-ubc-base, chs-ubc
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

create miscfs/genfs/genfs_vnops.c:genfs_enoioctl and make all the other
filesystems use it instead of a private version.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Jun 25 22:23:06 1998 UTC (15 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.13: +2 -7 lines
Diff to previous 1.13 (colored)

Use genfs_lease_check()

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jun 24 20:58:49 1998 UTC (15 years, 9 months ago) by sommerfe
Branch: MAIN
Changes since 1.12: +1 -7 lines
Diff to previous 1.12 (colored)

Always include fifos; "not an option any more".

Revision 1.12 / (download) - annotate - [select for diffs], Mon Jun 22 22:01:11 1998 UTC (15 years, 9 months ago) by sommerfe
Branch: MAIN
Changes since 1.11: +5 -1 lines
Diff to previous 1.11 (colored)

defopt for options FIFO

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jun 13 16:26:23 1998 UTC (15 years, 10 months ago) by kleink
Branch: MAIN
Changes since 1.10: +5 -6 lines
Diff to previous 1.10 (colored)

KNF, mostly of FFS_EI changes.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Mar 18 15:57:29 1998 UTC (16 years, 1 month ago) by bouyer
Branch: MAIN
Changes since 1.9: +13 -1 lines
Diff to previous 1.9 (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.9 / (download) - annotate - [select for diffs], Sun Mar 1 02:23:36 1998 UTC (16 years, 1 month ago) by fvdl
Branch: MAIN
Changes since 1.8: +7 -6 lines
Diff to previous 1.8 (colored)

Merge with Lite2 + local changes

Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 1 02:14:07 1998 UTC (16 years, 1 month ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-2
Changes since 1.1.1.1: +14 -5 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:51 1998 UTC (16 years, 1 month ago) by fvdl
Branch: netbsd, CSRG
CVS Tags: lite-1, date-03-may-96
Changes since 1.1: +10 -3 lines
Diff to previous 1.1 (colored)

Import 4.4BSD-Lite for reference

Revision 1.8 / (download) - annotate - [select for diffs], Fri Apr 11 21:52:08 1997 UTC (17 years ago) by kleink
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.7: +2 -2 lines
Diff to previous 1.7 (colored)

Implement a POSIX compliant genfs VOP_SEEK() and use it in the appropriate
places; by Chris G. Demetriou and myself.

Revision 1.7 / (download) - annotate - [select for diffs], Sat Sep 7 12:41:43 1996 UTC (17 years, 7 months ago) by mycroft
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Implement poll(2).

Revision 1.6 / (download) - annotate - [select for diffs], Sun Sep 1 23:49:42 1996 UTC (17 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.5: +38 -38 lines
Diff to previous 1.5 (colored)

Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Feb 9 22:36:03 1996 UTC (18 years, 2 months ago) by christos
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.4: +107 -66 lines
Diff to previous 1.4 (colored)

ufs prototype changes

Revision 1.4 / (download) - annotate - [select for diffs], Wed Dec 14 13:03:58 1994 UTC (19 years, 4 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.3: +3 -2 lines
Diff to previous 1.3 (colored)

Sync with CSRG.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Dec 13 20:16:30 1994 UTC (19 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.2: +7 -1 lines
Diff to previous 1.2 (colored)

Turn lease_check() into a vnode op, per CSRG.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 29 06:47:25 1994 UTC (19 years, 9 months ago) by cgd
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.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:43:15 1994 UTC (19 years, 10 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>