The NetBSD Project

CVS log for src/sys/ufs/ffs/ffs_extern.h

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.87.2.1: download - view: text, markup, annotated - select for diffs
Sat May 13 11:51:14 2023 UTC (19 months ago) by martin
Branches: netbsd-10
CVS tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Diff to: previous 1.87: preferred, colored; next MAIN 1.88: preferred, colored
Changes since revision 1.87: +2 -2 lines
Pull up following revision(s) (requested by chs in ticket #160):

	usr.sbin/makefs/ffs/ffs_alloc.c: revision 1.31
	sbin/tunefs/tunefs.c: revision 1.58
	sbin/fsck_ffs/setup.c: revision 1.105
	sbin/fsck_ffs/pass5.c: revision 1.56
	usr.sbin/makefs/ffs.c: revision 1.74
	usr.sbin/makefs/ffs/mkfs.c: revision 1.42
	usr.sbin/makefs/Makefile: revision 1.40
	sys/ufs/ffs/fs.h: revision 1.71
	sbin/fsdb/fsdb.c: revision 1.54
	sbin/resize_ffs/resize_ffs.c: revision 1.58
	sbin/fsck_ffs/pass4.c: revision 1.29
	usr.sbin/makefs/ffs/ffs_extern.h: revision 1.9
	sbin/newfs/mkfs.c: revision 1.133
	sys/ufs/ffs/ffs_alloc.c: revision 1.172
	sbin/fsck_ffs/pass1b.c: revision 1.24
	usr.sbin/dumpfs/dumpfs.c: revision 1.68
	sys/ufs/ffs/ffs_extern.h: revision 1.88
	usr.sbin/quotacheck/quotacheck.c: revision 1.51
	sys/ufs/ffs/ffs_subr.c: revision 1.54
	sbin/fsck_ffs/main.c: revision 1.91
	sbin/fsck_ffs/pass1.c: revision 1.63

ufs: fixed signed/unsigned bugs affecting large file systems

Apply these commits from FreeBSD:
  commit e870d1e6f97cc73308c11c40684b775bcfa906a2
  Author: Kirk McKusick <mckusick@FreeBSD.org>
  Date:   Wed Feb 10 20:10:35 2010 +0000
    This fix corrects a problem in the file system that treats large
    inode numbers as negative rather than unsigned. For a default
    (16K block) file system, this bug began to show up at a file system
    size above about 16Tb.
    To fully handle this problem, newfs must be updated to ensure that
    it will never create a filesystem with more than 2^32 inodes. That
    patch will be forthcoming soon.
    Reported by: Scott Burns, John Kilburg, Bruce Evans
    Followup by: Jeff Roberson
    PR:          133980
    MFC after:   2 weeks

  commit 81479e688b0f643ffacd3f335b4b4bba460b769d
  Author: Kirk McKusick <mckusick@FreeBSD.org>
  Date:   Thu Feb 11 18:14:53 2010 +0000
    One last pass to get all the unsigned comparisons correct.

In additional to the changes from FreeBSD, this commit includes quite a few
related changes to appease -Wsign-compare.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Sat Jan 7 19:41:30 2023 UTC (23 months ago) by chs
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +2 -2 lines
ufs: fixed signed/unsigned bugs affecting large file systems

Apply these commits from FreeBSD:

  commit e870d1e6f97cc73308c11c40684b775bcfa906a2
  Author: Kirk McKusick <mckusick@FreeBSD.org>
  Date:   Wed Feb 10 20:10:35 2010 +0000

    This fix corrects a problem in the file system that treats large
    inode numbers as negative rather than unsigned. For a default
    (16K block) file system, this bug began to show up at a file system
    size above about 16Tb.

    To fully handle this problem, newfs must be updated to ensure that
    it will never create a filesystem with more than 2^32 inodes. That
    patch will be forthcoming soon.

    Reported by: Scott Burns, John Kilburg, Bruce Evans
    Followup by: Jeff Roberson
    PR:          133980
    MFC after:   2 weeks

  commit 81479e688b0f643ffacd3f335b4b4bba460b769d
  Author: Kirk McKusick <mckusick@FreeBSD.org>
  Date:   Thu Feb 11 18:14:53 2010 +0000

    One last pass to get all the unsigned comparisons correct.


In additional to the changes from FreeBSD, this commit includes quite a few
related changes to appease -Wsign-compare.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Mon Nov 28 04:52:04 2022 UTC (2 years ago) by chs
Branches: MAIN
CVS tags: netbsd-10-base
Branch point for: netbsd-10
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +1 -11 lines
the UFS_EXTATTR option was supposed to affect only UFS1 file systems,
but when the UFS2 extattr code was merged, the UFS_EXTATTR option was
mistakenly changed to affect UFS2 file systems as well.  this commit
changes UFS_EXTATTR back to affecting only UFS1 file systems as originally
intended.  in UFS2 (or rather UFS2ea in NetBSD), extattrs are a
native feature and are always supported.

Revision 1.84.14.2: download - view: text, markup, annotated - select for diffs
Tue Apr 21 18:42:45 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.84.14.1: preferred, colored; branchpoint 1.84: preferred, colored; next MAIN 1.85: preferred, colored
Changes since revision 1.84.14.1: +20 -7 lines
Sync with HEAD

Revision 1.85.10.1: download - view: text, markup, annotated - select for diffs
Mon Apr 20 11:29:14 2020 UTC (4 years, 7 months ago) by bouyer
Branches: bouyer-xenpvh
Diff to: previous 1.85: preferred, colored; next MAIN 1.86: preferred, colored
Changes since revision 1.85: +20 -7 lines
Sync with HEAD

Revision 1.86: download - view: text, markup, annotated - select for diffs
Sat Apr 18 19:18:34 2020 UTC (4 years, 7 months ago) by christos
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +20 -7 lines
Extended attribute support for ffsv2, from FreeBSD.

Revision 1.84.14.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:09:57 2019 UTC (5 years, 6 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +1 -2 lines
Sync with HEAD

Revision 1.84.12.1: download - view: text, markup, annotated - select for diffs
Thu Sep 6 06:56:47 2018 UTC (6 years, 3 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.84: preferred, colored; next MAIN 1.85: preferred, colored
Changes since revision 1.84: +1 -2 lines
Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.85: download - view: text, markup, annotated - select for diffs
Wed Aug 22 01:05:24 2018 UTC (6 years, 3 months ago) by msaitoh
Branches: MAIN
CVS tags: phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, bouyer-xenpvh-base, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: bouyer-xenpvh
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +1 -2 lines
- Cleanup for dynamic sysctl:
  - Remove unused *_NAMES macros for sysctl.
  - Remove unused *_MAXID for sysctls.
- Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and
  use them on all m68k machines.

Revision 1.78.12.3: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:39:21 2017 UTC (7 years ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.78.12.2: preferred, colored; branchpoint 1.78: preferred, colored; next MAIN 1.79: preferred, colored
Changes since revision 1.78.12.2: +9 -5 lines
update from HEAD

Revision 1.80.10.3: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:53:17 2017 UTC (7 years, 3 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.80.10.2: preferred, colored; branchpoint 1.80: preferred, colored; next MAIN 1.81: preferred, colored
Changes since revision 1.80.10.2: +3 -3 lines
Sync with HEAD

Revision 1.83.2.1: download - view: text, markup, annotated - select for diffs
Fri Apr 21 16:54:08 2017 UTC (7 years, 7 months ago) by bouyer
Branches: bouyer-socketcan
Diff to: previous 1.83: preferred, colored; next MAIN 1.84: preferred, colored
Changes since revision 1.83: +3 -3 lines
Sync with HEAD

Revision 1.82.2.2: download - view: text, markup, annotated - select for diffs
Mon Mar 20 06:57:54 2017 UTC (7 years, 8 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.82.2.1: preferred, colored; branchpoint 1.82: preferred, colored; next MAIN 1.83: preferred, colored
Changes since revision 1.82.2.1: +3 -3 lines
Sync with HEAD

Revision 1.84: download - view: text, markup, annotated - select for diffs
Thu Feb 9 04:37:35 2017 UTC (7 years, 10 months ago) by kre
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: phil-wifi, pgoyette-compat
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +3 -3 lines

Sprinkle in a pinch of const, not too much, just enough
to add a little strength without affecting the overall balance...

Revision 1.82.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 4 14:49:22 2016 UTC (8 years, 1 month ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +3 -3 lines
Sync with HEAD

Revision 1.80.10.2: download - view: text, markup, annotated - select for diffs
Wed Oct 5 20:56:12 2016 UTC (8 years, 2 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.80.10.1: preferred, colored; branchpoint 1.80: preferred, colored
Changes since revision 1.80.10.1: +3 -3 lines
Sync with HEAD

Revision 1.83: download - view: text, markup, annotated - select for diffs
Sat Oct 1 13:15:45 2016 UTC (8 years, 2 months ago) by jdolecek
Branches: MAIN
CVS tags: pgoyette-localcount-20170107, pgoyette-localcount-20161104, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +3 -3 lines
allocate wapbl dealloc registration structures via pool, so that there is more
flexibility with limit handling

Revision 1.80.10.1: download - view: text, markup, annotated - select for diffs
Mon Apr 6 15:18:32 2015 UTC (9 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +6 -2 lines
Sync with HEAD

Revision 1.82: download - view: text, markup, annotated - select for diffs
Fri Mar 27 17:27:56 2015 UTC (9 years, 8 months ago) by riastradh
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, localcount-20160914
Branch point for: pgoyette-localcount
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +5 -1 lines
Disentangle buffer-cached I/O from page-cached I/O in UFS.

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

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

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

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

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

Revision 1.81: download - view: text, markup, annotated - select for diffs
Tue Mar 17 09:39:29 2015 UTC (9 years, 8 months ago) by hannken
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +2 -2 lines
Change ffs to use vcache_new:
- Change ffs_valloc to return an inode number.
- Remove now obsolete UFS operations UFS_VALLOC and UFS_VFREE.
- Make ufs_makeinode private to ufs_vnops.c and pass vattr instead of mode.

Revision 1.78.2.2: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:18 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.78.2.1: preferred, colored; branchpoint 1.78: preferred, colored; next MAIN 1.79: preferred, colored
Changes since revision 1.78.2.1: +2 -2 lines
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.78.12.2: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:18:39 2013 UTC (11 years, 5 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.78.12.1: preferred, colored; branchpoint 1.78: preferred, colored
Changes since revision 1.78.12.1: +2 -2 lines
resync from head

Revision 1.80: download - view: text, markup, annotated - select for diffs
Sun Jun 16 13:33:30 2013 UTC (11 years, 5 months ago) by hannken
Branches: MAIN
CVS tags: yamt-pagecache-base9, 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, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +2 -2 lines
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.78.12.1: download - view: text, markup, annotated - select for diffs
Tue Nov 20 03:02:53 2012 UTC (12 years ago) by tls
Branches: tls-maxphys
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +3 -1 lines
Resync to 2012-11-19 00:00:00 UTC

Revision 1.78.2.1: download - view: text, markup, annotated - select for diffs
Tue Oct 30 17:22:59 2012 UTC (12 years, 1 month ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +3 -1 lines
sync with head

Revision 1.79: download - view: text, markup, annotated - select for diffs
Fri Oct 19 17:09:08 2012 UTC (12 years, 1 month ago) by drochner
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, khorben-n900, agc-symver-base, agc-symver
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +3 -1 lines
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.77.2.1: download - view: text, markup, annotated - select for diffs
Thu Jun 23 14:20:30 2011 UTC (13 years, 5 months ago) by cherry
Branches: cherry-xenmp
Diff to: previous 1.77: preferred, colored; next MAIN 1.78: preferred, colored
Changes since revision 1.77: +3 -2 lines
Catchup with rmind-uvmplock merge.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Fri Jun 17 14:23:52 2011 UTC (13 years, 5 months ago) by manu
Branches: MAIN
CVS tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-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, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, tls-maxphys
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +3 -2 lines
Add mount -o extattr option to enable extended attributs (corrently only
for UFS1).
Remove kernel option for EA backing store autocreation and do it by
default. Add a sysctl so that autocreated attriutr size can be modified.

Revision 1.75.6.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:10:15 2011 UTC (13 years, 6 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.75: preferred, colored; next MAIN 1.76: preferred, colored
Changes since revision 1.75: +6 -2 lines
Sync with HEAD.

Revision 1.75.4.2: download - view: text, markup, annotated - select for diffs
Tue May 31 03:05:13 2011 UTC (13 years, 6 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.75.4.1: preferred, colored; branchpoint 1.75: preferred, colored; next MAIN 1.76: preferred, colored
Changes since revision 1.75.4.1: +1 -0 lines
sync with head

Revision 1.77: download - view: text, markup, annotated - select for diffs
Wed Apr 27 07:24:52 2011 UTC (13 years, 7 months ago) by hannken
Branches: MAIN
CVS tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +2 -1 lines
Cleanup ffs fsync and make devices on wapbl enabled file systems work here:

- Replace the ugly sync loop in ffs_full_fsync() and ffs_vfs_fsync() with
  vflushbuf().  This loop is a relic of softdeps and not needed anymore.

- Add ffs_spec_fsync() for device nodes on ffs file systems that calls
  spec_fsync() like all other file systems do and then updates the ctime.

Discussed on tech-kern.

Should fix PRs:
PR #41192 wapbl diagnostic panic during cgdconfig
PR #41977 kernel diagnostic assertion "rw_lock_held(&wl->wl_rwlock)" failed
PR #42149 wapbl locking panic if watching DVD
PR #42551 Lockdebug assert in wapbl when running zpool

Revision 1.75.4.1: download - view: text, markup, annotated - select for diffs
Thu Apr 21 01:42:20 2011 UTC (13 years, 7 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +5 -2 lines
sync with head

Revision 1.76: download - view: text, markup, annotated - select for diffs
Sun Mar 6 17:08:38 2011 UTC (13 years, 9 months ago) by bouyer
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +5 -2 lines
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.75.8.1: download - view: text, markup, annotated - select for diffs
Thu Jan 20 14:25:02 2011 UTC (13 years, 10 months ago) by bouyer
Branches: bouyer-quota2
Diff to: previous 1.75: preferred, colored; next MAIN 1.76: preferred, colored
Changes since revision 1.75: +5 -2 lines
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.74.4.1: download - view: text, markup, annotated - select for diffs
Wed May 13 17:23:06 2009 UTC (15 years, 7 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.74: preferred, colored; next MAIN 1.75: preferred, colored
Changes since revision 1.74: +1 -27 lines
Sync with HEAD.

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

Revision 1.64.4.1: download - view: text, markup, annotated - select for diffs
Mon May 4 08:14:37 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.64: preferred, colored; next MAIN 1.65: preferred, colored
Changes since revision 1.64: +26 -37 lines
sync with head.

Revision 1.70.2.2: download - view: text, markup, annotated - select for diffs
Tue Mar 3 18:34:39 2009 UTC (15 years, 9 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.70.2.1: preferred, colored; branchpoint 1.70: preferred, colored; next MAIN 1.71: preferred, colored
Changes since revision 1.70.2.1: +1 -27 lines
Sync with HEAD.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Sun Feb 22 20:28:06 2009 UTC (15 years, 9 months ago) by ad
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, 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, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, matt-premerge-20091211, matt-mips64-premerge-20101231, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base
Branch point for: rmind-uvmplock, jruoho-x86intr, bouyer-quota2
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +1 -27 lines
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.70.2.1: download - view: text, markup, annotated - select for diffs
Mon Jan 19 13:20:31 2009 UTC (15 years, 10 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +5 -5 lines
Sync with HEAD.

Revision 1.63.6.5: download - view: text, markup, annotated - select for diffs
Sat Jan 17 13:29:42 2009 UTC (15 years, 10 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.63.6.4: preferred, colored; branchpoint 1.63: preferred, colored; next MAIN 1.64: preferred, colored
Changes since revision 1.63.6.4: +4 -5 lines
Sync with HEAD.

Revision 1.66.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 13 01:15:41 2008 UTC (16 years ago) by haad
Branches: haad-dm
Diff to: previous 1.66.2.1: preferred, colored; branchpoint 1.66: preferred, colored; next MAIN 1.67: preferred, colored
Changes since revision 1.66.2.1: +5 -5 lines
Update haad-dm branch to haad-dm-base2.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Sat Dec 6 20:05:55 2008 UTC (16 years ago) by joerg
Branches: MAIN
CVS tags: mjf-devfs2-base, haad-nbase2, haad-dm-base2, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: jym-xensuspend
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +3 -2 lines
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.73: download - view: text, markup, annotated - select for diffs
Mon Dec 1 13:22:06 2008 UTC (16 years ago) by joerg
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +2 -1 lines
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.72: download - view: text, markup, annotated - select for diffs
Sun Nov 30 16:20:44 2008 UTC (16 years ago) by joerg
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +2 -1 lines
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.71: download - view: text, markup, annotated - select for diffs
Thu Nov 6 22:31:08 2008 UTC (16 years, 1 month ago) by joerg
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +1 -4 lines
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.66.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 19 22:18:10 2008 UTC (16 years, 1 month ago) by haad
Branches: haad-dm
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +18 -4 lines
Sync with HEAD.

Revision 1.64.6.3: download - view: text, markup, annotated - select for diffs
Fri Oct 10 22:37:10 2008 UTC (16 years, 2 months ago) by skrll
Branches: wrstuden-revivesa
Diff to: previous 1.64.6.2: preferred, colored; branchpoint 1.64: preferred, colored; next MAIN 1.65: preferred, colored
Changes since revision 1.64.6.2: +1 -2 lines
Sync with HEAD.

Revision 1.70: download - view: text, markup, annotated - select for diffs
Fri Oct 10 09:21:58 2008 UTC (16 years, 2 months ago) by hannken
Branches: MAIN
CVS tags: wrstuden-revivesa-base-4, netbsd-5-base, 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, 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, netbsd-5, 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-dm-base1
Branch point for: nick-hppapmap
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +1 -2 lines
Break a deadlock where one thread has a wapbl transaction, calls VOP_GETPAGES
and wants to busy a page  while  another thread calls VOP_PUTPAGES on the same
vnode, takes pages busy and wants to start a wapbl transaction.

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

Revision 1.63.6.4: download - view: text, markup, annotated - select for diffs
Sun Sep 28 10:41:05 2008 UTC (16 years, 2 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.63.6.3: preferred, colored; branchpoint 1.63: preferred, colored
Changes since revision 1.63.6.3: +18 -3 lines
Sync with HEAD.

Revision 1.64.6.2: download - view: text, markup, annotated - select for diffs
Thu Sep 18 04:37:05 2008 UTC (16 years, 2 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.64.6.1: preferred, colored; branchpoint 1.64: preferred, colored
Changes since revision 1.64.6.1: +19 -8 lines
Sync with wrstuden-revivesa-base-2.

Revision 1.69: download - view: text, markup, annotated - select for diffs
Fri Aug 22 10:48:22 2008 UTC (16 years, 3 months ago) by hannken
Branches: MAIN
CVS tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +2 -1 lines
Add snapshot support for logging ffs file systems.

- Add UFS_WAPBL_BEGIN() / UFS_WAPBL_END() where needed.

- Expunge WAPBL log inodes from snapshots.

- Ffs_copyonwrite() and ffs_snapblkfree() must run inside a WAPBL transaction.

- Add ffs_gop_write() as a wrapper around genfs_gop_write() that makes sure
  genfs_gop_write() gets always called inside a WAPBL transaction.

- Add VOP_PUTPAGES() flag PGO_JOURNALLOCKED to tag calls to VOP_PUTPAGES()
  inside a WAPBL transaction.

Reviewed by: Simon Burge <simonb@netbsd.org>,  Greg Oster <oster@netbsd.org>

PGO_JOURNALLOCKED / ffs_gop_write() part presented on tech-kern@.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Tue Aug 12 10:14:37 2008 UTC (16 years, 4 months ago) by hannken
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +2 -1 lines
Deny read/write access to snapshot vnodes.  We use fss(4) to read from
snapshots.  With this policy in place:

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

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

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

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

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

Revision 1.67: download - view: text, markup, annotated - select for diffs
Thu Jul 31 05:38:06 2008 UTC (16 years, 4 months ago) by simonb
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +17 -4 lines
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.65.2.3: download - view: text, markup, annotated - select for diffs
Mon Jul 28 12:40:06 2008 UTC (16 years, 4 months ago) by simonb
Branches: simonb-wapbl
Diff to: previous 1.65.2.2: preferred, colored; branchpoint 1.65: preferred, colored; next MAIN 1.66: preferred, colored
Changes since revision 1.65.2.2: +4 -4 lines
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.65.2.2: download - view: text, markup, annotated - select for diffs
Thu Jul 3 18:38:24 2008 UTC (16 years, 5 months ago) by simonb
Branches: simonb-wapbl
Diff to: previous 1.65.2.1: preferred, colored; branchpoint 1.65: preferred, colored
Changes since revision 1.65.2.1: +1 -5 lines
Sync with head.

Revision 1.63.6.3: download - view: text, markup, annotated - select for diffs
Sun Jun 29 09:33:20 2008 UTC (16 years, 5 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.63.6.2: preferred, colored; branchpoint 1.63: preferred, colored
Changes since revision 1.63.6.2: +0 -4 lines
Sync with HEAD.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Sat Jun 28 01:34:05 2008 UTC (16 years, 5 months ago) by rumble
Branches: MAIN
CVS tags: simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: haad-dm
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +1 -5 lines
Create sysctl entries during module initialisation and destroy them
appropriately.

Many of these file systems are now ready for modularisation.

Revision 1.64.6.1: download - view: text, markup, annotated - select for diffs
Mon Jun 23 04:32:05 2008 UTC (16 years, 5 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +6 -1 lines
Sync w/ -current. 34 merge conflicts to follow.

Revision 1.65.2.1: download - view: text, markup, annotated - select for diffs
Tue Jun 10 14:51:23 2008 UTC (16 years, 6 months ago) by simonb
Branches: simonb-wapbl
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +14 -1 lines
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.63.6.2: download - view: text, markup, annotated - select for diffs
Thu Jun 5 19:14:37 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.63.6.1: preferred, colored; branchpoint 1.63: preferred, colored
Changes since revision 1.63.6.1: +5 -0 lines
Sync with HEAD.

Also fix build.

Revision 1.64.2.1: download - view: text, markup, annotated - select for diffs
Wed Jun 4 02:05:53 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.64: preferred, colored; next MAIN 1.65: preferred, colored
Changes since revision 1.64: +6 -1 lines
sync with head

Revision 1.65: download - view: text, markup, annotated - select for diffs
Tue Jun 3 09:47:49 2008 UTC (16 years, 6 months ago) by hannken
Branches: MAIN
CVS tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Branch point for: simonb-wapbl
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +6 -1 lines
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.63.6.1: download - view: text, markup, annotated - select for diffs
Mon Jun 2 13:24:35 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +3 -3 lines
Sync with HEAD.

Revision 1.64: download - view: text, markup, annotated - select for diffs
Thu Apr 17 09:52:47 2008 UTC (16 years, 7 months ago) by hannken
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, hpcarm-cleanup-nbase
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +3 -3 lines
Replace get/setspecific with a void pointer in struct ufsmount.  Use explicit
initialization/finalization of snapshot private data on creation/deletion
of struct ufsmount.
Snapshot mounts no longer may fail silently because kmem_alloc() fails.

Welcome to 4.99.60

Ok: Andrew Doran <ad@netbsd.org>

Revision 1.60.8.1: download - view: text, markup, annotated - select for diffs
Mon Feb 18 21:07:28 2008 UTC (16 years, 9 months ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.60: preferred, colored; next MAIN 1.61: preferred, colored
Changes since revision 1.60: +9 -5 lines
Sync with HEAD.

Revision 1.42.4.5: download - view: text, markup, annotated - select for diffs
Mon Jan 21 09:48:07 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.42.4.4: preferred, colored; branchpoint 1.42: preferred, colored; next MAIN 1.43: preferred, colored
Changes since revision 1.42.4.4: +10 -6 lines
sync with head

Revision 1.60.2.1: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:58:25 2008 UTC (16 years, 11 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.60: preferred, colored; next MAIN 1.61: preferred, colored
Changes since revision 1.60: +10 -6 lines
sync with HEAD

Revision 1.61.4.2: download - view: text, markup, annotated - select for diffs
Tue Jan 8 22:12:01 2008 UTC (16 years, 11 months ago) by bouyer
Branches: bouyer-xeni386
CVS tags: bouyer-xeni386-merge1
Diff to: previous 1.61.4.1: preferred, colored; branchpoint 1.61: preferred, colored; next MAIN 1.62: preferred, colored
Changes since revision 1.61.4.1: +5 -3 lines
Sync with HEAD

Revision 1.63: download - view: text, markup, annotated - select for diffs
Thu Jan 3 19:28:48 2008 UTC (16 years, 11 months ago) by ad
Branches: MAIN
CVS tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base, ad-socklock-base1
Branch point for: mjf-devfs2
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +6 -4 lines
Use pool_cache.

Revision 1.61.4.1: download - view: text, markup, annotated - select for diffs
Wed Jan 2 21:58:17 2008 UTC (16 years, 11 months ago) by bouyer
Branches: bouyer-xeni386
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +4 -2 lines
Sync with HEAD

Revision 1.62: download - view: text, markup, annotated - select for diffs
Wed Jan 2 11:49:09 2008 UTC (16 years, 11 months ago) by ad
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +4 -2 lines
Merge vmlocking2 to head.

Revision 1.60.10.2: download - view: text, markup, annotated - select for diffs
Wed Dec 26 21:39:59 2007 UTC (16 years, 11 months ago) by ad
Branches: vmlocking2
Diff to: previous 1.60.10.1: preferred, colored; branchpoint 1.60: preferred, colored; next MAIN 1.61: preferred, colored
Changes since revision 1.60.10.1: +2 -2 lines
Sync with head.

Revision 1.58.2.2: download - view: text, markup, annotated - select for diffs
Sun Dec 9 19:38:52 2007 UTC (17 years ago) by jmcneill
Branches: jmcneill-pm
Diff to: previous 1.58.2.1: preferred, colored; branchpoint 1.58: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58.2.1: +2 -2 lines
Sync with HEAD.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Sat Dec 8 19:29:54 2007 UTC (17 years ago) by pooka
Branches: MAIN
CVS tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +2 -2 lines
Remove cn_lwp from struct componentname.  curlwp should be used
from on.  The NDINIT() macro no longer takes the lwp parameter and
associates the credentials of the calling thread with the namei
structure.

Revision 1.60.10.1: download - view: text, markup, annotated - select for diffs
Tue Dec 4 13:03:44 2007 UTC (17 years ago) by ad
Branches: vmlocking2
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +4 -2 lines
Pull the vmlocking changes into a new branch.

Revision 1.55.6.5: download - view: text, markup, annotated - select for diffs
Sun Sep 16 19:02:46 2007 UTC (17 years, 2 months ago) by ad
Branches: vmlocking
Diff to: previous 1.55.6.4: preferred, colored; branchpoint 1.55: preferred, colored; next MAIN 1.56: preferred, colored
Changes since revision 1.55.6.4: +3 -2 lines
- Checkpoint work in progress on the vnode lifecycle and reference counting
  stuff. This makes it work properly without kernel_lock and fixes a few
  quite old bugs. See vfs_subr.c 1.283.2.17 for details.

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

Revision 1.42.4.4: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:46:48 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.42.4.3: preferred, colored; branchpoint 1.42: preferred, colored
Changes since revision 1.42.4.3: +13 -22 lines
sync with head.

Revision 1.55.6.4: download - view: text, markup, annotated - select for diffs
Mon Aug 20 21:28:24 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.55.6.3: preferred, colored; branchpoint 1.55: preferred, colored
Changes since revision 1.55.6.3: +13 -18 lines
Sync with HEAD.

Revision 1.55.6.3: download - view: text, markup, annotated - select for diffs
Mon Aug 20 03:22:44 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.55.6.2: preferred, colored; branchpoint 1.55: preferred, colored
Changes since revision 1.55.6.2: +2 -1 lines
softdep locking improvements. It hangs looping in flush_inodedep_deps(),
more work required.

Revision 1.58.2.1: download - view: text, markup, annotated - select for diffs
Thu Aug 16 11:03:59 2007 UTC (17 years, 4 months ago) by jmcneill
Branches: jmcneill-pm
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +6 -1 lines
Sync with HEAD.

Revision 1.57.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 15 13:51:08 2007 UTC (17 years, 4 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.57: preferred, colored; next MAIN 1.58: preferred, colored
Changes since revision 1.57: +13 -18 lines
Sync with HEAD.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Thu Aug 9 09:22:34 2007 UTC (17 years, 4 months ago) by hannken
Branches: MAIN
CVS tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-csl-alignment-base5, matt-armv6-prevmlocking, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: vmlocking2, mjf-devfs, matt-armv6
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +4 -1 lines
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.59: download - view: text, markup, annotated - select for diffs
Thu Aug 9 07:34:27 2007 UTC (17 years, 4 months ago) by hannken
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +3 -1 lines
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.58.4.2: download - view: text, markup, annotated - select for diffs
Tue Jul 31 21:14:21 2007 UTC (17 years, 4 months ago) by pooka
Branches: matt-mips64
Diff to: previous 1.58.4.1: preferred, colored; branchpoint 1.58: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58.4.1: +208 -0 lines
* nuke the nameidata parameter from VFS_MOUNT().  Nobody on tech-kern
  knew what it was supposed to be used for and wrstuden gave a go-ahead
* while rototilling, convert file systems which went easily to
  use VFS_PROTOS() instead of manually prototyping the methods

Revision 1.58.4.1
Tue Jul 31 21:14:20 2007 UTC (17 years, 4 months ago) by pooka
Branches: matt-mips64
FILE REMOVED
Changes since revision 1.58: +0 -208 lines
file ffs_extern.h was added on branch matt-mips64 on 2007-07-31 21:14:21 +0000

Revision 1.58: download - view: text, markup, annotated - select for diffs
Tue Jul 31 21:14:20 2007 UTC (17 years, 4 months ago) by pooka
Branches: MAIN
CVS tags: matt-mips64-base
Branch point for: matt-mips64, jmcneill-pm
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +8 -18 lines
* nuke the nameidata parameter from VFS_MOUNT().  Nobody on tech-kern
  knew what it was supposed to be used for and wrstuden gave a go-ahead
* while rototilling, convert file systems which went easily to
  use VFS_PROTOS() instead of manually prototyping the methods

Revision 1.55.6.2: download - view: text, markup, annotated - select for diffs
Sun Jul 15 13:28:15 2007 UTC (17 years, 5 months ago) by ad
Branches: vmlocking
Diff to: previous 1.55.6.1: preferred, colored; branchpoint 1.55: preferred, colored
Changes since revision 1.55.6.1: +3 -3 lines
Sync with head.

Revision 1.57: download - view: text, markup, annotated - select for diffs
Thu Jul 12 19:35:36 2007 UTC (17 years, 5 months ago) by dsl
Branches: MAIN
CVS tags: nick-csl-alignment-base, hpcarm-cleanup
Branch point for: nick-csl-alignment
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +3 -3 lines
Change the VFS_MOUNT() interface so that the 'data' buffer passed to the
fs code is a kernel buffer, pass though the length of the buffer as well.
Since the length of the userspace buffer isn'it (yet) passed through the mount
system call, add a field to the vfsops structure containing the default length.
Split sys_mount() for calls from compat code.
Ride one of the recent kernel version changes - old fs LKMs will load, but
sys_mount() will reject any attempt to use them.

Revision 1.55.8.2: download - view: text, markup, annotated - select for diffs
Wed Jul 11 20:12:42 2007 UTC (17 years, 5 months ago) by mjf
Branches: mjf-ufs-trans
Diff to: previous 1.55.8.1: preferred, colored; branchpoint 1.55: preferred, colored; next MAIN 1.56: preferred, colored
Changes since revision 1.55.8.1: +1 -5 lines
Sync with head.

Revision 1.55.6.1: download - view: text, markup, annotated - select for diffs
Sat Jun 9 23:58:19 2007 UTC (17 years, 6 months ago) by ad
Branches: vmlocking
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +1 -5 lines
Sync with head.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Thu Jun 7 05:34:48 2007 UTC (17 years, 6 months ago) by yamt
Branches: MAIN
CVS tags: mjf-ufs-trans-base
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +1 -5 lines
remove a duplicated definition of FFS_ITIMES.

Revision 1.55.8.1: download - view: text, markup, annotated - select for diffs
Fri Mar 30 00:16:28 2007 UTC (17 years, 8 months ago) by mjf
Branches: mjf-ufs-trans
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +6 -1 lines
Provide a test journal. It's just a wrapper to bwrite and doesn't
actually do any journaling, but we need something to give the
transactions to.

Revision 1.42.4.3: download - view: text, markup, annotated - select for diffs
Mon Feb 26 09:12:19 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.42.4.2: preferred, colored; branchpoint 1.42: preferred, colored
Changes since revision 1.42.4.2: +2 -1 lines
sync with head.

Revision 1.54.4.1: download - view: text, markup, annotated - select for diffs
Thu Feb 1 08:48:48 2007 UTC (17 years, 10 months ago) by ad
Branches: newlock2
Diff to: previous 1.54: preferred, colored; next MAIN 1.55: preferred, colored
Changes since revision 1.54: +2 -1 lines
Sync with head.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Fri Jan 19 14:49:12 2007 UTC (17 years, 10 months ago) by hannken
Branches: MAIN
CVS tags: yamt-idlelwp-base8, yamt-idlelwp, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +2 -1 lines
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.42.4.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 20:51:00 2006 UTC (17 years, 11 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.42.4.1: preferred, colored; branchpoint 1.42: preferred, colored
Changes since revision 1.42.4.1: +2 -2 lines
sync with head.

Revision 1.51.2.1: download - view: text, markup, annotated - select for diffs
Sat Sep 9 03:00:00 2006 UTC (18 years, 3 months ago) by rpaulo
Branches: rpaulo-netinet-merge-pcb
Diff to: previous 1.51: preferred, colored; next MAIN 1.52: preferred, colored
Changes since revision 1.51: +53 -53 lines
sync with head

Revision 1.51.6.2: download - view: text, markup, annotated - select for diffs
Fri Aug 11 15:47:36 2006 UTC (18 years, 4 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.51.6.1: preferred, colored; branchpoint 1.51: preferred, colored; next MAIN 1.52: preferred, colored
Changes since revision 1.51.6.1: +2 -2 lines
sync with head

Revision 1.53.4.1: download - view: text, markup, annotated - select for diffs
Thu Jul 13 17:50:13 2006 UTC (18 years, 5 months ago) by gdamore
Branches: gdamore-uart
Diff to: previous 1.53: preferred, colored; next MAIN 1.54: preferred, colored
Changes since revision 1.53: +2 -2 lines
Merge from HEAD.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Thu Jul 13 12:00:26 2006 UTC (18 years, 5 months ago) by martin
Branches: 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, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, 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, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: newlock2
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +2 -2 lines
Fix alignement problems for fhandle_t, exposed by gcc4.1.

While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).

Revision 1.42.4.1: download - view: text, markup, annotated - select for diffs
Wed Jun 21 15:12:31 2006 UTC (18 years, 5 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +123 -104 lines
sync with head.

Revision 1.51.4.1: download - view: text, markup, annotated - select for diffs
Thu Jun 1 22:39:28 2006 UTC (18 years, 6 months ago) by kardel
Branches: simonb-timecounters
CVS tags: simonb-timcounters-final
Diff to: previous 1.51: preferred, colored; next MAIN 1.52: preferred, colored
Changes since revision 1.51: +52 -52 lines
Sync with head.

Revision 1.51.10.1: download - view: text, markup, annotated - select for diffs
Wed May 24 15:50:47 2006 UTC (18 years, 6 months ago) by tron
Branches: peter-altq
Diff to: previous 1.51: preferred, colored; next MAIN 1.52: preferred, colored
Changes since revision 1.51: +51 -51 lines
Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.51.6.1: download - view: text, markup, annotated - select for diffs
Wed May 24 10:59:25 2006 UTC (18 years, 6 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +52 -52 lines
sync with head.

Revision 1.53: download - view: text, markup, annotated - select for diffs
Sun May 14 21:32:45 2006 UTC (18 years, 7 months ago) by elad
Branches: MAIN
CVS tags: yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, chap-midi-nbase, chap-midi-base, chap-midi
Branch point for: gdamore-uart
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +51 -42 lines
integrate kauth.

Revision 1.51.8.6: download - view: text, markup, annotated - select for diffs
Thu May 11 23:32:03 2006 UTC (18 years, 7 months ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.51.8.5: preferred, colored; branchpoint 1.51: preferred, colored; next MAIN 1.52: preferred, colored
Changes since revision 1.51.8.5: +5 -1 lines
sync with head

Revision 1.51.8.5: download - view: text, markup, annotated - select for diffs
Sat May 6 23:32:33 2006 UTC (18 years, 7 months ago) by christos
Branches: elad-kernelauth
Diff to: previous 1.51.8.4: preferred, colored; branchpoint 1.51: preferred, colored
Changes since revision 1.51.8.4: +1 -6 lines
- 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.51.8.4: download - view: text, markup, annotated - select for diffs
Wed May 3 16:00:34 2006 UTC (18 years, 7 months ago) by yamt
Branches: elad-kernelauth
Diff to: previous 1.51.8.3: preferred, colored; branchpoint 1.51: preferred, colored
Changes since revision 1.51.8.3: +46 -51 lines
- wrap some kernel-only things by #ifdef _KERNEL.
- place __END_DECLS correctly.

ok'd by elad@

Revision 1.52: download - view: text, markup, annotated - select for diffs
Sun Apr 23 14:15:12 2006 UTC (18 years, 7 months ago) by yamt
Branches: MAIN
CVS tags: elad-kernelauth-base
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +0 -9 lines
remove unused FFS_NAMES and LFS_NAMES.

Revision 1.51.8.3: download - view: text, markup, annotated - select for diffs
Tue Apr 18 15:57:54 2006 UTC (18 years, 7 months ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.51.8.2: preferred, colored; branchpoint 1.51: preferred, colored
Changes since revision 1.51.8.2: +5 -1 lines
make build.sh tools work. from matt.

Revision 1.51.8.2: download - view: text, markup, annotated - select for diffs
Wed Mar 8 18:47:24 2006 UTC (18 years, 9 months ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.51.8.1: preferred, colored; branchpoint 1.51: preferred, colored
Changes since revision 1.51.8.1: +3 -1 lines
Include sys/kauth.h here.

Revision 1.51.8.1: download - view: text, markup, annotated - select for diffs
Wed Mar 8 01:39:12 2006 UTC (18 years, 9 months ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +9 -9 lines
Adapt to kernel authorization KPI.

Revision 1.50.2.1: download - view: text, markup, annotated - select for diffs
Sun Jan 15 10:03:05 2006 UTC (18 years, 11 months ago) by yamt
Branches: yamt-uio_vmspace
Diff to: previous 1.50: preferred, colored; next MAIN 1.51: preferred, colored
Changes since revision 1.50: +1 -2 lines
sync with head.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Sat Jan 14 17:41:16 2006 UTC (18 years, 11 months ago) by yamt
Branches: MAIN
CVS tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +1 -2 lines
- unify ffs_blkatoff and lfs_blkatoff.
- remove ufs_ops::uo_blkatoff.
- add directory read-ahead code.  (disabled for now.)

Revision 1.50: download - view: text, markup, annotated - select for diffs
Tue Dec 27 04:06:46 2005 UTC (18 years, 11 months ago) by chs
Branches: MAIN
Branch point for: yamt-uio_vmspace
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +1 -4 lines
changes for making DIAGNOSTIC not change the kernel ABI:
 - for structure fields that are conditionally present,
   make those fields always present.
 - for functions which are conditionally inline, make them never inline.
 - remove some other functions which are conditionally defined but
   don't actually do anything anymore.
 - make a lock-debugging function conditional on only LOCKDEBUG.

as discussed on tech-kern some time back.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Sun Dec 11 12:25:25 2005 UTC (19 years ago) by christos
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +13 -13 lines
merge ktrace-lwp.

Revision 1.32.2.9: download - view: text, markup, annotated - select for diffs
Thu Nov 10 14:12:31 2005 UTC (19 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.8: preferred, colored; next MAIN 1.33: preferred, colored
Changes since revision 1.32.2.8: +105 -82 lines
Sync with HEAD. Here we go again...

Revision 1.48: download - view: text, markup, annotated - select for diffs
Wed Nov 2 12:39:00 2005 UTC (19 years, 1 month ago) by yamt
Branches: MAIN
CVS tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, ktrace-lwp-base
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +12 -8 lines
merge yamt-vop branch.  remove following VOPs.

	VOP_BLKATOFF
	VOP_VALLOC
	VOP_BALLOC
	VOP_REALLOCBLKS
	VOP_VFREE
	VOP_TRUNCATE
	VOP_UPDATE

Revision 1.42.2.1: download - view: text, markup, annotated - select for diffs
Fri Oct 21 11:25:56 2005 UTC (19 years, 1 month ago) by tron
Branches: 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
Diff to: previous 1.42: preferred, colored; next MAIN 1.43: preferred, colored
Changes since revision 1.42: +1 -2 lines
Pull up following revision(s) (requested by yamt in ticket #845):
	sys/ufs/ffs/ffs_extern.h: revision 1.45 via patch
	sys/ufs/ffs/ffs_vnops.c: revision 1.75 via patch
revert the code to expand putpage requests to block boundary.
because:
	- it was incomplete in some cases.
	- it can confuse pagedaemon.
see PR/15364 for details.

Revision 1.47.2.1: download - view: text, markup, annotated - select for diffs
Thu Oct 20 03:00:30 2005 UTC (19 years, 1 month ago) by yamt
Branches: yamt-vop
Diff to: previous 1.47: preferred, colored; next MAIN 1.48: preferred, colored
Changes since revision 1.47: +12 -8 lines
adapt ufs.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Mon Sep 12 20:23:03 2005 UTC (19 years, 3 months ago) by christos
Branches: MAIN
CVS tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-vop
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +5 -1 lines
- access the ffs and ext2fs itimes functions through a pointer, so that
  if the filesystem is not compiled in the kernel still links. Probably
  a better solution is to use weak symbols.
- move the filesystem-specific itime macros to the filesystem header files.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Mon Sep 12 16:24:41 2005 UTC (19 years, 3 months ago) by christos
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +6 -1 lines
Use nanotime() to update the time fields in filesystems. Convert the code
from macros to real functions. Original patch and review from chuq.
Note: ext2fs only keeps seconds in the on-disk inode, and msdosfs does not
have enough precision for all fields, so this is not very useful for those
two.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Fri Sep 9 15:00:39 2005 UTC (19 years, 3 months ago) by yamt
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +1 -2 lines
revert the code to expand putpage requests to block boundary.
because:
	- it was incomplete in some cases.
	- it can confuse pagedaemon.
see PR/15364 for details.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Sun Aug 28 19:37:59 2005 UTC (19 years, 3 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +9 -1 lines
Experimental support for extended attributes on UFS1 file systems, using a
backing file per attribute type indexed by inode number to hold the extended
attributes.

This is working pretty well on my test systems, except for the "autostart"
feature.  I need someone with a better handle on the VFS locking protocol
to go over that.

This is a work-in-progress.  There are parts of this that could be re-factored
allowing this approach to be used on other types of file systems.

Adapted from FreeBSD.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Fri Jul 15 05:01:16 2005 UTC (19 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +85 -82 lines
Use ANSI function decls.

Revision 1.41.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 29 11:29:39 2005 UTC (19 years, 7 months ago) by kent
Branches: kent-audio2
Diff to: previous 1.41: preferred, colored; next MAIN 1.42: preferred, colored
Changes since revision 1.41: +2 -2 lines
sync with -current

Revision 1.41.6.1: download - view: text, markup, annotated - select for diffs
Sat Mar 19 08:37:03 2005 UTC (19 years, 8 months ago) by yamt
Branches: yamt-km
Diff to: previous 1.41: preferred, colored; next MAIN 1.42: preferred, colored
Changes since revision 1.41: +2 -2 lines
sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.32.2.8: download - view: text, markup, annotated - select for diffs
Fri Mar 4 16:54:45 2005 UTC (19 years, 9 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.7: preferred, colored
Changes since revision 1.32.2.7: +2 -2 lines
Sync with HEAD.

Hi Perry!

Revision 1.42: download - view: text, markup, annotated - select for diffs
Sat Feb 26 22:32:20 2005 UTC (19 years, 9 months ago) by perry
Branches: MAIN
CVS tags: yamt-km-base4, yamt-km-base3, netbsd-3-base, kent-audio2-base
Branch point for: yamt-lazymbuf, netbsd-3
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +2 -2 lines
nuke trailing whitespace

Revision 1.32.2.7: download - view: text, markup, annotated - select for diffs
Tue Sep 21 13:39:08 2004 UTC (20 years, 2 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.6: preferred, colored
Changes since revision 1.32.2.6: +11 -11 lines
Fix the sync with head I botched.

Revision 1.32.2.6: download - view: text, markup, annotated - select for diffs
Sat Sep 18 14:56:52 2004 UTC (20 years, 2 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.5: preferred, colored
Changes since revision 1.32.2.5: +11 -11 lines
Sync with HEAD.

Revision 1.32.2.5: download - view: text, markup, annotated - select for diffs
Fri Sep 3 12:45:55 2004 UTC (20 years, 3 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.4: preferred, colored
Changes since revision 1.32.2.4: +2 -2 lines
Sync with HEAD

Revision 1.41: download - view: text, markup, annotated - select for diffs
Sun Aug 29 10:13:48 2004 UTC (20 years, 3 months ago) by hannken
Branches: MAIN
CVS tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +2 -2 lines
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.32.2.4: download - view: text, markup, annotated - select for diffs
Tue Aug 24 17:57:42 2004 UTC (20 years, 3 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.3: preferred, colored
Changes since revision 1.32.2.3: +3 -3 lines
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.32.2.3: download - view: text, markup, annotated - select for diffs
Wed Aug 18 06:24:08 2004 UTC (20 years, 3 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.2: preferred, colored
Changes since revision 1.32.2.2: +2 -2 lines
s/proc/lwp/

Revision 1.32.2.2: download - view: text, markup, annotated - select for diffs
Tue Aug 3 10:56:49 2004 UTC (20 years, 4 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.32.2.1: preferred, colored
Changes since revision 1.32.2.1: +24 -12 lines
Sync with HEAD

Revision 1.40: download - view: text, markup, annotated - select for diffs
Fri Jun 4 07:43:56 2004 UTC (20 years, 6 months ago) by he
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -1 lines
Need to forward-declare "struct timespec" because the new ffs_snapshot()
function declaration refers to it.  Fixes build problem of sbin/badsect
for the vax target, which still uses gcc 2.95.3.

Revision 1.39: download - view: text, markup, annotated - select for diffs
Tue May 25 14:54:59 2004 UTC (20 years, 6 months ago) by hannken
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +13 -2 lines
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.36.2.1: download - view: text, markup, annotated - select for diffs
Sun May 23 10:44:57 2004 UTC (20 years, 6 months ago) by tron
Branches: 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
Diff to: previous 1.36: preferred, colored; next MAIN 1.37: preferred, colored
Changes since revision 1.36: +6 -1 lines
Pull up revision 1.38 (requested by atatat in ticket #374):
Tweak sysctl setup functions (the macros, actually) for use in lkms,
and tweak lkminit_*.c (where applicable) to call them, and to call
sysctl_teardown() when being unloaded.
This consists of (1) making setup functions not be static when being
compiled as lkms (change to sys/sysctl.h), (2) making prototypes
visible for the various setup functions in header files (changes to
various header files), and (3) making simple "load" and "unload"
functions in the actual lkminit stuff.
linux_sysctl.c also needs its root exposed (ie, made not static) for
this (when built as an lkm).

Revision 1.38: download - view: text, markup, annotated - select for diffs
Thu May 20 06:34:33 2004 UTC (20 years, 6 months ago) by atatat
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +6 -1 lines
Tweak sysctl setup functions (the macros, actually) for use in lkms,
and tweak lkminit_*.c (where applicable) to call them, and to call
sysctl_teardown() when being unloaded.

This consists of (1) making setup functions not be static when being
compiled as lkms (change to sys/sysctl.h), (2) making prototypes
visible for the various setup functions in header files (changes to
various header files), and (3) making simple "load" and "unload"
functions in the actual lkminit stuff.

linux_sysctl.c also needs its root exposed (ie, made not static) for
this (when built as an lkm).

Revision 1.37: download - view: text, markup, annotated - select for diffs
Wed Apr 21 01:05:44 2004 UTC (20 years, 7 months ago) by christos
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +3 -3 lines
Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Sat Jan 10 16:23:36 2004 UTC (20 years, 11 months ago) by hannken
Branches: MAIN
CVS tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +2 -1 lines
Split out softdep_flushworklist() from softdep_flushfiles() so that
it can be used to clear the work queue.

Cleanup ffs_sync() which did not synchronously wait when MNT_WAIT
was specified. Clear the work queue when MNT_WAIT is specified.

Result is a clean on-disk file system after ffs_sync(.., MNT_WAIT, ..)

From FreeBSD.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Fri Jan 2 05:08:57 2004 UTC (20 years, 11 months ago) by dbj
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +2 -2 lines
add uuid field to apple ufs volume label

Revision 1.34: download - view: text, markup, annotated - select for diffs
Thu Dec 4 19:38:25 2003 UTC (21 years ago) by atatat
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +1 -3 lines
Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al.  Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded.  Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment.  I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Thu Aug 7 16:34:29 2003 UTC (21 years, 4 months ago) by agc
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -6 lines
Move UCB-licensed code from 4-clause to 3-clause licence.

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

Revision 1.32.2.1: download - view: text, markup, annotated - select for diffs
Wed Jul 2 15:27:21 2003 UTC (21 years, 5 months ago) by darrenr
Branches: ktrace-lwp
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +12 -12 lines
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.32: download - view: text, markup, annotated - select for diffs
Sun Jun 29 22:32:34 2003 UTC (21 years, 5 months ago) by fvdl
Branches: MAIN
Branch point for: ktrace-lwp
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +15 -15 lines
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Sun Jun 29 18:43:41 2003 UTC (21 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +3 -3 lines
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.30: download - view: text, markup, annotated - select for diffs
Sun Jun 29 05:43:57 2003 UTC (21 years, 5 months ago) by enami
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +6 -6 lines
Add forward declaration of struct lwp instead of struct proc.  Sort those
while I'm here.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Sat Jun 28 14:22:25 2003 UTC (21 years, 5 months ago) by darrenr
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +12 -12 lines
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.28: download - view: text, markup, annotated - select for diffs
Wed Apr 2 10:39:36 2003 UTC (21 years, 8 months ago) by fvdl
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +19 -13 lines
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.27: download - view: text, markup, annotated - select for diffs
Sat Mar 15 01:10:18 2003 UTC (21 years, 9 months ago) by kristerw
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +1 -2 lines
ffs_gop_alloc() is not used any more. Remove it.

OK:ed by Konrad Schroder.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Mon Feb 17 23:48:14 2003 UTC (21 years, 9 months ago) by perseant
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +2 -2 lines
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.25: download - view: text, markup, annotated - select for diffs
Fri Jan 24 21:55:22 2003 UTC (21 years, 10 months ago) by fvdl
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +19 -18 lines
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.17.2.5: download - view: text, markup, annotated - select for diffs
Wed Dec 11 06:51:41 2002 UTC (22 years ago) by thorpej
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.17.2.4: preferred, colored; branchpoint 1.17: preferred, colored; next MAIN 1.18: preferred, colored
Changes since revision 1.17.2.4: +4 -1 lines
Sync with HEAD.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Sun Dec 1 00:12:09 2002 UTC (22 years ago) by matt
Branches: MAIN
CVS tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +5 -2 lines
Add multiple inclusion protection for headers.  Fix mismatched
variable declarations (missing const's) as needed.

Revision 1.17.2.4: download - view: text, markup, annotated - select for diffs
Fri Oct 18 02:45:49 2002 UTC (22 years, 1 month ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.17.2.3: preferred, colored; branchpoint 1.17: preferred, colored
Changes since revision 1.17.2.3: +7 -1 lines
Catch up to -current.

Revision 1.17.6.4: download - view: text, markup, annotated - select for diffs
Thu Oct 10 18:44:52 2002 UTC (22 years, 2 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.17.6.3: preferred, colored; branchpoint 1.17: preferred, colored; next MAIN 1.18: preferred, colored
Changes since revision 1.17.6.3: +7 -1 lines
sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.23: download - view: text, markup, annotated - select for diffs
Sat Sep 28 20:11:08 2002 UTC (22 years, 2 months ago) by dbj
Branches: MAIN
CVS tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +7 -1 lines
Add support for the Apple UFS variation on ffs
This is the bulk of PR #17345

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

Revision 1.17.6.3: download - view: text, markup, annotated - select for diffs
Sun Jun 23 17:52:07 2002 UTC (22 years, 5 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.17.6.2: preferred, colored; branchpoint 1.17: preferred, colored
Changes since revision 1.17.6.2: +2 -1 lines
catch up with -current on kqueue branch

Revision 1.17.2.3: download - view: text, markup, annotated - select for diffs
Thu Jun 20 03:50:23 2002 UTC (22 years, 5 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.17.2.2: preferred, colored; branchpoint 1.17: preferred, colored
Changes since revision 1.17.2.2: +2 -1 lines
Catch up to -current.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun May 5 17:00:06 2002 UTC (22 years, 7 months ago) by chs
Branches: MAIN
CVS tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, gehenna-devsw-base, gehenna-devsw
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -1 lines
for softdep vnodes, always write together the pages for any block that
might have a dependency , since the accounting doesn't work otherwise.
fixes PRs 15364 16336 16448.

Revision 1.17.6.2: download - view: text, markup, annotated - select for diffs
Thu Jan 10 20:05:01 2002 UTC (22 years, 11 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.17.6.1: preferred, colored; branchpoint 1.17: preferred, colored
Changes since revision 1.17.6.1: +6 -3 lines
Sync kqueue branch with -current.

Revision 1.16.4.1: download - view: text, markup, annotated - select for diffs
Sun Nov 25 19:30:28 2001 UTC (23 years ago) by he
Branches: netbsd-1-5
CVS tags: netbsd-1-5-PATCH003
Diff to: previous 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16: +2 -2 lines
Pull up revision 1.19 (requested by lukem):
  Call ffs_sb_swap() with the correct arguments.  Fixes problems
  with using other-endian file systems.

Revision 1.19.2.1: download - view: text, markup, annotated - select for diffs
Mon Oct 1 12:48:21 2001 UTC (23 years, 2 months ago) by fvdl
Branches: thorpej-devvp
Diff to: previous 1.19: preferred, colored; next MAIN 1.20: preferred, colored
Changes since revision 1.19: +6 -3 lines
Catch up with -current.

Revision 1.17.2.2: download - view: text, markup, annotated - select for diffs
Fri Sep 21 22:37:04 2001 UTC (23 years, 2 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.17.2.1: preferred, colored; branchpoint 1.17: preferred, colored
Changes since revision 1.17.2.1: +6 -3 lines
Catch up to -current.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Sat Sep 15 20:36:42 2001 UTC (23 years, 3 months ago) by chs
Branches: MAIN
CVS tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, post-chs-ubcperf, newlock-base, newlock, ifpoll-base, eeh-devprop-base, eeh-devprop
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +4 -3 lines
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.20: download - view: text, markup, annotated - select for diffs
Sat Sep 15 16:13:04 2001 UTC (23 years, 3 months ago) by chs
Branches: MAIN
CVS tags: pre-chs-ubcperf
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +3 -1 lines
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.17.6.1: download - view: text, markup, annotated - select for diffs
Sat Aug 25 06:17:17 2001 UTC (23 years, 3 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +5 -5 lines
Merge Aug 24 -current into the kqueue branch.

Revision 1.17.2.1: download - view: text, markup, annotated - select for diffs
Fri Aug 24 00:13:17 2001 UTC (23 years, 3 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +5 -5 lines
Catch up with -current.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Fri Aug 17 02:18:48 2001 UTC (23 years, 4 months ago) by lukem
Branches: MAIN
CVS tags: thorpej-devvp-base
Branch point for: thorpej-devvp
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -2 lines
remove third argument (`int ns') from ffs_sb_swap(), and let ffs_sb_swap()
determine the endianness of the `struct fs *o' superblock from o->fs_magic
and set needswap as necessary, rather than trusting the caller to get
it right.  invariably, almost every caller of ffs_sb_swap() was calling it
with ns set to the wrong value for ns anyway!
ansi KNF ffs_bswap.c declarations whilst here.

this fixes all sorts of problems when trying to use other-endian file systems,
notably the kernel trying to access memory *way* off, possibly corrupting or
panicing, and userland programs SEGVing and/or corrupting things (e.g,
"fsck_ffs -B"  to swap a file system endianness).

whilst the previous rev of ffs_bswap.c (1.10, 2000/12/23) made this problem
worse, i suspect that the problem was always there and previous versions
just happened not to trash things at the wrong time.

FFS_EI should now be a lot more stable.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Thu Aug 9 08:15:26 2001 UTC (23 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +4 -4 lines
be consistent and use "u_char" instead of "unsigned char"

Revision 1.12.8.2: download - view: text, markup, annotated - select for diffs
Fri Dec 8 09:20:11 2000 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.12.8.1: preferred, colored; branchpoint 1.12: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12.8.1: +4 -2 lines
Sync with HEAD.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon Nov 27 08:39:54 2000 UTC (24 years ago) by chs
Branches: MAIN
CVS tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, perseant-lfsv2-base, perseant-lfsv2
Branch point for: nathanw_sa, kqueue
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +4 -2 lines
Initial integration of the Unified Buffer Cache project.

Revision 1.12.8.1: download - view: text, markup, annotated - select for diffs
Mon Nov 20 18:11:44 2000 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +34 -7 lines
Update thorpej_scsipi to -current as of a month ago

Revision 1.16: download - view: text, markup, annotated - select for diffs
Tue Apr 4 09:23:20 2000 UTC (24 years, 8 months ago) by jdolecek
Branches: 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
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +4 -2 lines
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.15: download - view: text, markup, annotated - select for diffs
Thu Mar 16 18:20:06 2000 UTC (24 years, 9 months ago) by jdolecek
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +3 -2 lines
Add new VFS op routine - vfs_done and call it on filesystem detach
in vfs_detach(). vfs_done may free global filesystem's resources,
typically those allocated in respective filesystem's init function.
Needed so those filesystems which went in via LKM have a chance to
clean after themselves before unloading.

For each leaf filesystem, add appropriate vfs_done routine.

Also remember how many times ffs_init() was called and do
the appropriate initialization on first call only. In ffs_done(),
destroy the resources when called by the last user of ffs code.
Change mfs to call ffs_init()/ffs_done() appropriately.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Feb 14 22:00:22 2000 UTC (24 years, 10 months ago) by fvdl
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +1 -6 lines
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.12.14.1: download - view: text, markup, annotated - select for diffs
Mon Dec 27 18:36:37 1999 UTC (24 years, 11 months ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.12: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12: +34 -5 lines
Pull up to last week's -current.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Mon Nov 15 18:49:13 1999 UTC (25 years, 1 month ago) by fvdl
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +34 -5 lines
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.12.10.2: download - view: text, markup, annotated - select for diffs
Tue Oct 26 19:15:19 1999 UTC (25 years, 1 month ago) by fvdl
Branches: fvdl-softdep
Diff to: previous 1.12.10.1: preferred, colored; branchpoint 1.12: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12.10.1: +2 -1 lines
Merge changes in the trickle-sync and softdep code as done by Kirk McKusick
in FreeBSD since the version that we based the branch on. Merging mostly
done by Ethan Solomita <ethan@geocast.com>.

Also, make sure the syncer thread/process isn't active when we're
unmounting a filesystem. This could wreak havoc. XXX should be done
on a per-mountpoint basis, but especially the softdep code would
end up to be a big pile of vfs_busy() calls.

Revision 1.12.10.1: download - view: text, markup, annotated - select for diffs
Tue Oct 19 12:50:34 1999 UTC (25 years, 1 month ago) by fvdl
Branches: fvdl-softdep
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +33 -5 lines
Bring in Kirk McKusick's FFS softdep code on a branch.

Revision 1.12.4.4: download - view: text, markup, annotated - select for diffs
Sat Jul 31 20:03:14 1999 UTC (25 years, 4 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.12.4.3: preferred, colored; branchpoint 1.12: preferred, colored; next MAIN 1.13: preferred, colored
Changes since revision 1.12.4.3: +3 -1 lines
add proto for ffs_balloc1().

Revision 1.12.4.3: download - view: text, markup, annotated - select for diffs
Sun Jul 4 01:51:09 1999 UTC (25 years, 5 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.12.4.2: preferred, colored; branchpoint 1.12: preferred, colored
Changes since revision 1.12.4.2: +4 -6 lines
ffs_balloc() is now a VOP.  ffs_balloc_range() is gone.
use the genfs getpages and putpages for ffs.

Revision 1.12.4.2: download - view: text, markup, annotated - select for diffs
Mon Jun 21 15:50:10 1999 UTC (25 years, 5 months ago) by thorpej
Branches: chs-ubc2
Diff to: previous 1.12.4.1: preferred, colored; branchpoint 1.12: preferred, colored
Changes since revision 1.12.4.1: +2 -1 lines
Forward decl struct csum.

Revision 1.12.4.1: download - view: text, markup, annotated - select for diffs
Mon Jun 7 04:25:34 1999 UTC (25 years, 6 months ago) by chs
Branches: chs-ubc2
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +6 -3 lines
merge everything from chs-ubc branch.

Revision 1.11.2.3: download - view: text, markup, annotated - select for diffs
Sun May 30 15:02:07 1999 UTC (25 years, 6 months ago) by chs
Branches: chs-ubc
Diff to: previous 1.11.2.2: preferred, colored; branchpoint 1.11: preferred, colored; next MAIN 1.12: preferred, colored
Changes since revision 1.11.2.2: +2 -2 lines
remove "allocedp" arg to ffs_balloc().

Revision 1.12: download - view: text, markup, annotated - select for diffs
Fri Feb 26 23:44:49 1999 UTC (25 years, 9 months ago) by wrstuden
Branches: 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
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -3 lines
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.11.2.2: download - view: text, markup, annotated - select for diffs
Thu Feb 25 04:02:36 1999 UTC (25 years, 9 months ago) by chs
Branches: chs-ubc
Diff to: previous 1.11.2.1: preferred, colored; branchpoint 1.11: preferred, colored
Changes since revision 1.11.2.1: +3 -2 lines
update ffs_balloc(), add ffs_balloc_range().

Revision 1.11.2.1: download - view: text, markup, annotated - select for diffs
Mon Nov 9 06:06:36 1998 UTC (26 years, 1 month ago) by chs
Branches: chs-ubc
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +4 -2 lines
initial snapshot.  lots left to do.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Tue Sep 1 03:11:08 1998 UTC (26 years, 3 months ago) by thorpej
Branches: MAIN
CVS tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base
Branch point for: chs-ubc
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -1 lines
Use the pool allocator and the "nointr" pool page allocator for FFS inodes.

XXX MFS also comes in here for inodes, and used a different malloc type,
but the structure is the same, so we just use the FFS inode pool.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Jun 24 20:58:47 1998 UTC (26 years, 5 months ago) by sommerfe
Branches: MAIN
CVS tags: eeh-paddr_t-base, eeh-paddr_t
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +3 -10 lines
Always include fifos; "not an option any more".

Revision 1.9: download - view: text, markup, annotated - select for diffs
Mon Jun 22 22:01:08 1998 UTC (26 years, 5 months ago) by sommerfe
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +5 -1 lines
defopt for options FIFO

Revision 1.8: download - view: text, markup, annotated - select for diffs
Wed Mar 18 15:57:27 1998 UTC (26 years, 9 months ago) by bouyer
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +9 -3 lines
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.7: download - view: text, markup, annotated - select for diffs
Sun Mar 1 02:23:14 1998 UTC (26 years, 9 months ago) by fvdl
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +31 -12 lines
Merge with Lite2 + local changes

Revision 1.1.1.2 (vendor branch): download - view: text, markup, annotated - select for diffs
Sun Mar 1 02:14:05 1998 UTC (26 years, 9 months ago) by fvdl
Branches: netbsd, CSRG
CVS tags: lite-2
Diff to: previous 1.1.1.1: preferred, colored
Changes since revision 1.1.1.1: +31 -11 lines
Import 4.4BSD-Lite2

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Sun Mar 1 02:10:44 1998 UTC (26 years, 9 months ago) by fvdl
Branches: netbsd, CSRG
CVS tags: lite-1, date-03-may-96
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -2 lines
Import 4.4BSD-Lite for reference

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sun Dec 22 10:10:40 1996 UTC (27 years, 11 months ago) by cgd
Branches: MAIN
CVS tags: thorpej-signal-base, thorpej-signal, thorpej-setroot, 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, mrg-vm-swap, marc-pcmcia-bp, marc-pcmcia-base, marc-pcmcia, is-newarp-before-merge, is-newarp-base, is-newarp, bouyer-scsipi
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -2 lines
Change the second and third args to struct vfsops' (*vfs_mount)() to
'const char *', and 'void *', respectively.  The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions.  The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...

Revision 1.5: download - view: text, markup, annotated - select for diffs
Sun Sep 1 23:49:18 1996 UTC (28 years, 3 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -2 lines
Add a set of generic file system operations that most file systems use.
Also, fix some time stamp bogosities.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri Feb 9 22:22:22 1996 UTC (28 years, 10 months ago) by christos
Branches: MAIN
CVS tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +57 -41 lines
ffs prototypes

Revision 1.3: download - view: text, markup, annotated - select for diffs
Thu Oct 20 04:20:57 1994 UTC (30 years, 1 month ago) by cgd
Branches: MAIN
CVS tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -2 lines
update for new syscall args description mechanism, and deal safely
with wider types.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Wed Jun 29 06:46:30 1994 UTC (30 years, 5 months ago) by cgd
Branches: 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
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -2 lines
New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.1: download - view: text, markup, annotated - select for diffs
Wed Jun 8 11:42:03 1994 UTC (30 years, 6 months ago) by mycroft
Branches: MAIN
Update to 4.4-Lite fs code, with local changes.

Diff request

This form allows you to request diffs 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.

Log view options

CVSweb <webmaster@jp.NetBSD.org>