Up to [cvs.NetBSD.org] / src / sys / ufs / ffs
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.122 / (download) - annotate - [select for diffs], Tue Jan 22 09:39:16 2013 UTC (4 months, 3 weeks ago) by dholland
Branch: MAIN
CVS Tags: yamt-pagecache-base8,
tls-maxphys-nbase,
tls-maxphys-base,
khorben-n900,
agc-symver-base,
agc-symver,
HEAD
Changes since 1.121: +5 -5
lines
Diff to previous 1.121 (colored)
Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency) Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs. No functional change intended.
Revision 1.121 / (download) - annotate - [select for diffs], Sun Apr 29 22:54:00 2012 UTC (13 months, 2 weeks ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base7,
yamt-pagecache-base6,
yamt-pagecache-base5,
jmcneill-usbmp-base10
Branch point for: tls-maxphys
Changes since 1.120: +24 -22
lines
Diff to previous 1.120 (colored)
change vflushbuf() to take the full FSYNC_* flags. translate FSYNC_LAZY into PGO_LAZY for VOP_PUTPAGES() so that genfs_do_io() can set the appropriate io priority for the I/O. this is the first part of addressing PR 46325.
Revision 1.120 / (download) - annotate - [select for diffs], Mon Jun 27 16:34:47 2011 UTC (23 months, 3 weeks ago) by manu
Branch: MAIN
CVS Tags: yamt-pagecache-base4,
yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
netbsd-6-base,
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-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3
Branch point for: yamt-pagecache,
netbsd-6,
jmcneill-usbmp
Changes since 1.119: +14 -4
lines
Diff to previous 1.119 (colored)
Implement extended attribute listing for UFS1. Modify lsextattr(8) so that it does not expect each attribute name to be prefixed by its length. This enable extattr_list_(file|link|fd) to return a buffer matching its documentation. This also makes the interface similar to what Linux and FUSE do, which is nice for interoperability. Note that since we had no EA implementation supporting listing, we do not break anything.
Revision 1.119 / (download) - annotate - [select for diffs], Sun Jun 12 03:36:00 2011 UTC (2 years ago) by rmind
Branch: MAIN
Changes since 1.118: +12 -12
lines
Diff to previous 1.118 (colored)
Welcome to 5.99.53! Merge rmind-uvmplock branch: - Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock. - Simplify locking in some pmap(9) modules by removing P->V locking. - Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs). - Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns. - Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues. Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
Revision 1.118 / (download) - annotate - [select for diffs], Wed Apr 27 07:24:53 2011 UTC (2 years, 1 month ago) by hannken
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase,
rmind-uvmplock-base,
cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.117: +69 -97
lines
Diff to previous 1.117 (colored)
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.117 / (download) - annotate - [select for diffs], Fri Apr 15 15:54:11 2011 UTC (2 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.116: +11 -12
lines
Diff to previous 1.116 (colored)
ffs_fsync: no need for wapbl_vptomp() here -- vnode is always VREG.
Revision 1.116 / (download) - annotate - [select for diffs], Thu Aug 12 07:41:49 2010 UTC (2 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2,
matt-mips64-premerge-20101231,
jruoho-x86intr-base,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.115: +4 -3
lines
Diff to previous 1.115 (colored)
ffs_reclaim: don't free an already free inode. This may happen when
ffs_fhtovp() gets a free inode and releases it.
Revision 1.115 / (download) - annotate - [select for diffs], Wed Jul 28 11:03:48 2010 UTC (2 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base10
Changes since 1.114: +15 -2
lines
Diff to previous 1.114 (colored)
ext2fs,ffs: free on disk inodes in the reclaim routine. Remove now unneeded vnode flag VI_FREEING. Welcome to 5.99.38. Ok: Andrew Doran <ad@netbsd.org>
Revision 1.114 / (download) - annotate - [select for diffs], Mon Mar 29 13:11:33 2010 UTC (3 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: uebayasi-xip-base1
Changes since 1.113: +26 -26
lines
Diff to previous 1.113 (colored)
Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.
Revision 1.113 / (download) - annotate - [select for diffs], Wed Nov 4 09:45:05 2009 UTC (3 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base,
matt-premerge-20091211
Branch point for: uebayasi-xip,
rmind-uvmplock
Changes since 1.112: +11 -82
lines
Diff to previous 1.112 (colored)
Now that softdep has left the tree the only place needing the ffs_lock() hack is ffs_sync(). - Use the generic lock operations for ffs. - Change ffs_sync() to omit the vnode lock while suspending. Reviewed by: Antti Kantee <pooka@netbsd.org>
Revision 1.112 / (download) - annotate - [select for diffs], Sun Mar 29 10:29:00 2009 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
yamt-nfs-mp-base6,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base,
jymxensuspend-base,
jym-xensuspend-nbase,
jym-xensuspend-base
Changes since 1.111: +10 -10
lines
Diff to previous 1.111 (colored)
fsync: - atime updates were not being synced. ffs_sync: - In some cases the sync vnode was acting like now dead /usr/sbin/update. It was examining vnodes that it should have ignored. - It would find dirty inodes and try to flush them. Often ffs_fsync() cheerfully ignored the flush request due to the fsync bug. Such inodes remained dirty and were repeatedly re-examined by the syncer until vnode reclaim or system shutdown. - We were marking our place in the per-mount vnode list even though in most cases there was not flush to perform. While not a bug, this wasted CPU cycles because a TAILQ_NEXT would have sufficed.
Revision 1.111 / (download) - annotate - [select for diffs], Sun Feb 22 20:28:06 2009 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: nick-hppapmap-base2
Changes since 1.110: +10 -65
lines
Diff to previous 1.110 (colored)
PR kern/26878 FFSv2 + softdep = livelock (no free ram) PR kern/16942 panic with softdep and quotas PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch PR kern/26274 softdep panic: allocdirect_merge: ... PR kern/26374 Long delay before non-root users can write to softdep partitions PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk PR kern/31981 stopping scsi disk can cause panic (softdep) PR kern/32116 kernel panic in softdep (assertion failure) PR kern/32532 softdep_trackbufs deadlock PR kern/37191 softdep: locking against myself PR kern/40474 Kernel panic after remounting raid root with softdep Retire softdep, pass 2. As discussed and later formally announced on the mailing lists.
Revision 1.110 / (download) - annotate - [select for diffs], Sun Feb 22 20:10:25 2009 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.109: +39 -36
lines
Diff to previous 1.109 (colored)
PR kern/39564 wapbl performance issues with disk cache flushing PR kern/40361 WAPBL locking panic in -current PR kern/40361 WAPBL locking panic in -current PR kern/40470 WAPBL corrupts ext2fs PR kern/40562 busy loop in ffs_sync when unmounting a file system PR kern/40525 panic: ffs_valloc: dup alloc - A fix for an issue that can lead to "ffs_valloc: dup" due to dirty cg buffers being invalidated. Problem discovered and patch by dholland@. - If the syncer fails to lazily sync a vnode due to lock contention, retry 1 second later instead of 30 seconds later. - Flush inode atime updates every ~10 seconds (this makes most sense with logging). Presently they didn't hit the disk for read-only files or devices until the file system was unmounted. It would be better to trickle the updates out but that would require more extensive changes. - Fix issues with file system corruption, busy looping and other nasty problems when logging and non-logging file systems are intermixed, with one being the root file system. - For logging, do not flush metadata on an inode-at-a-time basis if the sync has been requested by ioflush. Previously, we could try hundreds of log sync operations a second due to inode update activity, causing the syncer to fall behind and metadata updates to be serialized across the entire file system. Instead, burst out metadata and log flushes at a minimum interval of every 10 seconds on an active file system (happens more often if the log becomes full). Note this does not change the operation of fsync() etc. - With the flush issue fixed, re-enable concurrent metadata updates in vfs_wapbl.c.
Revision 1.109 / (download) - annotate - [select for diffs], Sun Feb 1 17:36:43 2009 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.108: +13 -23
lines
Diff to previous 1.108 (colored)
PR kern/40469 5.0_BETA/amd64 INSTALL kernel panics when installing on log-enabled filesystems PR kern/40470 WAPBL corrupts ext2fs Don't touch inodes at all unless VOP_FSYNC(). Might fix the ext2fs problem, I am not sure.
Revision 1.108 / (download) - annotate - [select for diffs], Sun Dec 28 16:27:00 2008 UTC (4 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: mjf-devfs2-base
Changes since 1.107: +3 -3
lines
Diff to previous 1.107 (colored)
Don't try to ffs_update VT_NON vnodes
Revision 1.107 / (download) - annotate - [select for diffs], Mon Dec 22 12:18:48 2008 UTC (4 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.106: +5 -3
lines
Diff to previous 1.106 (colored)
Add a comment.
Revision 1.106 / (download) - annotate - [select for diffs], Mon Dec 22 11:46:33 2008 UTC (4 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.105: +3 -5
lines
Diff to previous 1.105 (colored)
PR kern/40246 current panics when removing swap devices Someone was smoking crack when they decided to unconditionally OR FSYNC_VFS into the flags for block devices.
Revision 1.105 / (download) - annotate - [select for diffs], Sun Dec 21 10:44:32 2008 UTC (4 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.104: +17 -14
lines
Diff to previous 1.104 (colored)
PR kern/40210 5.0 BETA WAPBL related crash
Revision 1.104 / (download) - annotate - [select for diffs], Fri Oct 10 09:21:58 2008 UTC (4 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4,
netbsd-5-base,
netbsd-5-0-RC1,
matt-mips64-base2,
haad-nbase2,
haad-dm-base2,
haad-dm-base1,
haad-dm-base,
ad-audiomp2-base,
ad-audiomp2
Branch point for: nick-hppapmap,
netbsd-5
Changes since 1.103: +2 -20
lines
Diff to previous 1.103 (colored)
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.103 / (download) - annotate - [select for diffs], Fri Aug 22 10:48:22 2008 UTC (4 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2
Changes since 1.102: +20 -2
lines
Diff to previous 1.102 (colored)
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.102 / (download) - annotate - [select for diffs], Tue Aug 12 10:14:37 2008 UTC (4 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.101: +3 -17
lines
Diff to previous 1.101 (colored)
Deny read/write access to snapshot vnodes. We use fss(4) to read from snapshots. With this policy in place: - Separate the snapshot vnode lock from the snapshot common lock. Snapshots no longer need recursive vnode locks. - Use a mutex (si_snaplock) to serialize creation, deletion, reading and writing of snapshots. - Move ffs_read() for snapshots into ffs_snapshot.c. Reviewed by: Jason Thorpe <thorpej@netbsd.org> While here change ffs_copyonwrite() to fail requests from pagedaemon that need to copy-on-write.
Revision 1.101 / (download) - annotate - [select for diffs], Thu Jul 31 23:49:50 2008 UTC (4 years, 10 months ago) by oster
Branch: MAIN
Changes since 1.100: +11 -6
lines
Diff to previous 1.100 (colored)
Make MSDOS filesystems work again after WAPBL merge. Fixes a quite repeatable panic in fstrans_getstate() found while searching for a different USB bug. Also makes the code somewhat more readable. Patch from Juergen Hannken-Illjes with a small rearrangement from me. Approved by: hannken
Revision 1.100 / (download) - annotate - [select for diffs], Thu Jul 31 05:38:06 2008 UTC (4 years, 10 months ago) by simonb
Branch: MAIN
Changes since 1.99: +128 -6
lines
Diff to previous 1.99 (colored)
Merge the simonb-wapbl branch. From the original branch commit: Add Wasabi System's WAPBL (Write Ahead Physical Block Logging) journaling code. Originally written by Darrin B. Jewell while at Wasabi and updated to -current by Antti Kantee, Andy Doran, Greg Oster and Simon Burge. OK'd by core@, releng@.
Revision 1.99 / (download) - annotate - [select for diffs], Tue Apr 29 18:18:09 2008 UTC (5 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-nfs-mp-base2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
simonb-wapbl-nbase,
simonb-wapbl-base,
hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa,
simonb-wapbl,
haad-dm
Changes since 1.98: +21 -8
lines
Diff to previous 1.98 (colored)
PR kern/38057 ffs makes assuptions about devvp file system PR kern/33406 softdeps get stuck in endless loop Introduce VFS_FSYNC() and call it when syncing a block device, if it has a mounted file system.
Revision 1.98 / (download) - annotate - [select for diffs], Wed Jan 30 09:50:25 2008 UTC (5 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base,
yamt-nfs-mp-base,
yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
keiichi-mipv6,
hpcarm-cleanup-base,
ad-socklock-base1
Branch point for: yamt-pf42,
yamt-nfs-mp,
mjf-devfs2
Changes since 1.97: +14 -19
lines
Diff to previous 1.97 (colored)
Replace struct lock on vnodes with a simpler lock object built on krwlock_t. This is a step towards removing lockmgr and simplifying vnode locking. Discussed on tech-kern.
Revision 1.97 / (download) - annotate - [select for diffs], Fri Jan 25 14:32:17 2008 UTC (5 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.96: +2 -5
lines
Diff to previous 1.96 (colored)
Remove VOP_LEASE. Discussed on tech-kern.
Revision 1.96 / (download) - annotate - [select for diffs], Wed Jan 9 16:15:23 2008 UTC (5 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase,
bouyer-xeni386-base
Changes since 1.95: +2 -10
lines
Diff to previous 1.95 (colored)
Go back to freeing on disk inodes in the inactive routine. It would be better not to do this, but it rules out potential side effects with softdep.
Revision 1.95 / (download) - annotate - [select for diffs], Thu Jan 3 19:28:49 2008 UTC (5 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.94: +5 -5
lines
Diff to previous 1.94 (colored)
Use pool_cache.
Revision 1.94 / (download) - annotate - [select for diffs], Wed Jan 2 11:49:10 2008 UTC (5 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.93: +77 -89
lines
Diff to previous 1.93 (colored)
Merge vmlocking2 to head.
Revision 1.93 / (download) - annotate - [select for diffs], Mon Nov 26 19:02:30 2007 UTC (5 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3,
yamt-kmem-base2,
yamt-kmem-base,
yamt-kmem,
vmlocking2-base3,
vmlocking2-base2,
vmlocking2-base1,
vmlocking-nbase,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
jmcneill-pm-base,
cube-autoconf-base,
cube-autoconf
Branch point for: vmlocking2,
bouyer-xeni386
Changes since 1.92: +5 -5
lines
Diff to previous 1.92 (colored)
Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used. quick consensus on tech-kern
Revision 1.92 / (download) - annotate - [select for diffs], Wed Oct 10 20:42:34 2007 UTC (5 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4,
yamt-x86pmap-base3,
vmlocking-base,
jmcneill-base,
bouyer-xenamd64-base2,
bouyer-xenamd64-base,
bouyer-xenamd64
Branch point for: mjf-devfs
Changes since 1.91: +4 -4
lines
Diff to previous 1.91 (colored)
Merge from vmlocking: - Split vnode::v_flag into three fields, depending on field locking. - simple_lock -> kmutex in a few places. - Fix some simple locking problems.
Revision 1.91 / (download) - annotate - [select for diffs], Tue Aug 21 09:27:33 2007 UTC (5 years, 9 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-x86pmap-base2,
yamt-x86pmap-base,
nick-csl-alignment-base5
Branch point for: yamt-x86pmap,
matt-armv6
Changes since 1.90: +30 -4
lines
Diff to previous 1.90 (colored)
Modify ffs_lock() to take care for changed v_vnlock. Snapshots do not need transferlockers() anymore. From FreeBSD ffs_vnops.c Rev. 1.159 Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>
Revision 1.90 / (download) - annotate - [select for diffs], Thu Aug 9 09:22:34 2007 UTC (5 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.89: +78 -11
lines
Diff to previous 1.89 (colored)
Move the fstrans-aware lock vnops from ufs to ffs. Other ufs file systems do not need them. Ride on 4.99.28
Revision 1.89 / (download) - annotate - [select for diffs], Fri Jul 20 16:46:45 2007 UTC (5 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: matt-mips64-base,
hpcarm-cleanup
Branch point for: matt-mips64,
jmcneill-pm
Changes since 1.88: +3 -3
lines
Diff to previous 1.88 (colored)
In sync, skip over vnodes based on if they are clean rather than if they have pages.
Revision 1.88 / (download) - annotate - [select for diffs], Tue Jun 5 12:31:34 2007 UTC (6 years ago) by yamt
Branch: MAIN
CVS Tags: nick-csl-alignment-base,
mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.87: +5 -3
lines
Diff to previous 1.87 (colored)
improve post-ubc file overwrite performance in common cases. ie. when it's safe, actually overwrite blocks rather than doing read-modify-write. also fixes PR/33152 and PR/36303.
Revision 1.87 / (download) - annotate - [select for diffs], Thu May 17 07:26:23 2007 UTC (6 years, 1 month ago) by hannken
Branch: MAIN
CVS Tags: yamt-idlelwp-base8
Changes since 1.86: +7 -12
lines
Diff to previous 1.86 (colored)
Fstrans_start() always returns zero, so change its type to void.
Revision 1.86 / (download) - annotate - [select for diffs], Tue Feb 20 16:21:04 2007 UTC (6 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: thorpej-atomic-base,
thorpej-atomic,
reinoud-bufcleanup,
ad-audiomp-base,
ad-audiomp
Branch point for: vmlocking,
mjf-ufs-trans
Changes since 1.85: +3 -2
lines
Diff to previous 1.85 (colored)
Call genfs_node_destroy() where appropriate.
Revision 1.85 / (download) - annotate - [select for diffs], Mon Jan 29 15:42:50 2007 UTC (6 years, 4 months ago) by hannken
Branch: MAIN
CVS Tags: post-newlock2-merge,
newlock2-nbase,
newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.84: +8 -8
lines
Diff to previous 1.84 (colored)
Change fstrans enum types to upper case. No functional change. From Antti Kantee <pooka@netbsd.org>
Revision 1.84 / (download) - annotate - [select for diffs], Fri Jan 19 14:49:12 2007 UTC (6 years, 4 months ago) by hannken
Branch: MAIN
Changes since 1.83: +54 -18
lines
Diff to previous 1.83 (colored)
New file system suspension API to replace vn_start_write and vn_finished_write. The suspension helpers are now put into file system specific operations. This means every file system not supporting these helpers cannot be suspended and therefore snapshots are no longer possible. Implemented for file systems of type ffs. The new API is enabled on a kernel option NEWVNGATE. This option is not enabled by default in any kernel config. Presented and discussed on tech-kern with much input from Bill Studenmund <wrstuden@netbsd.org> and YAMAMOTO Takashi <yamt@netbsd.org>. Welcome to 4.99.9 (new vfs op vfs_suspendctl).
Revision 1.83 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:53 2006 UTC (6 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
wrstuden-fixsa,
netbsd-4-base,
netbsd-4-0-RELEASE,
netbsd-4-0-RC5,
netbsd-4-0-RC4,
netbsd-4-0-RC3,
netbsd-4-0-RC2,
netbsd-4-0-RC1,
netbsd-4-0-1-RELEASE,
netbsd-4-0,
netbsd-4,
matt-nb4-arm-base,
matt-nb4-arm
Changes since 1.82: +3 -3
lines
Diff to previous 1.82 (colored)
__unused removal on arguments; approved by core.
Revision 1.82 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:51 2006 UTC (6 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.81: +3 -3
lines
Diff to previous 1.81 (colored)
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
Revision 1.81 / (download) - annotate - [select for diffs], Sun Jul 23 22:06:15 2006 UTC (6 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base,
yamt-pdpolicy-base9,
yamt-pdpolicy-base8,
yamt-pdpolicy-base7,
rpaulo-netinet-merge-pcb-base,
abandoned-netbsd-4-base,
abandoned-netbsd-4
Branch point for: yamt-splraiseipl,
newlock2
Changes since 1.80: +4 -4
lines
Diff to previous 1.80 (colored)
Use the LWP cached credentials where sane.
Revision 1.80 / (download) - annotate - [select for diffs], Sun May 14 21:32:45 2006 UTC (7 years, 1 month ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6,
yamt-pdpolicy-base5,
simonb-timecounters-base,
gdamore-uart-base,
gdamore-uart,
chap-midi-nbase,
chap-midi-base,
chap-midi
Changes since 1.79: +13 -12
lines
Diff to previous 1.79 (colored)
integrate kauth.
Revision 1.79 / (download) - annotate - [select for diffs], Sun Apr 9 21:59:35 2006 UTC (7 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4,
elad-kernelauth-base
Changes since 1.78: +2 -7
lines
Diff to previous 1.78 (colored)
ffs_gop_size: revert a problematic part of 1.78. problems reported by Kouichirou Hiratsuka and Jukka Salmi on current-users@.
Revision 1.78 / (download) - annotate - [select for diffs], Thu Mar 30 12:40:06 2006 UTC (7 years, 2 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pdpolicy-base3
Changes since 1.77: +6 -5
lines
Diff to previous 1.77 (colored)
some cleanups after the introduction of GOP_SIZE_MEM flag. - remove GOP_SIZE_READ/GOP_SIZE_WRITE flags. they have not been used since the change. - ufs_balloc_range: remove code which has been no-op since the change. thanks Konrad Schroder for explaining the original intention of the code. - ffs_gop_size: don't extend past eof, in the case of GOP_SIZE_MEM. otherwise genfs_getpages end up to allocate pages past eof unnecessarily.
Revision 1.77 / (download) - annotate - [select for diffs], Sun Dec 11 12:25:25 2005 UTC (7 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5,
yamt-uio_vmspace,
yamt-pdpolicy-base2,
yamt-pdpolicy-base,
peter-altq-base
Branch point for: yamt-pdpolicy,
simonb-timecounters,
rpaulo-netinet-merge-pcb,
peter-altq,
elad-kernelauth
Changes since 1.76: +8 -8
lines
Diff to previous 1.76 (colored)
merge ktrace-lwp.
Revision 1.76 / (download) - annotate - [select for diffs], Wed Nov 2 12:39:00 2005 UTC (7 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-readahead-pervnode,
yamt-readahead-perfile,
yamt-readahead-base3,
yamt-readahead-base2,
yamt-readahead-base,
yamt-readahead,
ktrace-lwp-base
Changes since 1.75: +4 -23
lines
Diff to previous 1.75 (colored)
merge yamt-vop branch. remove following VOPs. VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
Revision 1.75 / (download) - annotate - [select for diffs], Fri Sep 9 15:00:39 2005 UTC (7 years, 9 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3,
yamt-vop-base2,
yamt-vop-base,
thorpej-vnode-attr-base,
thorpej-vnode-attr
Branch point for: yamt-vop
Changes since 1.74: +3 -55
lines
Diff to previous 1.74 (colored)
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.74 / (download) - annotate - [select for diffs], Tue Aug 30 22:01:12 2005 UTC (7 years, 9 months ago) by xtraeme
Branch: MAIN
Changes since 1.73: +6 -6
lines
Diff to previous 1.73 (colored)
* Remove __P() * Use ANSI function declarations on ext2fs and mfs
Revision 1.73 / (download) - annotate - [select for diffs], Sun Aug 28 19:37:59 2005 UTC (7 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.72: +158 -2
lines
Diff to previous 1.72 (colored)
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.72 / (download) - annotate - [select for diffs], Tue Jul 26 12:14:46 2005 UTC (7 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.71: +3 -3
lines
Diff to previous 1.71 (colored)
revert VCHR part of ffs_vnops.c 1.71. as VCHR uses the device pager, no point to call VOP_PUTPAGES here. pointed by Chuck Silvers.
Revision 1.71 / (download) - annotate - [select for diffs], Thu Jul 21 22:00:08 2005 UTC (7 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.70: +3 -3
lines
Diff to previous 1.70 (colored)
ffs_full_fsync: because VBLK/VCHR can be mmap'ed, do VOP_PUTPAGES for them as well.
Revision 1.70 / (download) - annotate - [select for diffs], Fri Jul 15 05:01:16 2005 UTC (7 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.69: +5 -8
lines
Diff to previous 1.69 (colored)
Use ANSI function decls.
Revision 1.69 / (download) - annotate - [select for diffs], Sat Feb 26 22:32:20 2005 UTC (8 years, 3 months ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4,
yamt-km-base3,
netbsd-3-base,
kent-audio2-base
Branch point for: yamt-lazymbuf,
netbsd-3
Changes since 1.68: +4 -4
lines
Diff to previous 1.68 (colored)
nuke trailing whitespace
Revision 1.68 / (download) - annotate - [select for diffs], Thu Jan 27 02:16:42 2005 UTC (8 years, 4 months ago) by wrstuden
Branch: MAIN
CVS Tags: yamt-km-base2,
matt-timespec
Changes since 1.67: +3 -3
lines
Diff to previous 1.67 (colored)
Fix pasto in previous. We only perform the DIOCCACHESYNC call if FSYNC_CACHE is set, not if FSYNC_WAIT is set.
Revision 1.67 / (download) - annotate - [select for diffs], Tue Jan 25 23:55:21 2005 UTC (8 years, 4 months ago) by wrstuden
Branch: MAIN
Changes since 1.66: +21 -5
lines
Diff to previous 1.66 (colored)
Extend fsync_range(2) to support the FDISKSYNC flag, which requests that the sync be propogated out through the disk drive caches.
Revision 1.66 / (download) - annotate - [select for diffs], Sat Nov 15 01:19:38 2003 UTC (9 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-km-base,
netbsd-2-base,
netbsd-2-1-RELEASE,
netbsd-2-1-RC6,
netbsd-2-1-RC5,
netbsd-2-1-RC4,
netbsd-2-1-RC3,
netbsd-2-1-RC2,
netbsd-2-1-RC1,
netbsd-2-1,
netbsd-2-0-base,
netbsd-2-0-RELEASE,
netbsd-2-0-RC5,
netbsd-2-0-RC4,
netbsd-2-0-RC3,
netbsd-2-0-RC2,
netbsd-2-0-RC1,
netbsd-2-0-3-RELEASE,
netbsd-2-0-2-RELEASE,
netbsd-2-0-1-RELEASE,
netbsd-2-0,
netbsd-2,
kent-audio1-beforemerge,
kent-audio1-base,
kent-audio1
Branch point for: yamt-km,
kent-audio2
Changes since 1.65: +4 -3
lines
Diff to previous 1.65 (colored)
Kernel portion of the fsync_range(2) system call. Written by Bill Studenmund, and contributed by Wasabi Systems, Inc.
Revision 1.65 / (download) - annotate - [select for diffs], Sat Nov 8 07:13:57 2003 UTC (9 years, 7 months ago) by jdolecek
Branch: MAIN
Changes since 1.64: +3 -3
lines
Diff to previous 1.64 (colored)
fix uninitialized variable use in previous change (!)
Revision 1.64 / (download) - annotate - [select for diffs], Sat Nov 8 06:00:39 2003 UTC (9 years, 7 months ago) by dbj
Branch: MAIN
Changes since 1.63: +10 -10
lines
Diff to previous 1.63 (colored)
always do a full fsync if vp->v_type != VREG in partial fsync, only use PGO_SYNCIO if FSYNC_WAIT is specified
Revision 1.63 / (download) - annotate - [select for diffs], Sat Nov 8 04:39:00 2003 UTC (9 years, 7 months ago) by dbj
Branch: MAIN
Changes since 1.62: +10 -4
lines
Diff to previous 1.62 (colored)
protect use of buf's b_flags with b_interlock
Revision 1.62 / (download) - annotate - [select for diffs], Sat Nov 8 04:22:36 2003 UTC (9 years, 7 months ago) by dbj
Branch: MAIN
Changes since 1.61: +13 -8
lines
Diff to previous 1.61 (colored)
protect a few uses of buf's b_flags with b_interlock
Revision 1.61 / (download) - annotate - [select for diffs], Sat Oct 25 19:52:21 2003 UTC (9 years, 7 months ago) by kleink
Branch: MAIN
Changes since 1.60: +5 -8
lines
Diff to previous 1.60 (colored)
Remove the present incarnation of FSYNC_DATAONLY use from ffs_fsync() and ffs_full_fsync(); while it is supposed to hint that the update of _file_ metadata (as in timestamps et al.) may be omitted it doesn't mean the same for _filesystem_ metadata.
Revision 1.60 / (download) - annotate - [select for diffs], Thu Aug 7 16:34:32 2003 UTC (9 years, 10 months ago) by agc
Branch: MAIN
Changes since 1.59: +3 -7
lines
Diff to previous 1.59 (colored)
Move UCB-licensed code from 4-clause to 3-clause licence. Patches provided by Joel Baker in PR 22364, verified by myself.
Revision 1.59 / (download) - annotate - [select for diffs], Sun Jun 29 22:32:37 2003 UTC (9 years, 11 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.58: +4 -4
lines
Diff to previous 1.58 (colored)
Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
Revision 1.58 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:26 2003 UTC (9 years, 11 months ago) by darrenr
Branch: MAIN
Changes since 1.57: +6 -6
lines
Diff to previous 1.57 (colored)
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed. Bump the kernel rev up to 1.6V
Revision 1.57 / (download) - annotate - [select for diffs], Wed Apr 16 07:38:25 2003 UTC (10 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.56: +8 -6
lines
Diff to previous 1.56 (colored)
ffs_reclaim may be called while the dinode pointer in the inode structure is still NULL (in the case of an error in ffs_vget). Check for this condition before doing a pool_put.
Revision 1.56 / (download) - annotate - [select for diffs], Wed Apr 2 10:39:38 2003 UTC (10 years, 2 months ago) by fvdl
Branch: MAIN
Changes since 1.55: +9 -3
lines
Diff to previous 1.55 (colored)
Add support for UFS2. UFS2 is an enhanced FFS, adding support for 64 bit block pointers, extended attribute storage, and a few other things. This commit does not yet include the code to manipulate the extended storage (for e.g. ACLs), this will be done later. Originally written by Kirk McKusick and Network Associates Laboratories for FreeBSD.
Revision 1.55 / (download) - annotate - [select for diffs], Mon Feb 17 23:48:15 2003 UTC (10 years, 4 months ago) by perseant
Branch: MAIN
Changes since 1.54: +7 -3
lines
Diff to previous 1.54 (colored)
Add code to UBCify LFS. This is still behind "#ifdef LFS_UBC" for now (there are still some details to work out) but expect that to go away soon. To support these basic changes (creation of lfs_putpages, lfs_gop_write, mods to lfs_balloc) several other changes were made, to wit: * Create a writer daemon kernel thread whose purpose is to handle page writes for the pagedaemon, but which also takes over some of the functions of lfs_check(). This thread is started the first time an LFS is mounted. * Add a "flags" parameter to GOP_SIZE. Current values are GOP_SIZE_READ, meaning that the call should return the size of the in-core version of the file, and GOP_SIZE_WRITE, meaning that it should return the on-disk size. One of GOP_SIZE_READ or GOP_SIZE_WRITE must be specified. * Instead of using malloc(...M_WAITOK) for everything, reserve enough resources to get by and use malloc(...M_NOWAIT), using the reserves if necessary. Use the pool subsystem for structures small enough that this is feasible. This also obsoletes LFS_THROTTLE. And a few that are not strictly necessary: * Moves the LFS inode extensions off onto a separately allocated structure; getting closer to LFS as an LKM. "Welcome to 1.6O." * Unified GOP_ALLOC between FFS and LFS. * Update LFS copyright headers to correct values. * Actually cast to unsigned in lfs_shellsort, like the comment says. * Keep track of which segments were empty before the previous checkpoint; any segments that pass two checkpoints both dirty and empty can be summarily cleaned. Do this. Right now lfs_segclean still works, but this should be turned into an effectless compatibility syscall.
Revision 1.54 / (download) - annotate - [select for diffs], Wed Feb 5 21:38:44 2003 UTC (10 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.53: +10 -5
lines
Diff to previous 1.53 (colored)
Make the buffer cache code MP-safe.
Revision 1.53 / (download) - annotate - [select for diffs], Wed Jan 29 03:06:40 2003 UTC (10 years, 4 months ago) by simonb
Branch: MAIN
Changes since 1.52: +2 -4
lines
Diff to previous 1.52 (colored)
Remove variable that is only assigned to but not referenced.
Revision 1.52 / (download) - annotate - [select for diffs], Fri Jan 24 21:55:24 2003 UTC (10 years, 4 months ago) by fvdl
Branch: MAIN
Changes since 1.51: +4 -4
lines
Diff to previous 1.51 (colored)
Bump daddr_t to 64 bits. Replace it with int32_t in all places where it was used on-disk, so that on-disk formats remain the same. Remove ufs_daddr_t and ufs_lbn_t for the time being.
Revision 1.51 / (download) - annotate - [select for diffs], Fri Nov 1 21:11:43 2002 UTC (10 years, 7 months ago) by kristerw
Branch: MAIN
CVS Tags: nathanw_sa_before_merge,
nathanw_sa_base,
gmcgarry_ucred_base,
gmcgarry_ucred,
gmcgarry_ctxsw_base,
gmcgarry_ctxsw,
fvdl_fs64_base
Changes since 1.50: +2 -5
lines
Diff to previous 1.50 (colored)
Removed unused variables doclusterread and doclusterwrite.
Revision 1.50 / (download) - annotate - [select for diffs], Wed Oct 23 09:15:06 2002 UTC (10 years, 7 months ago) by jdolecek
Branch: MAIN
CVS Tags: kqueue-aftermerge
Changes since 1.49: +6 -2
lines
Diff to previous 1.49 (colored)
merge kqueue branch into -current kqueue provides a stateful and efficient event notification framework currently supported events include socket, file, directory, fifo, pipe, tty and device changes, and monitoring of processes and signals kqueue is supported by all writable filesystems in NetBSD tree (with exception of Coda) and all device drivers supporting poll(2) based on work done by Jonathan Lemon for FreeBSD initial NetBSD port done by Luke Mewburn and Jason Thorpe
Revision 1.49 / (download) - annotate - [select for diffs], Sun May 5 17:00:06 2002 UTC (11 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: netbsd-1-6-base,
netbsd-1-6-RELEASE,
netbsd-1-6-RC3,
netbsd-1-6-RC2,
netbsd-1-6-RC1,
netbsd-1-6-PATCH002-RELEASE,
netbsd-1-6-PATCH002-RC4,
netbsd-1-6-PATCH002-RC3,
netbsd-1-6-PATCH002-RC2,
netbsd-1-6-PATCH002-RC1,
netbsd-1-6-PATCH002,
netbsd-1-6-PATCH001-RELEASE,
netbsd-1-6-PATCH001-RC3,
netbsd-1-6-PATCH001-RC2,
netbsd-1-6-PATCH001-RC1,
netbsd-1-6-PATCH001,
netbsd-1-6,
kqueue-beforemerge,
kqueue-base,
gehenna-devsw-base,
gehenna-devsw
Changes since 1.48: +59 -3
lines
Diff to previous 1.48 (colored)
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.48 / (download) - annotate - [select for diffs], Mon Dec 31 21:37:22 2001 UTC (11 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: newlock-base,
newlock,
ifpoll-base,
ifpoll,
eeh-devprop-base,
eeh-devprop
Changes since 1.47: +3 -3
lines
Diff to previous 1.47 (colored)
Do not compare an integer to NULL.
Revision 1.47 / (download) - annotate - [select for diffs], Thu Dec 27 01:44:59 2001 UTC (11 years, 5 months ago) by fvdl
Branch: MAIN
Changes since 1.46: +12 -5
lines
Diff to previous 1.46 (colored)
The softdep code sometimes use vfs_vget .. vput. For removals, these would result in a vop_inactive call for the vnode each time, resulting in vinvalbuf->fsync. The original softdep code avoided the fsync in vinvalbuf by not calling it if there were no dirty blocks. This was changed in NetBSD. Also, flush_inodedeps was changed to mark the inode as modified so that it would do an inode update and flush the last one. This combination basically caused a sync write for each removed file in an rm -rf (showing up delayed from the syncer a lot of the time). If called from vinvalbuf (FSYNC_RECLAIM), and there were no dirty blocks or pages to begin with, still do everything as normal, so that possible dirty blocks in transit to disk are properly waited for, etc, but don't pass UPDATE_WAIT to VOP_UPDATE, since there is no need for it in that case.
Revision 1.46 / (download) - annotate - [select for diffs], Thu Nov 8 04:52:31 2001 UTC (11 years, 7 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.45: +12 -16
lines
Diff to previous 1.45 (colored)
call VOP_PUTPAGES() directly for vnodes instead of going through the UVM pager "put" vector.
Revision 1.45 / (download) - annotate - [select for diffs], Tue Nov 6 07:11:29 2001 UTC (11 years, 7 months ago) by simonb
Branch: MAIN
Changes since 1.44: +3 -4
lines
Diff to previous 1.44 (colored)
Remove some variables that are set but never used.
Revision 1.44 / (download) - annotate - [select for diffs], Tue Oct 30 01:11:54 2001 UTC (11 years, 7 months ago) by lukem
Branch: MAIN
Changes since 1.43: +4 -1
lines
Diff to previous 1.43 (colored)
add __KERNEL_RCSID()
Revision 1.43 / (download) - annotate - [select for diffs], Fri Oct 26 05:56:09 2001 UTC (11 years, 7 months ago) by lukem
Branch: MAIN
Changes since 1.42: +1 -2
lines
Diff to previous 1.42 (colored)
remove #include <ufs/ufs/quota.h> where it was just to appease <ufs/ufs/inode.h>, since the latter now includes the former. leave the former in source that obviously uses specific bits of it (for completeness.)
Revision 1.42 / (download) - annotate - [select for diffs], Wed Sep 26 06:20:50 2001 UTC (11 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base3,
thorpej-devvp-base2
Branch point for: thorpej-mips-cache
Changes since 1.41: +6 -4
lines
Diff to previous 1.41 (colored)
undo the part of the previous revision about skipping the put if there are no pages, that seems to cause some problem. fix another problem with missing an splx(), spotted by enami.
Revision 1.41 / (download) - annotate - [select for diffs], Wed Sep 26 05:25:03 2001 UTC (11 years, 8 months ago) by chs
Branch: MAIN
Changes since 1.40: +11 -9
lines
Diff to previous 1.40 (colored)
be sure to call the pager put with page-aligned offsets. spotted by Nathan Williams. while I'm here, move an splbio() so that we don't return without splx()ing it if there's an error, and don't bother calling the pager put if the vnode has no pages.
Revision 1.40 / (download) - annotate - [select for diffs], Sat Sep 22 22:35:19 2001 UTC (11 years, 8 months ago) by sommerfeld
Branch: MAIN
Changes since 1.39: +2 -1
lines
Diff to previous 1.39 (colored)
Add fifo_putpages() placebo so that the vnode's uobj is unlocked.
Revision 1.39 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:43 2001 UTC (11 years, 9 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.38: +55 -25
lines
Diff to previous 1.38 (colored)
a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps. this is
required now, since I've removed the globals that expose the address range.
pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
no longer any need to special-case it.
- eliminate struct uvm_vnode by moving its fields into struct vnode.
- rewrite the pageout path. the pager is now responsible for handling the
high-level requests instead of only getting control after a bunch of work
has already been done on its behalf. this will allow us to UBCify LFS,
which needs tighter control over its pages than other filesystems do.
writing a page to disk no longer requires making it read-only, which
allows us to write wired pages without causing all kinds of havoc.
- use a new PG_PAGEOUT flag to indicate that a page should be freed
on behalf of the pagedaemon when it's unlocked. this flag is very similar
to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
pageout fails due to eg. an indirect-block buffer being locked.
this allows us to remove the "version" field from struct vm_page,
and together with shrinking "loan_count" from 32 bits to 16,
struct vm_page is now 4 bytes smaller.
- no longer use PG_RELEASED for swap-backed pages. if the page is busy
because it's being paged out, we can't release the swap slot to be
reallocated until that write is complete, but unlike with vnodes we
don't keep a count of in-progress writes so there's no good way to
know when the write is done. instead, when we need to free a busy
swap-backed page, just sleep until we can get it busy ourselves.
- implement a fast-path for extending writes which allows us to avoid
zeroing new pages. this substantially reduces cpu usage.
- encapsulate the data used by the genfs code in a struct genfs_node,
which must be the first element of the filesystem-specific vnode data
for filesystems which use genfs_{get,put}pages().
- eliminate many of the UVM pagerops, since they aren't needed anymore
now that the pager "put" operation is a higher-level operation.
- enhance the genfs code to allow NFS to use the genfs_{get,put}pages
instead of a modified copy.
- clean up struct vnode by removing all the fields that used to be used by
the vfs_cluster.c code (which we don't use anymore with UBC).
- remove kmem_object and mb_object since they were useless.
instead of allocating pages to these objects, we now just allocate
pages with no object. such pages are mapped in the kernel until they
are freed, so we can use the mapping to find the page to free it.
this allows us to remove splvm() protection in several places.
The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
Revision 1.38 / (download) - annotate - [select for diffs], Fri Aug 17 05:54:37 2001 UTC (11 years, 10 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-devvp-base,
pre-chs-ubcperf
Branch point for: thorpej-devvp
Changes since 1.37: +4 -1
lines
Diff to previous 1.37 (colored)
add getpages/putpages entries for spec vnodes.
Revision 1.37 / (download) - annotate - [select for diffs], Mon Jan 22 12:17:43 2001 UTC (12 years, 4 months ago) by jdolecek
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase,
thorpej_scsipi_beforemerge,
thorpej_scsipi_base,
perseant-lfsv2-base,
perseant-lfsv2
Branch point for: nathanw_sa,
kqueue
Changes since 1.36: +7 -7
lines
Diff to previous 1.36 (colored)
make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const
Revision 1.36 / (download) - annotate - [select for diffs], Sun Dec 10 19:41:35 2000 UTC (12 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.35: +2 -2
lines
Diff to previous 1.35 (colored)
call pgo_flush with (start,end) rather than (start,length).
Revision 1.35 / (download) - annotate - [select for diffs], Mon Nov 27 08:39:55 2000 UTC (12 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.34: +68 -34
lines
Diff to previous 1.34 (colored)
Initial integration of the Unified Buffer Cache project.
Revision 1.34 / (download) - annotate - [select for diffs], Tue Oct 24 14:43:32 2000 UTC (12 years, 7 months ago) by fvdl
Branch: MAIN
Changes since 1.33: +3 -5
lines
Diff to previous 1.33 (colored)
Stay at splbio across the VBWAIT loop, as is done elsewhere in the kernel. Avoids a possible race condition. Pointed out by enami@netbsd.org, problem reported by deberg@netbsd.org.
Revision 1.33 / (download) - annotate - [select for diffs], Tue Sep 19 22:04:10 2000 UTC (12 years, 9 months ago) by fvdl
Branch: MAIN
Changes since 1.32: +93 -3
lines
Diff to previous 1.32 (colored)
Adapt for VOP_FSYNC parameter change. Implement range fsync for FFS. Note: not yet implemented for the SOFTDEP case.
Revision 1.32 / (download) - annotate - [select for diffs], Wed Jun 28 14:16:40 2000 UTC (12 years, 11 months ago) by mrg
Branch: MAIN
Changes since 1.31: +1 -5
lines
Diff to previous 1.31 (colored)
remove include of <vm/vm.h> and <uvm/uvm_extern.h>
Revision 1.31 / (download) - annotate - [select for diffs], Mon May 29 18:53:35 2000 UTC (13 years ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-5-base,
netbsd-1-5-RELEASE,
netbsd-1-5-BETA2,
netbsd-1-5-BETA,
netbsd-1-5-ALPHA2
Branch point for: netbsd-1-5
Changes since 1.30: +2 -3
lines
Diff to previous 1.30 (colored)
According to Frank, buffers with dependencies *are* left on v_dirtyblks, so remove the FSYNC_RECLAIM check and force them to be flushed.
Revision 1.30 / (download) - annotate - [select for diffs], Mon May 29 17:19:20 2000 UTC (13 years ago) by mycroft
Branch: MAIN
Changes since 1.29: +3 -2
lines
Diff to previous 1.29 (colored)
Never call softdep_sync_metadata() in the FSYNC_RECLAIM case. Any pending blocks are detached from the vnode at this point. When the dependencies are broken to enable writing the blocks, the vnode will be regenerated. (The only reason we sync buffers in this case is that they have to be detached from the vnode.)
Revision 1.29 / (download) - annotate - [select for diffs], Mon May 29 17:12:06 2000 UTC (13 years ago) by mycroft
Branch: MAIN
Changes since 1.28: +30 -38
lines
Diff to previous 1.28 (colored)
In ffs_fsync(), remove the FSYNC_RECLAIM special case, so that it properly waits for pending buffers, and doesn't throw away time stamp updates.
Revision 1.28 / (download) - annotate - [select for diffs], Sat May 27 04:52:42 2000 UTC (13 years ago) by thorpej
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.27: +3 -2
lines
Diff to previous 1.27 (colored)
sleep() -> tsleep()
Revision 1.27 / (download) - annotate - [select for diffs], Sat May 13 23:43:14 2000 UTC (13 years, 1 month ago) by perseant
Branch: MAIN
Changes since 1.26: +3 -2
lines
Diff to previous 1.26 (colored)
Change the sementics of the last parameter from a boolean ("waitfor") to
a set of flags ("flags"). Two flags are defined, UPDATE_WAIT and
UPDATE_DIROP.
Under the old semantics, VOP_UPDATE would block if waitfor were set,
under the assumption that directory operations should be done
synchronously. At least LFS and FFS+softdep do not make this
assumption; FFS+softdep got around the problem by enclosing all relevant
calls to VOP_UPDATE in a "if(!DOINGSOFTDEP(vp))", while LFS simply
ignored waitfor, one of the reasons why NFS-serving an LFS filesystem
did not work properly.
Under the new semantics, the UPDATE_DIROP flag is a hint to the
fs-specific update routine that the call comes from a dirop routine, and
should be wait for, or not, accordingly.
Closes PR#8996.
Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 30 12:41:13 2000 UTC (13 years, 2 months ago) by augustss
Branch: MAIN
Changes since 1.25: +2 -2
lines
Diff to previous 1.25 (colored)
Remove register declarations.
Revision 1.25 / (download) - annotate - [select for diffs], Wed Mar 29 03:43:34 2000 UTC (13 years, 2 months ago) by simonb
Branch: MAIN
Changes since 1.24: +1 -2
lines
Diff to previous 1.24 (colored)
Don't need to include <sys/conf.h> here.
Revision 1.24 / (download) - annotate - [select for diffs], Fri Mar 17 01:26:52 2000 UTC (13 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.23: +4 -1
lines
Diff to previous 1.23 (colored)
If we're reclaiming, and there are no dirty blocks, just return.
Revision 1.23 / (download) - annotate - [select for diffs], Wed Mar 15 16:31:52 2000 UTC (13 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.22: +2 -12
lines
Diff to previous 1.22 (colored)
Revert this back to 2 revisions ago, these checks are done higher up now.
Revision 1.22 / (download) - annotate - [select for diffs], Tue Mar 14 13:06:29 2000 UTC (13 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.21: +2 -2
lines
Diff to previous 1.21 (colored)
Don't immediately return in ffs_fsync if there appears to be no data to flush if it's a vnode on a softdep filesystem. softdep_sync_metadata may still need to do some work.
Revision 1.21 / (download) - annotate - [select for diffs], Sat Mar 11 05:00:19 2000 UTC (13 years, 3 months ago) by perseant
Branch: MAIN
Changes since 1.20: +13 -2
lines
Diff to previous 1.20 (colored)
Move vinvalbuf's check for dirty blocks into ffs_fsync, to ensure that mode and ownership bits are flushed to disk before the vnode is reclaimed. The check, introduced in the softdep merge, assumes that if no blocks are dirty, no file data *or metadata* needs to be flushed to disk. This is true of ffs, but is not true of lfs, and may not be true of other filesystems. Tested by myself and Bill Squier <groo@cs.stevens-tech.edu>.
Revision 1.20 / (download) - annotate - [select for diffs], Mon Nov 15 18:49:14 1999 UTC (13 years, 7 months ago) by fvdl
Branch: MAIN
CVS Tags: wrstuden-devbsize-base,
wrstuden-devbsize-19991221,
chs-ubc2-newbase
Changes since 1.19: +112 -1
lines
Diff to previous 1.19 (colored)
Add Kirk McKusick's soft updates code to the trunk. Not enabled by default, as the copyright on the main file (ffs_softdep.c) is such that is has been put into gnusrc. options SOFTDEP will pull this in. This code also contains the trickle syncer. Bump version number to 1.4O
Revision 1.19 / (download) - annotate - [select for diffs], Tue Aug 3 20:19:21 1999 UTC (13 years, 10 months ago) by wrstuden
Branch: MAIN
CVS Tags: fvdl-softdep-base,
comdex-fall-1999-base,
comdex-fall-1999
Branch point for: wrstuden-devbsize,
thorpej_scsipi,
fvdl-softdep
Changes since 1.18: +4 -1
lines
Diff to previous 1.18 (colored)
Add support for fcntl(2) to generate VOP_FCNTL calls. Any fcntl call with F_FSCTL set and F_SETFL calls generate calls to a new fileop fo_fcntl. Add genfs_fcntl() and soo_fcntl() which return 0 for F_SETFL and EOPNOTSUPP otherwise. Have all leaf filesystems use genfs_fcntl(). Reviewed by: thorpej Tested by: wrstuden
Revision 1.18 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:30 1999 UTC (14 years, 2 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-1-4-base,
netbsd-1-4-RELEASE,
netbsd-1-4-PATCH003,
netbsd-1-4-PATCH002,
netbsd-1-4-PATCH001,
netbsd-1-4,
kame_14_19990705,
kame_14_19990628,
kame_141_19991130,
kame,
chs-ubc2-base
Branch point for: chs-ubc2
Changes since 1.17: +1 -7
lines
Diff to previous 1.17 (colored)
completely remove Mach VM support. all that is left is the all the header files as UVM still uses (most of) these.
Revision 1.17 / (download) - annotate - [select for diffs], Fri Dec 4 11:02:30 1998 UTC (14 years, 6 months ago) by bouyer
Branch: MAIN
CVS Tags: kenh-if-detach-base,
kenh-if-detach
Changes since 1.16: +1 -2
lines
Diff to previous 1.16 (colored)
No need to #include malloc.h here.
Revision 1.16 / (download) - annotate - [select for diffs], Tue Sep 1 03:11:08 1998 UTC (14 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc-base
Branch point for: chs-ubc
Changes since 1.15: +7 -3
lines
Diff to previous 1.15 (colored)
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.15 / (download) - annotate - [select for diffs], Wed Jun 24 20:58:48 1998 UTC (14 years, 11 months ago) by sommerfe
Branch: MAIN
CVS Tags: eeh-paddr_t-base,
eeh-paddr_t
Changes since 1.14: +1 -4
lines
Diff to previous 1.14 (colored)
Always include fifos; "not an option any more".
Revision 1.14 / (download) - annotate - [select for diffs], Mon Jun 22 22:01:09 1998 UTC (14 years, 11 months ago) by sommerfe
Branch: MAIN
Changes since 1.13: +2 -1
lines
Diff to previous 1.13 (colored)
defopt for options FIFO
Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 9 07:46:33 1998 UTC (15 years ago) by scottr
Branch: MAIN
Changes since 1.12: +3 -1
lines
Diff to previous 1.12 (colored)
Protect various config(8)-generated files from inclusion while building LKMs. Fixes PR 5557.
Revision 1.12 / (download) - annotate - [select for diffs], Sun Mar 1 02:23:15 1998 UTC (15 years, 3 months ago) by fvdl
Branch: MAIN
Changes since 1.11: +7 -15
lines
Diff to previous 1.11 (colored)
Merge with Lite2 + local changes
Revision 1.11 / (download) - annotate - [select for diffs], Tue Feb 10 14:10:57 1998 UTC (15 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.10: +3 -1
lines
Diff to previous 1.10 (colored)
- add defopt's for UVM, UVMHIST and PMAP_NEW. - remove unnecessary UVMHIST_DECL's.
Revision 1.10 / (download) - annotate - [select for diffs], Thu Feb 5 08:00:34 1998 UTC (15 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.9: +5 -1
lines
Diff to previous 1.9 (colored)
initial import of the new virtual memory system, UVM, into -current. UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some minor portions derived from the old Mach code. i provided some help getting swap and paging working, and other bug fixes/ideas. chuck silvers <chuq@chuq.com> also provided some other fixes. this is the rest of the MI portion changes. this will be KNF'd shortly. :-)
Revision 1.9 / (download) - annotate - [select for diffs], Sat Sep 7 12:41:39 1996 UTC (16 years, 9 months ago) by mycroft
Branch: 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
Changes since 1.8: +4 -4
lines
Diff to previous 1.8 (colored)
Implement poll(2).
Revision 1.8 / (download) - annotate - [select for diffs], Sun Sep 1 23:49:24 1996 UTC (16 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.7: +6 -27
lines
Diff to previous 1.7 (colored)
Add a set of generic file system operations that most file systems use. Also, fix some time stamp bogosities.
Revision 1.7 / (download) - annotate - [select for diffs], Sat May 11 18:27:24 1996 UTC (17 years, 1 month ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-2-base,
netbsd-1-2-RELEASE,
netbsd-1-2-PATCH001,
netbsd-1-2-BETA,
netbsd-1-2
Changes since 1.6: +4 -4
lines
Diff to previous 1.6 (colored)
Change VOP_UPDATE() semantics: * Make 2nd and 3rd args timespecs, not timevals. * Consistently pass a Boolean as the 4th arg (except in LFS). Also, fix ffs_update() and lfs_update() to actually change the nsec fields.
Revision 1.6 / (download) - annotate - [select for diffs], Fri Feb 9 22:22:27 1996 UTC (17 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.5: +17 -14
lines
Diff to previous 1.5 (colored)
ffs prototypes
Revision 1.5 / (download) - annotate - [select for diffs], Wed Dec 14 13:03:41 1994 UTC (18 years, 6 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-1-base,
netbsd-1-1-RELEASE,
netbsd-1-1-PATCH001,
netbsd-1-1
Changes since 1.4: +3 -2
lines
Diff to previous 1.4 (colored)
Sync with CSRG.
Revision 1.4 / (download) - annotate - [select for diffs], Tue Dec 13 20:16:16 1994 UTC (18 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.3: +5 -3
lines
Diff to previous 1.3 (colored)
Turn lease_check() into a vnode op, per CSRG.
Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 29 06:46:38 1994 UTC (18 years, 11 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-0-base,
netbsd-1-0-RELEASE,
netbsd-1-0-PATCH1,
netbsd-1-0-PATCH06,
netbsd-1-0-PATCH05,
netbsd-1-0-PATCH04,
netbsd-1-0-PATCH03,
netbsd-1-0-PATCH02,
netbsd-1-0-PATCH0,
netbsd-1-0
Changes since 1.2: +3 -2
lines
Diff to previous 1.2 (colored)
New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 22 05:45:19 1994 UTC (19 years ago) by mycroft
Branch: MAIN
Changes since 1.1: +4 -2
lines
Diff to previous 1.1 (colored)
Deallocate the vnode data using the correct type for MFS nodes.
Revision 1.1 / (download) - annotate - [select for diffs], Wed Jun 8 11:42:11 1994 UTC (19 years ago) by mycroft
Branch: MAIN
Update to 4.4-Lite fs code, with local changes.