The NetBSD Project

CVS log for src/sys/miscfs/fdesc/fdesc_vnops.c

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.140 / (download) - annotate - [select for diffs], Sun Mar 27 17:10:55 2022 UTC (2 years ago) by christos
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.139: +4 -34 lines
Diff to previous 1.139 (colored) to selected 1.89 (colored)

dedup the eofs link/symlink methods

Revision 1.139 / (download) - annotate - [select for diffs], Sat Jan 15 19:33:58 2022 UTC (2 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.138: +24 -46 lines
Diff to previous 1.138 (colored) to selected 1.89 (colored)

sys/fs/fdesc: Delete silly vnop #define aliases.

Revision 1.138 / (download) - annotate - [select for diffs], Tue Jun 29 22:40:53 2021 UTC (2 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2
Changes since 1.137: +9 -7 lines
Diff to previous 1.137 (colored) to selected 1.89 (colored)

Add containment for the cloning devices hack in vn_open.

Cloning devices (and also things like /dev/stderr) work by allocating
a struct file, stuffing it in the file table (which is a layer
violation), stuffing the file descriptor number for it in a magic
field of struct lwp (which is gross), and then "failing" with one of
two magic errnos, EDUPFD or EMOVEFD.

Before this commit, all callers of vn_open in the kernel (there are
quite a few) were expected to check for these errors and handle the
situation. Needless to say, none of them except for open() itself did,
resulting in internal negative errnos being returned to userspace.

This hack is fairly deeply rooted and cannot be eliminated all at
once. This commit adds logic to handle the magic errnos inside
vn_open; now on success vn_open returns either a vnode or an integer
file descriptor, along with a flag that says whether the underlying
code requested EDUPFD or EMOVEFD. Callers not prepared to cope with
file descriptors can pass NULL for the extra return values, in which
case if a file descriptor would be produced vn_open fails with
EOPNOTSUPP.

Since I'm rearranging vn_open's signature anyway, stop exposing struct
nameidata. Instead, take three arguments: an optional vnode to use as
the starting point (like openat()), the path, and additional namei
flags to use, restricted to NOCHROOT and TRYEMULROOT. (Other namei
behavior, e.g. NOFOLLOW, can be requested via the open flags.)

This change requires a kernel bump. Ride the one an hour ago.
(That was supposed to be coordinated; did not intend to let an hour
slip by. My fault.)

Revision 1.137 / (download) - annotate - [select for diffs], Tue Jun 29 22:34:08 2021 UTC (2 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.136: +3 -2 lines
Diff to previous 1.136 (colored) to selected 1.89 (colored)

- Add a new vnode op: VOP_PARSEPATH.
 - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath.
 - Add a parsepath entry to every vnode ops table.

VOP_PARSEPATH takes a directory vnode to be searched and a complete
following path and chooses how much of that path to consume. To begin
with, all parsepath calls are genfs_parsepath, which locates the first
'/' as always.

Note that the call doesn't take the whole struct componentname, only
the string. The other bits of struct componentname should not be
needed and there's no reason to cause potential complications by
exposing them.

Revision 1.136 / (download) - annotate - [select for diffs], Mon Jun 28 17:52:13 2021 UTC (2 years, 9 months ago) by chs
Branch: MAIN
Changes since 1.135: +3 -3 lines
Diff to previous 1.135 (colored) to selected 1.89 (colored)

VOP_BMAP() may be called via ioctl(FIOGETBMAP) on any vnode that applications
can open.  change various pseudo-fs *_bmap methods return an error instead of
panic.

Reported-by: syzbot+8289a3eaf2ba60958c87@syzkaller.appspotmail.com

Revision 1.135 / (download) - annotate - [select for diffs], Sat May 1 15:08:14 2021 UTC (2 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.134: +15 -4 lines
Diff to previous 1.134 (colored) to selected 1.89 (colored)

Make sure fdesc_lookup() never returns VNON vnodes.

Should fix PR kern/56130 (fdescfs create nodes with wrong major number)

Revision 1.134 / (download) - annotate - [select for diffs], Sat Jun 27 17:29:19 2020 UTC (3 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs
Branch point for: thorpej-i2c-spi-conf
Changes since 1.133: +3 -3 lines
Diff to previous 1.133 (colored) to selected 1.89 (colored)

Introduce genfs_pathconf() and use it for the default case in all filesystems.

Revision 1.133 / (download) - annotate - [select for diffs], Sat May 16 18:31:50 2020 UTC (3 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.132: +3 -2 lines
Diff to previous 1.132 (colored) to selected 1.89 (colored)

Add ACL support for FFS. From FreeBSD.

Revision 1.132 / (download) - annotate - [select for diffs], Sat Feb 1 02:23:04 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Changes since 1.131: +4 -5 lines
Diff to previous 1.131 (colored) to selected 1.89 (colored)

Load struct filedesc::fd_dt with atomic_load_consume.

Exceptions: when fd_refcnt <= 1, or when holding fd_lock.

While here:

- Restore KASSERT(mutex_owned(&fdp->fd_lock)) in fd_unused.
  => This is used only in fd_close and fd_abort, where it holds.
- Move bounds check assertion in fd_putfile to where it matters.
- Store fd_dt with atomic_store_release.
- Move load of fd_dt under lock in knote_fdclose.
- Omit membar_consumer in fdesc_readdir.
  => atomic_load_consume serves the same purpose now.
  => Was needed only on alpha anyway.

Revision 1.131 / (download) - annotate - [select for diffs], Thu Jan 2 15:42:27 2020 UTC (4 years, 2 months ago) by thorpej
Branch: MAIN
CVS Tags: ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: ad-namecache
Changes since 1.130: +5 -4 lines
Diff to previous 1.130 (colored) to selected 1.89 (colored)

- Eliminate the global "boottime" variable, which was being accessed
  without any synchronization against changes by e.g. clock_settime().
- Replace with new getbinboottime() / getnanoboottime() / getmicroboottime()
  functions (naming mirrors that of other time access functions in kern_tc.c).
  It returns the (maybe-converted) value of timebasebin, which also tracks
  our estimate of when the system was booted (i.e. the legacy "boottime" was
  redundant).

XXX There needs to be a lockless synchronization mechanism for reading
timebasebin, but this is a problem in kern_tc.c that pre-existed these
"boottime" changes.  At least now the problem is centralized in one location.

Revision 1.130 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:35 2018 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: 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-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.129: +4 -4 lines
Diff to previous 1.129 (colored) to selected 1.89 (colored)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.129 / (download) - annotate - [select for diffs], Fri May 26 14:21:01 2017 UTC (6 years, 10 months ago) by riastradh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, 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-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
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.128: +5 -3 lines
Diff to previous 1.128 (colored) to selected 1.89 (colored)

Make VOP_RECLAIM do the last unlock of the vnode.

VOP_RECLAIM naturally has exclusive access to the vnode, so having it
locked on entry is not strictly necessary -- but it means if there
are any final operations that must be done on the vnode, such as
ffs_update, requiring exclusive access to it, we can now kassert that
the vnode is locked in those operations.

We can't just have the caller release the last lock because some file
systems don't use genfs_lock, and require the vnode to remain valid
for VOP_UNLOCK to work, notably unionfs.

Revision 1.128 / (download) - annotate - [select for diffs], Tue Apr 11 14:25:00 2017 UTC (6 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, bouyer-socketcan-base1
Changes since 1.127: +4 -4 lines
Diff to previous 1.127 (colored) to selected 1.89 (colored)

Make VOP_INACTIVE preserve vnode lock on return.

Discussed on tech-kern:
https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html

Ride 7.99.68, a bumpy bus of incremental vfs improvements!

Revision 1.127 / (download) - annotate - [select for diffs], Sat Aug 20 12:37:08 2016 UTC (7 years, 7 months ago) by hannken
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.126: +2 -3 lines
Diff to previous 1.126 (colored) to selected 1.89 (colored)

Remove now obsolete operation vcache_remove().

Welcome to 7.99.36

Revision 1.126 / (download) - annotate - [select for diffs], Mon Apr 20 23:03:08 2015 UTC (8 years, 11 months ago) by riastradh
Branch: 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
Branch point for: pgoyette-localcount
Changes since 1.125: +3 -4 lines
Diff to previous 1.125 (colored) to selected 1.89 (colored)

Make VOP_LINK return directory still locked and referenced.

Ride 7.99.10 bump.

Revision 1.125 / (download) - annotate - [select for diffs], Fri Sep 5 10:43:26 2014 UTC (9 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406, nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.124: +4 -4 lines
Diff to previous 1.124 (colored) to selected 1.89 (colored)

The comment about toxicity was correct, restore VNON setting code and
then set the proper type in lookup.

Revision 1.124 / (download) - annotate - [select for diffs], Fri Sep 5 09:26:16 2014 UTC (9 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.123: +5 -5 lines
Diff to previous 1.123 (colored) to selected 1.89 (colored)

Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get
a correctly typed pointer.

Revision 1.123 / (download) - annotate - [select for diffs], Thu Sep 4 13:29:50 2014 UTC (9 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.122: +2 -7 lines
Diff to previous 1.122 (colored) to selected 1.89 (colored)

remove debugging.

Revision 1.122 / (download) - annotate - [select for diffs], Thu Sep 4 13:28:54 2014 UTC (9 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.121: +9 -2 lines
Diff to previous 1.121 (colored) to selected 1.89 (colored)

Well, nasty thing happen if you set /dev/tty to VNON too. Disable for now.

Revision 1.121 / (download) - annotate - [select for diffs], Fri Jul 25 08:20:52 2014 UTC (9 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base
Branch point for: netbsd-7
Changes since 1.120: +4 -2 lines
Diff to previous 1.120 (colored) to selected 1.89 (colored)

Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can
find.

The filesystem ones all call genfs_eopnotsupp - right now I am only
implementing the plumbing and we can implement fallocate and/or
fdiscard for files later.

The device ones call spec_fallocate (which is also genfs_eopnotsupp)
and spec_fdiscard, which dispatches to the device-level op.

The fifo ones all call vn_fifo_bypass, which also ends up being
EOPNOTSUPP.

Revision 1.120 / (download) - annotate - [select for diffs], Sun Jul 13 11:23:01 2014 UTC (9 years, 8 months ago) by hannken
Branch: MAIN
Changes since 1.119: +30 -136 lines
Diff to previous 1.119 (colored) to selected 1.89 (colored)

Change fdesc from hashlist to vcache.

Revision 1.119 / (download) - annotate - [select for diffs], Thu Mar 20 18:04:05 2014 UTC (10 years ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Branch point for: tls-earlyentropy
Changes since 1.118: +4 -3 lines
Diff to previous 1.118 (colored) to selected 1.89 (colored)

kill sprintf

Revision 1.118 / (download) - annotate - [select for diffs], Thu Feb 27 16:51:38 2014 UTC (10 years, 1 month ago) by hannken
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.117: +4 -3 lines
Diff to previous 1.117 (colored) to selected 1.89 (colored)

The current implementation of vn_lock() is racy.  Modification of
the vnode operations vector for active vnodes is unsafe because it
is not known whether deadfs or the original file system will be
called.

- Pass down LK_RETRY to the lock operation (hint for deadfs only).

- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.

- Change all other lock operations to check for dead vnode once
  the vnode is locked and unlock and return ENOENT in this case.

With these changes in place vnode lock operations will never succeed
after vclean() has marked the vnode as VI_XLOCK and before vclean()
has changed the operations vector.

Adresses PR kern/37706 (Forced unmount of file systems is unsafe)

Discussed on tech-kern.

Welcome to 6.99.33

Revision 1.117 / (download) - annotate - [select for diffs], Fri Feb 7 15:29:22 2014 UTC (10 years, 1 month ago) by hannken
Branch: MAIN
Changes since 1.116: +4 -3 lines
Diff to previous 1.116 (colored) to selected 1.89 (colored)

Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.

Discussed on tech-kern@

Welcome to 6.99.31

Revision 1.116 / (download) - annotate - [select for diffs], Thu Jan 23 10:13:57 2014 UTC (10 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.115: +3 -3 lines
Diff to previous 1.115 (colored) to selected 1.89 (colored)

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

Discussed on tech-kern@

Welcome to 6.99.30

Revision 1.115 / (download) - annotate - [select for diffs], Fri Jan 17 10:55:02 2014 UTC (10 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.114: +3 -4 lines
Diff to previous 1.114 (colored) to selected 1.89 (colored)

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

Discussed on tech-kern@

Welcome to 6.99.29

Revision 1.114 / (download) - annotate - [select for diffs], Sun Oct 16 12:26:16 2011 UTC (12 years, 5 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, 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, khorben-n900, 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, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, tls-maxphys, rmind-smpnet
Changes since 1.113: +4 -2 lines
Diff to previous 1.113 (colored) to selected 1.89 (colored)

VOP_GETATTR() needs a shared lock at least.

Revision 1.113 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:58 2011 UTC (12 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.112: +4 -4 lines
Diff to previous 1.112 (colored) to selected 1.89 (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.112 / (download) - annotate - [select for diffs], Wed Jul 21 17:52:12 2010 UTC (13 years, 8 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: cherry-xenmp
Changes since 1.111: +3 -3 lines
Diff to previous 1.111 (colored) to selected 1.89 (colored)

Make holding v_interlock mandatory for callers of vget().

Announced some time ago on tech-kern.

Revision 1.111 / (download) - annotate - [select for diffs], Fri Jul 16 10:41:12 2010 UTC (13 years, 8 months ago) by hannken
Branch: MAIN
Changes since 1.110: +31 -29 lines
Diff to previous 1.110 (colored) to selected 1.89 (colored)

Use a kmutex to protect the hash chains and always take this mutex
before removing a node from the hash chain.

Release the hash list lock before calling getnewvnode() and check the
hash list again like other file systems do.

Take v_interlock before calling vget().

Revision 1.110 / (download) - annotate - [select for diffs], Thu Jun 24 13:03:12 2010 UTC (13 years, 9 months ago) by hannken
Branch: MAIN
Changes since 1.109: +6 -6 lines
Diff to previous 1.109 (colored) to selected 1.89 (colored)

Clean up vnode lock operations pass 2:

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

Welcome to 5.99.32.

Discussed on tech-kern.

Revision 1.109 / (download) - annotate - [select for diffs], Fri Jan 8 11:35:10 2010 UTC (14 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.108: +4 -4 lines
Diff to previous 1.108 (colored) to selected 1.89 (colored)

The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live
years ago when the kernel was modified to not alter ABI based on
DIAGNOSTIC, and now just call the respective function interfaces
(in lowercase).  Plenty of mix'n match upper/lowercase has creeped
into the tree since then.  Nuke the macros and convert all callsites
to lowercase.

no functional change

Revision 1.108 / (download) - annotate - [select for diffs], Fri Jul 31 18:50:58 2009 UTC (14 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, matt-premerge-20091211, jym-xensuspend-nbase
Changes since 1.107: +3 -5 lines
Diff to previous 1.107 (colored) to selected 1.89 (colored)

Do a name-based search for the ctty major instead of requiring an
external symbol.

Revision 1.107 / (download) - annotate - [select for diffs], Sun May 24 21:41:26 2009 UTC (14 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base
Changes since 1.106: +17 -24 lines
Diff to previous 1.106 (colored) to selected 1.89 (colored)

More changes to improve kern_descrip.c.

- Avoid atomics in more places.
- Remove the per-descriptor mutex, and just use filedesc_t::fd_lock.
  It was only being used to synchronize close, and in any case we needed
  to take fd_lock to free the descriptor slot.
- Optimize certain paths for the <NDFDFILE case.
- Sprinkle more comments and assertions.
- Cache more stuff in filedesc_t.
- Fix numerous minor bugs spotted along the way.
- Restructure how the open files array is maintained, for clarity and so
  that we can eliminate the membar_consumer() call in fd_getfile().  This is
  mostly syntactic sugar; the main functional change is that fd_nfiles now
  lives alongside the open file array.

Some measurements with libmicro:

- simple file syscalls are like close() are between 1 to 10% faster.
- some nice improvements, e.g. poll(1000) which is ~50% faster.

Revision 1.106 / (download) - annotate - [select for diffs], Sun Mar 15 17:22:37 2009 UTC (15 years ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jym-xensuspend-base
Changes since 1.105: +4 -4 lines
Diff to previous 1.105 (colored) to selected 1.89 (colored)

ansify function definitions

Revision 1.105 / (download) - annotate - [select for diffs], Sat Mar 14 15:36:22 2009 UTC (15 years ago) by dsl
Branch: MAIN
Changes since 1.104: +20 -43 lines
Diff to previous 1.104 (colored) to selected 1.89 (colored)

Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)

Revision 1.104 / (download) - annotate - [select for diffs], Wed Dec 17 20:51:36 2008 UTC (15 years, 3 months ago) by cegger
Branch: MAIN
CVS Tags: nick-hppapmap-base2, mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.103: +4 -4 lines
Diff to previous 1.103 (colored) to selected 1.89 (colored)

kill MALLOC and FREE macros.

Revision 1.103 / (download) - annotate - [select for diffs], Mon May 5 17:11:17 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, 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, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap
Changes since 1.102: +4 -4 lines
Diff to previous 1.102 (colored) to selected 1.89 (colored)

- Convert hashinit() to use kmem_alloc(). The hash tables can be large
  and it's better to not have them in kmem_map.
- Convert a couple of minor items along the way to kmem_alloc().
- Fix some memory leaks.

Revision 1.102 / (download) - annotate - [select for diffs], Fri Mar 21 21:55:00 2008 UTC (16 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.101: +31 -38 lines
Diff to previous 1.101 (colored) to selected 1.89 (colored)

Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.

Revision 1.101 / (download) - annotate - [select for diffs], Sat Dec 8 19:29:50 2007 UTC (16 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386
Branch point for: mjf-devfs2
Changes since 1.100: +3 -3 lines
Diff to previous 1.100 (colored) to selected 1.89 (colored)

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

Revision 1.100 / (download) - annotate - [select for diffs], Mon Nov 26 19:02:12 2007 UTC (16 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base
Branch point for: vmlocking2
Changes since 1.99: +8 -13 lines
Diff to previous 1.99 (colored) to selected 1.89 (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.99 / (download) - annotate - [select for diffs], Mon Oct 8 15:12:09 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs
Changes since 1.98: +3 -3 lines
Diff to previous 1.98 (colored) to selected 1.89 (colored)

Merge file descriptor locking, cwdi locking and cross-call changes
from the vmlocking branch.

Revision 1.98 / (download) - annotate - [select for diffs], Fri Jul 27 08:38:39 2007 UTC (16 years, 8 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5, matt-mips64-base, hpcarm-cleanup
Branch point for: yamt-x86pmap, matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.97: +3 -2 lines
Diff to previous 1.97 (colored) to selected 1.89 (colored)

whoops, forgot to commit this a while back: initialize new vnode size

Revision 1.97 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:58 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.96: +11 -12 lines
Diff to previous 1.96 (colored) to selected 1.89 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.96 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:36 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, yamt-idlelwp, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.95: +3 -3 lines
Diff to previous 1.95 (colored) to selected 1.89 (colored)

Merge newlock2 to head.

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

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

Revision 1.94 / (download) - annotate - [select for diffs], Thu Nov 16 01:33:38 2006 UTC (17 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-4-base
Branch point for: netbsd-4
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored) to selected 1.89 (colored)

__unused removal on arguments; approved by core.

Revision 1.93 / (download) - annotate - [select for diffs], Thu Oct 12 01:32:26 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.92: +3 -4 lines
Diff to previous 1.92 (colored) to selected 1.89 (colored)

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

Revision 1.92 / (download) - annotate - [select for diffs], Sun May 14 21:31:52 2006 UTC (17 years, 10 months ago) by elad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, simonb-timecounters-base, rpaulo-netinet-merge-pcb-base, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.91: +13 -12 lines
Diff to previous 1.91 (colored) to selected 1.89 (colored)

integrate kauth.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Apr 4 14:18:35 2006 UTC (17 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4, elad-kernelauth-base
Changes since 1.90: +3 -3 lines
Diff to previous 1.90 (colored) to selected 1.89 (colored)

Coverity CID 1140: NULL dereference cannot happen, but protect against it.

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

merge yamt-uio_vmspace branch.

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

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

merge ktrace-lwp.

Revision 1.88 / (download) - annotate - [select for diffs], Wed Nov 2 12:38:59 2005 UTC (18 years, 4 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.87: +2 -12 lines
Diff to previous 1.87 (colored) to selected 1.89 (colored)

merge yamt-vop branch.  remove following VOPs.

	VOP_BLKATOFF
	VOP_VALLOC
	VOP_BALLOC
	VOP_REALLOCBLKS
	VOP_VFREE
	VOP_TRUNCATE
	VOP_UPDATE

Revision 1.87 / (download) - annotate - [select for diffs], Wed Sep 14 14:53:47 2005 UTC (18 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-vop
Changes since 1.86: +38 -26 lines
Diff to previous 1.86 (colored) to selected 1.89 (colored)

When readdir() is called from vfs_getcwd, uio->uio_procp is NULL. Deal with
that. Fixes 'cd /dev/fd && pwd'

Revision 1.86 / (download) - annotate - [select for diffs], Tue Aug 30 20:08:01 2005 UTC (18 years, 7 months ago) by xtraeme
Branch: MAIN
Changes since 1.85: +21 -21 lines
Diff to previous 1.85 (colored) to selected 1.89 (colored)

Remove __P()

Revision 1.85 / (download) - annotate - [select for diffs], Fri Aug 19 02:04:03 2005 UTC (18 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.84: +3 -4 lines
Diff to previous 1.84 (colored) to selected 1.89 (colored)

64 bit inode changes.

Revision 1.84 / (download) - annotate - [select for diffs], Sun May 29 21:55:33 2005 UTC (18 years, 10 months ago) by christos
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.83: +9 -8 lines
Diff to previous 1.83 (colored) to selected 1.89 (colored)

- sprinkle const
- avoid shadowed variables.

Revision 1.83 / (download) - annotate - [select for diffs], Sat Feb 26 22:59:00 2005 UTC (19 years, 1 month ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base, 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, netbsd-3, kent-audio2-base
Changes since 1.82: +14 -14 lines
Diff to previous 1.82 (colored) to selected 1.89 (colored)

nuke trailing whitespace

Revision 1.82 / (download) - annotate - [select for diffs], Tue Nov 30 04:25:44 2004 UTC (19 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored) to selected 1.89 (colored)

Cloning cleanup:
1. make fileops const
2. add 2 new negative errno's to `officially' support the cloning hack:
    - EDUPFD (used to overload ENODEV)
    - EMOVEFD (used to overload ENXIO)
3. Created an fdclone() function to encapsulate the operations needed for
   EMOVEFD, and made all cloners use it.
4. Centralize the local noop/badop fileops functions to:
   fnullop_fcntl, fnullop_poll, fnullop_kqfilter, fbadop_stat

Revision 1.81 / (download) - annotate - [select for diffs], Tue Apr 27 17:37:31 2004 UTC (19 years, 11 months ago) by jrf
Branch: MAIN
Changes since 1.80: +7 -7 lines
Diff to previous 1.80 (colored) to selected 1.89 (colored)

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

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

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

Revision 1.80 / (download) - annotate - [select for diffs], Wed Apr 21 01:05:41 2004 UTC (19 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (colored) to selected 1.89 (colored)

Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Sep 13 08:32:16 2003 UTC (20 years, 6 months ago) by jdolecek
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored) to selected 1.89 (colored)

move dupfd from struct proc to struct lwp - it's per-LWP, not per-process; we
use curlwp where the lwp is not directly available, i.e. in device open
routines

briefly discussed on tech-kern

Revision 1.78 / (download) - annotate - [select for diffs], Thu Aug 7 16:32:33 2003 UTC (20 years, 7 months ago) by agc
Branch: MAIN
Changes since 1.77: +3 -7 lines
Diff to previous 1.77 (colored) to selected 1.89 (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.77 / (download) - annotate - [select for diffs], Sun Jun 29 22:31:38 2003 UTC (20 years, 9 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.76: +26 -33 lines
Diff to previous 1.76 (colored) to selected 1.89 (colored)

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

Revision 1.76 / (download) - annotate - [select for diffs], Sun Jun 29 18:43:31 2003 UTC (20 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (colored) to selected 1.89 (colored)

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

Revision 1.75 / (download) - annotate - [select for diffs], Sat Jun 28 14:22:01 2003 UTC (20 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.74: +35 -28 lines
Diff to previous 1.74 (colored) to selected 1.89 (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.74 / (download) - annotate - [select for diffs], Thu Apr 10 21:53:32 2003 UTC (20 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.73: +8 -8 lines
Diff to previous 1.73 (colored) to selected 1.89 (colored)

use former genfs_eopnotsupp_rele() as genfs_eopnotsupp(), so that vnodes
are vput()/vrele()d as necessary - some filesystems did use the wrong
one for some ops, and it's just safer to not take the chance

based on suggestion by Bill Studenmund

Revision 1.73 / (download) - annotate - [select for diffs], Sun Feb 23 14:37:35 2003 UTC (21 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.72: +6 -3 lines
Diff to previous 1.72 (colored) to selected 1.89 (colored)

Make updating a file's reference and use count MP-safe.

Revision 1.72 / (download) - annotate - [select for diffs], Sun Feb 23 04:25:59 2003 UTC (21 years, 1 month ago) by simonb
Branch: MAIN
Changes since 1.71: +3 -4 lines
Diff to previous 1.71 (colored) to selected 1.89 (colored)

Remove assigned-to but not used variable.

Revision 1.71 / (download) - annotate - [select for diffs], Wed Oct 23 09:14:33 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, kqueue-aftermerge, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.70: +39 -2 lines
Diff to previous 1.70 (colored) to selected 1.89 (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.70 / (download) - annotate - [select for diffs], Fri Sep 6 13:18:43 2002 UTC (21 years, 6 months ago) by gehenna
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base
Changes since 1.69: +13 -11 lines
Diff to previous 1.69 (colored) to selected 1.89 (colored)

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.

Revision 1.69 / (download) - annotate - [select for diffs], Tue Apr 2 17:46:06 2002 UTC (22 years ago) by jdolecek
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, gehenna-devsw-base
Branch point for: gehenna-devsw
Changes since 1.68: +35 -43 lines
Diff to previous 1.68 (colored) to selected 1.89 (colored)

Changes to make it less likely to need to be revisited later again:
* fdesc_attr(): don't panic for 'unknown' descriptor types, rather use
  (*fp->f_ops->fo_stat)() hook, as for DTYPE_SOCKET and DTYPE_PIPE
  XXX perhaps use different vnode type than VBAD for these?
* fdesc_setattr(): just return 0 regardless of type, rather than paniccing
  for 'unknown' descriptor types

Revision 1.68 / (download) - annotate - [select for diffs], Tue Apr 2 10:34:54 2002 UTC (22 years ago) by jmc
Branch: MAIN
Changes since 1.67: +6 -3 lines
Diff to previous 1.67 (colored) to selected 1.89 (colored)

Treat pipes like sockets and don't do setattr on them

Revision 1.67 / (download) - annotate - [select for diffs], Thu Dec 6 04:27:41 2001 UTC (22 years, 3 months ago) by chs
Branch: MAIN
CVS Tags: newlock-base, newlock, ifpoll-base, eeh-devprop-base, eeh-devprop
Changes since 1.66: +5 -3 lines
Diff to previous 1.66 (colored) to selected 1.89 (colored)

add a VOP_PUTPAGES method for all the filesystems that don't have pages,
just unlock the interlock.

Revision 1.66 / (download) - annotate - [select for diffs], Thu Nov 15 09:48:21 2001 UTC (22 years, 4 months ago) by lukem
Branch: MAIN
Changes since 1.65: +2 -3 lines
Diff to previous 1.65 (colored) to selected 1.89 (colored)

don't need <sys/types.h> when including <sys/param.h>

Revision 1.65 / (download) - annotate - [select for diffs], Sat Nov 10 13:33:41 2001 UTC (22 years, 4 months ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Changes since 1.64: +4 -1 lines
Diff to previous 1.64 (colored) to selected 1.89 (colored)

add RCSIDs

Revision 1.64 / (download) - annotate - [select for diffs], Sat Jun 16 08:28:39 2001 UTC (22 years, 9 months ago) by jdolecek
Branch: MAIN
CVS Tags: thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache, thorpej-devvp, kqueue
Changes since 1.63: +6 -2 lines
Diff to previous 1.63 (colored) to selected 1.89 (colored)

Add DTYPE_PIPE (to be used by new pipe implementation) and handle
it accordingly.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Jun 14 20:32:48 2001 UTC (22 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.62: +9 -7 lines
Diff to previous 1.62 (colored) to selected 1.89 (colored)

Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.

Revision 1.62 / (download) - annotate - [select for diffs], Mon Apr 9 10:22:00 2001 UTC (22 years, 11 months ago) by jdolecek
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored) to selected 1.89 (colored)

Change the first arg to fileops fo_stat routine to struct file *, adjust
callers and appropriate routines to cope. This makes fo_stat more
consistent with rest of fileops routines and also makes the fo_stat
match FreeBSD as an added bonus.
Discussed with Luke Mewburn on tech-kern@.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Apr 9 09:39:09 2001 UTC (22 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.60: +4 -2 lines
Diff to previous 1.60 (colored) to selected 1.89 (colored)

Call file descriptor stat function via (*fp->f_ops->fo_stat) instead
of a switch statement and explicit call.
Sprinkle some FILE_USE()/FILE_UNUSE() as appropriate.

Revision 1.60 / (download) - annotate - [select for diffs], Sat Apr 7 17:37:09 2001 UTC (22 years, 11 months ago) by jdolecek
Branch: MAIN
Changes since 1.59: +2 -2 lines
Diff to previous 1.59 (colored) to selected 1.89 (colored)

Adapt to struct fileops, soo_stat() changes.
Pointed out by Bernd Ernesti in private mail.

Revision 1.59 / (download) - annotate - [select for diffs], Tue Mar 6 01:23:42 2001 UTC (23 years ago) by jmc
Branch: MAIN
Changes since 1.58: +1 -4 lines
Diff to previous 1.58 (colored) to selected 1.89 (colored)

XXX: Temporary work around to fdesc truncating files when it shouldn't. Treat
setattr calls on underlying vnodes the same as sockets and just return 0.

This whole thing needs to be gutted and replaced with either fall throughs
to specfs (the attr forwarding is just bizarre and leads to weird crap like
the above truncation problems), or better yet a real cloning device node.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Jan 22 12:17:37 2001 UTC (23 years, 2 months ago) by jdolecek
Branch: MAIN
Branch point for: nathanw_sa
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored) to selected 1.89 (colored)

make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const

Revision 1.57 / (download) - annotate - [select for diffs], Wed Nov 8 14:28:13 2000 UTC (23 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored) to selected 1.89 (colored)

Update for hashinit() change.

Revision 1.56 / (download) - annotate - [select for diffs], Thu Aug 3 03:41:17 2000 UTC (23 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.55: +5 -4 lines
Diff to previous 1.55 (colored) to selected 1.89 (colored)

MALLOC()/FREE() are not to be used for variable sized allocations.

Revision 1.55 / (download) - annotate - [select for diffs], Sat May 27 04:52:39 2000 UTC (23 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Changes since 1.54: +2 -2 lines
Diff to previous 1.54 (colored) to selected 1.89 (colored)

sleep() -> tsleep()

Revision 1.54 / (download) - annotate - [select for diffs], Thu Mar 16 18:08:24 2000 UTC (24 years ago) by jdolecek
Branch: MAIN
Changes since 1.53: +10 -1 lines
Diff to previous 1.53 (colored) to selected 1.89 (colored)

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. This fixes random panics
when LKM for filesystem using pools was loaded and unloaded several
times.

For each leaf filesystem, add appropriate vfs_done routine.

Revision 1.53 / (download) - annotate - [select for diffs], Wed Aug 25 14:42:35 1999 UTC (24 years, 7 months ago) by sommerfeld
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase
Branch point for: wrstuden-devbsize, thorpej_scsipi
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored) to selected 1.89 (colored)

Change variable used for directory offset from "int" to "off_t".
Overkill, but avoids a host of truncation problems.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Aug 24 23:29:08 1999 UTC (24 years, 7 months ago) by sommerfeld
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored) to selected 1.89 (colored)

Fix PR8270:

Problem turned out to be due to improper handling of reads beyond EOF:
they should just return without error with the uio unchanged, and the
caller will recognize this as a zero-byte return (EOF).

The previous fix to protect directory reads against bogus uio_offset
values returned EINVAL, which broke mount -o union, which only
union'ed in the lower directory if the upper directory cleanly
returned EOF.

While we're here, protect kernfs as well.

Revision 1.51 / (download) - annotate - [select for diffs], Sat Aug 14 02:17:17 1999 UTC (24 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.50: +4 -1 lines
Diff to previous 1.50 (colored) to selected 1.89 (colored)

protect against large uio_offsets

Revision 1.50 / (download) - annotate - [select for diffs], Tue Aug 3 20:19:19 1999 UTC (24 years, 8 months ago) by wrstuden
Branch: MAIN
Changes since 1.49: +3 -1 lines
Diff to previous 1.49 (colored) to selected 1.89 (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.49 / (download) - annotate - [select for diffs], Mon Jul 19 23:00:47 1999 UTC (24 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: chs-ubc2-base
Changes since 1.48: +9 -3 lines
Diff to previous 1.48 (colored) to selected 1.89 (colored)

From Bill Studenmund: unlock the fdescfs "/dev/tty" vnode before calling
cttyread()/cttywrite(), and lock it again when it returns.

Squashes the somewhat bizarre lossage I was observing w/ more(1), sudo(1),
etc.

Revision 1.48 / (download) - annotate - [select for diffs], Thu Jul 8 01:26:26 1999 UTC (24 years, 8 months ago) by wrstuden
Branch: MAIN
Changes since 1.47: +42 -22 lines
Diff to previous 1.47 (colored) to selected 1.89 (colored)

Bump osrelease to 1.4E. Add layerfs files, remove null_subr.c.

Update coda to new struct lock in struct vnode.

make fdescfs, kernfs, portalfs, and procfs actually lock their vnodes.
It's not that hard.

Make unionfs set v_vnlock = NULL so any overlayed fs will call its
VOP_LOCK.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Aug 13 10:06:32 1998 UTC (25 years, 7 months ago) by kleink
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH001, kenh-if-detach-base, kenh-if-detach, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, chs-ubc-base, chs-ubc
Branch point for: netbsd-1-4, chs-ubc2
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored) to selected 1.89 (colored)

Per POSIX, fail with EINVAL if advisory locking is attempted on a file type
that doesn't support it, rather than using a homegrown EBADF or EOPNOTSUPP.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Aug 9 20:51:08 1998 UTC (25 years, 7 months ago) by perry
Branch: MAIN
Changes since 1.45: +10 -10 lines
Diff to previous 1.45 (colored) to selected 1.89 (colored)

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

Revision 1.45 / (download) - annotate - [select for diffs], Mon Aug 3 14:19:59 1998 UTC (25 years, 8 months ago) by kleink
Branch: MAIN
Changes since 1.44: +4 -1 lines
Diff to previous 1.44 (colored) to selected 1.89 (colored)

Recognize _PC_SYNC_IO.

Revision 1.44 / (download) - annotate - [select for diffs], Sun Mar 1 02:21:08 1998 UTC (26 years, 1 month ago) by fvdl
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.43: +56 -29 lines
Diff to previous 1.43 (colored) to selected 1.89 (colored)

Merge with Lite2 + local changes

Revision 1.43 / (download) - annotate - [select for diffs], Sat Feb 7 02:44:50 1998 UTC (26 years, 1 month ago) by chs
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored) to selected 1.89 (colored)

add flags arg to hashinit(), to pass to malloc().

Revision 1.42 / (download) - annotate - [select for diffs], Fri Oct 10 02:00:56 1997 UTC (26 years, 5 months ago) by fvdl
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3, marc-pcmcia-base
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored) to selected 1.89 (colored)

Bump last argument to VOP_READDIR to off_t (from u_long).

Revision 1.41 / (download) - annotate - [select for diffs], Mon May 5 07:13:59 1997 UTC (26 years, 10 months ago) by mycroft
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal, marc-pcmcia-bp, bouyer-scsipi
Branch point for: marc-pcmcia
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored) to selected 1.89 (colored)

Eliminate bogus uses of V{READ,WRITE,EXEC}.  Use S_I[RWX]{USR,GRP,OTH} where
appropriate.

Revision 1.40 / (download) - annotate - [select for diffs], Wed Apr 16 22:43:41 1997 UTC (26 years, 11 months ago) by fvdl
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored) to selected 1.89 (colored)

fdesc_seek -> genfs_seek, not genfs_badop

Revision 1.39 / (download) - annotate - [select for diffs], Fri Apr 11 21:52:02 1997 UTC (26 years, 11 months ago) by kleink
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored) to selected 1.89 (colored)

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

Revision 1.38 / (download) - annotate - [select for diffs], Fri Oct 25 21:57:58 1996 UTC (27 years, 5 months ago) by cgd
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-before-merge, is-newarp-base, is-newarp
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored) to selected 1.89 (colored)

define path name string variables that we should not (and, thankfully, do
not) modify as 'const char *' rather 'char *'.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Oct 13 02:21:27 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored) to selected 1.89 (colored)

backout previous kprintf changes

Revision 1.36 / (download) - annotate - [select for diffs], Thu Oct 10 22:54:02 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored) to selected 1.89 (colored)

printf -> kprintf, sprintf -> ksprintf

Revision 1.35 / (download) - annotate - [select for diffs], Sat Sep 7 12:41:09 1996 UTC (27 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.34: +10 -12 lines
Diff to previous 1.34 (colored) to selected 1.89 (colored)

Implement poll(2).

Revision 1.34 / (download) - annotate - [select for diffs], Sun Sep 1 23:48:00 1996 UTC (27 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.33: +73 -120 lines
Diff to previous 1.33 (colored) to selected 1.89 (colored)

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

Revision 1.33 / (download) - annotate - [select for diffs], Fri Jun 14 09:27:23 1996 UTC (27 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.32: +2 -3 lines
Diff to previous 1.32 (colored) to selected 1.89 (colored)

use VATTR_NULL macro.

Revision 1.32 / (download) - annotate - [select for diffs], Thu Apr 11 11:24:29 1996 UTC (27 years, 11 months ago) by mrg
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.31: +13 -5 lines
Diff to previous 1.31 (colored) to selected 1.89 (colored)

fix long-time bug in fdesc -- /dev/tty was a named pipe rather than a
mirror image of the real /dev/tty, a char dev.  make it a char dev.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Feb 13 13:12:52 1996 UTC (28 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.30: +6 -18 lines
Diff to previous 1.30 (colored) to selected 1.89 (colored)

GC *_nullop().  Minor nits.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Feb 9 22:40:10 1996 UTC (28 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.29: +195 -150 lines
Diff to previous 1.29 (colored) to selected 1.89 (colored)

miscfs prototype changes

Revision 1.29 / (download) - annotate - [select for diffs], Fri Feb 9 14:45:46 1996 UTC (28 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.28: +44 -4 lines
Diff to previous 1.28 (colored) to selected 1.89 (colored)

Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Feb 1 00:31:05 1996 UTC (28 years, 2 months ago) by jtc
Branch: MAIN
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored) to selected 1.89 (colored)

Rename struct timespec fields to conform to POSIX.1b

Revision 1.27 / (download) - annotate - [select for diffs], Mon Oct 9 14:20:04 1995 UTC (28 years, 5 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.26: +4 -4 lines
Diff to previous 1.26 (colored) to selected 1.89 (colored)

/dev/std* are of type DT_LNK.

Revision 1.26 / (download) - annotate - [select for diffs], Mon Oct 9 14:03:32 1995 UTC (28 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.25: +6 -8 lines
Diff to previous 1.25 (colored) to selected 1.89 (colored)

Use the index number as the cookie, rather than multiplying by UIO_MX.

Revision 1.25 / (download) - annotate - [select for diffs], Mon Oct 9 11:19:04 1995 UTC (28 years, 5 months ago) by mycroft
Branch: MAIN
Changes since 1.24: +72 -75 lines
Diff to previous 1.24 (colored) to selected 1.89 (colored)

Add support for cookies, mostly from Greg Hudson.

Revision 1.24 / (download) - annotate - [select for diffs], Wed Dec 14 18:45:21 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.23: +1 -2 lines
Diff to previous 1.23 (colored) to selected 1.89 (colored)

Remove a_fp.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Dec 14 18:40:27 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.22: +11 -3 lines
Diff to previous 1.22 (colored) to selected 1.89 (colored)

Revert dup handling.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Dec 13 09:58:14 1994 UTC (29 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.21: +17 -6 lines
Diff to previous 1.21 (colored) to selected 1.89 (colored)

Sync with CSRG.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Dec 4 03:13:06 1994 UTC (29 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.20: +5 -16 lines
Diff to previous 1.20 (colored) to selected 1.89 (colored)

Use fddupopen(), just like fdopen() does.

Revision 1.20 / (download) - annotate - [select for diffs], Mon Nov 14 06:05:08 1994 UTC (29 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.19: +2 -1 lines
Diff to previous 1.19 (colored) to selected 1.89 (colored)

fixed struct comment

Revision 1.19 / (download) - annotate - [select for diffs], Sun Oct 30 21:48:30 1994 UTC (29 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored) to selected 1.89 (colored)

be more careful with types, also pull in headers where necessary.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Oct 20 04:26:22 1994 UTC (29 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored) to selected 1.89 (colored)

update for new syscall args description mechanism

Revision 1.17 / (download) - annotate - [select for diffs], Fri Aug 19 11:25:31 1994 UTC (29 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.16: +12 -32 lines
Diff to previous 1.16 (colored) to selected 1.89 (colored)

Convert hash tables.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jul 14 20:58:28 1994 UTC (29 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored) to selected 1.89 (colored)

Fix a fencepost error.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jun 29 06:34:18 1994 UTC (29 years, 9 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-1-0-base
Branch point for: netbsd-1-0
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored) to selected 1.89 (colored)

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

Revision 1.14 / (download) - annotate - [select for diffs], Wed Jun 8 11:33:15 1994 UTC (29 years, 9 months ago) by mycroft
Branch: MAIN
Changes since 1.13: +383 -382 lines
Diff to previous 1.13 (colored) to selected 1.89 (colored)

Update to 4.4-Lite fs code, with local changes.

Revision 1.13 / (download) - annotate - [select for diffs], Wed May 4 03:42:14 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored) to selected 1.89 (colored)

Rename a lot of process flags.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Apr 25 03:49:55 1994 UTC (29 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.11: +6 -10 lines
Diff to previous 1.11 (colored) to selected 1.89 (colored)

some prototype cleanup, eliminate/replace bogus types (e.g. quad and
u_quad) -> use better types (e.g. quad_t & u_quad_t in inodes),
some cleanup.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Jan 9 17:33:19 1994 UTC (30 years, 2 months ago) by ws
Branch: MAIN
Changes since 1.10: +8 -1 lines
Diff to previous 1.10 (colored) to selected 1.89 (colored)

Note that NFS mounting of fdesc doesn't make sense

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jan 5 15:11:32 1994 UTC (30 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored) to selected 1.89 (colored)

don't try to reclaim 'known' root vnode

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jan 5 11:07:44 1994 UTC (30 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored) to selected 1.89 (colored)

fix UFS vs 'real' fs type mixups

Revision 1.8 / (download) - annotate - [select for diffs], Wed Jan 5 09:01:02 1994 UTC (30 years, 2 months ago) by cgd
Branch: MAIN
Changes since 1.7: +532 -187 lines
Diff to previous 1.7 (colored) to selected 1.89 (colored)

update with latest fdesc file system from jsp@sequent.com

Revision 1.7 / (download) - annotate - [select for diffs], Thu Dec 23 17:37:33 1993 UTC (30 years, 3 months ago) by cgd
Branch: MAIN
Changes since 1.6: +3 -2 lines
Diff to previous 1.6 (colored) to selected 1.89 (colored)

fix fdesc_print return type (again)

Revision 1.6 / (download) - annotate - [select for diffs], Tue Sep 7 15:41:18 1993 UTC (30 years, 6 months ago) by ws
Branch: MAIN
CVS Tags: magnum-base
Branch point for: magnum
Changes since 1.5: +13 -3 lines
Diff to previous 1.5 (colored) to selected 1.89 (colored)

Changes to VFS readdir semantics
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers

Revision 1.5 / (download) - annotate - [select for diffs], Mon Aug 2 23:01:49 1993 UTC (30 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored) to selected 1.89 (colored)

Make fdesc_print have a return type of void.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Jun 7 05:25:22 1993 UTC (30 years, 9 months ago) by cgd
Branch: MAIN
CVS Tags: netbsd-0-9-patch-001, netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored) to selected 1.89 (colored)

give various filesystems their own vnode types

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 30 05:16:56 1993 UTC (31 years ago) by cgd
Branch: MAIN
CVS Tags: netbsd-alpha-1, netbsd-0-8
Changes since 1.2: +33 -5 lines
Diff to previous 1.2 (colored) to selected 1.89 (colored)

added . and ..

Revision 1.2 / (download) - annotate - [select for diffs], Thu Mar 25 06:00:19 1993 UTC (31 years ago) by cgd
Branch: MAIN
Changes since 1.1: +28 -5 lines
Diff to previous 1.1 (colored) to selected 1.89 (colored)

changed copyright notice thanks to following statement:

Return-Path: jsp@compnews.co.uk
Received: from ben.uknet.ac.uk by postgres.Berkeley.EDU (5.61/1.29)
	id AA25983; Thu, 25 Mar 93 05:37:37 -0800
Received: from fennel.compnews.co.uk by ben.uknet.ac.uk via UKIP with SMTP (PP)
          id <g.05640-0@ben.uknet.ac.uk>; Thu, 25 Mar 1993 13:37:19 +0000
Received: from sage.compnews.co.uk by fennel.compnews.co.uk;
          Thu, 25 Mar 93 13:37:08 GMT
Message-Id: <28109.9303251337@sage.compnews.co.uk>
From: jsp@compnews.co.uk (Jan-Simon Pendry)
Date: Thu, 25 Mar 1993 13:37:05 +0100
In-Reply-To: cgd@postgres.berkeley.edu's message as of Mar 25, 5:32am.
Phone-Number-1: +44 430 432450
Phone-Number-2: +44 430 432480 x20
Fax-Number: +44 430 432022
X-Mailer: Mail User's Shell (7.2.5 10/14/92)
To: cgd@postgres.berkeley.edu
Subject: Re: fdesc/kernfs/etc code...

You may put this copyright message on the source code:

/*
 * Copyright (c) 1990, 1992 Jan-Simon Pendry
 * All rights reserved.
 *
 * This code is derived from software contributed to Berkeley by
 * Jan-Simon Pendry.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed by the University of
 *      California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 */

Revision 1.1 / (download) - annotate - [select for diffs], Tue Mar 23 23:56:34 1993 UTC (31 years ago) by cgd
Branch: MAIN
Diff to selected 1.89 (colored)

files which implement the fdesc filesystem.  from Jan-Simon Pendry,
pendry@vangogh.cs.berkeley.edu

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>