CVS log for src/sys/miscfs/union/Attic/union_vnops.c
Up to [FreeBSD] / src / sys / miscfs / union
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.72.2.3: download - view: text, markup, annotated - select for diffs
Tue Jan 13 21:20:02 2004 UTC (8 years ago) by das
Branches: RELENG_4
CVS tags: RELENG_4_11_BP, RELENG_4_11_0_RELEASE, RELENG_4_11, RELENG_4_10_BP, RELENG_4_10_0_RELEASE, RELENG_4_10
Diff to: previous 1.72.2.2: preferred, colored; branchpoint 1.72: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72.2.2: +1 -1 lines
Unbreak the build. I had this fix on my -STABLE test box, but it apparently never made it back to my local repository. Pointy hat to: das
Revision 1.72.2.2: download - view: text, markup, annotated - select for diffs
Tue Jan 13 06:51:55 2004 UTC (8 years ago) by das
Branches: RELENG_4
Diff to: previous 1.72.2.1: preferred, colored; branchpoint 1.72: preferred, colored
Changes since revision 1.72.2.1: +21 -27 lines
MFC: src/sys/fs/unionfs/union_vnops.c,v 1.103
Revision 1.72.2.1: download - view: text, markup, annotated - select for diffs
Wed Jun 18 07:55:47 2003 UTC (8 years, 7 months ago) by das
Branches: RELENG_4
CVS tags: RELENG_4_9_BP, RELENG_4_9_0_RELEASE, RELENG_4_9
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +20 -12 lines
MFC: Fix memory leak union_subr.c,v 1.71 Add union_dircache_free() union.h,v 1.27 union_subr.c,v 1.72 union_vnops.c,v 1.98 Add malloc types M_UNDCACHE and M_UNPATH union_subr.c,v 1.73 Fix panic when unionfs is mounted atop another unionfs, style union_vnops.c,v 1.99 union_vnops.c,v 1.100
Revision 1.85
Wed May 23 09:42:22 2001 UTC (10 years, 8 months ago) by ru
Branches: MAIN
CVS tags: HEAD
FILE REMOVED
Changes since revision 1.84: +1 -1 lines
- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
systems were repo-copied from sys/miscfs to sys/fs.
- Renamed the following file systems and their modules:
fdesc -> fdescfs, portal -> portalfs, union -> unionfs.
- Renamed corresponding kernel options:
FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.
- Install header files for the above file systems.
- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
Makefiles.
Revision 1.84: download - view: text, markup, annotated - select for diffs
Fri May 18 07:43:13 2001 UTC (10 years, 8 months ago) by bp
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +2 -2 lines
Currently there is no way to tell if write operation invoked via vn_start_write() on the given vnode will be successful. VOP_LEASE() may help to solve this problem, but its return value ignored nearly everywhere. For now just assume that the missing upper layer on write means insufficient access rights (which is correct for most cases).
Revision 1.83: download - view: text, markup, annotated - select for diffs
Thu May 17 04:58:25 2001 UTC (10 years, 8 months ago) by bp
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +13 -5 lines
VOP getwritemount() can be invoked on vnodes with VFREE flag set (used in snapshots code). At this point upper vp may not exist.
Revision 1.82: download - view: text, markup, annotated - select for diffs
Thu May 17 04:52:57 2001 UTC (10 years, 8 months ago) by bp
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +57 -25 lines
Use vop_*vobject() VOPs to get reference to VM object from upper or lower fs.
Revision 1.81: download - view: text, markup, annotated - select for diffs
Tue May 1 08:34:34 2001 UTC (10 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +1 -33 lines
Implement vop_std{get|put}pages() and add them to the default vop[].
Un-copy&paste all the VOP_{GET|PUT}PAGES() functions which do nothing but
the default.
Revision 1.80: download - view: text, markup, annotated - select for diffs
Sun Apr 29 11:48:38 2001 UTC (10 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +2 -28 lines
Add a vop_stdbmap(), and make it part of the default vop vector. Make 7 filesystems which don't really know about VOP_BMAP rely on the default vector, rather than more or less complete local vop_nopbmap() implementations.
Revision 1.79: download - view: text, markup, annotated - select for diffs
Wed Jan 17 01:10:23 2001 UTC (11 years ago) by peter
Branches: MAIN
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +3 -1 lines
Fix breakage unconvered by LINT - dont refer to undefined variables in KASSERT()
Revision 1.78: download - view: text, markup, annotated - select for diffs
Tue Jan 9 04:24:43 2001 UTC (11 years, 1 month ago) by wollman
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +3 -1 lines
Don't compile a dead variable declaration.
Revision 1.77: download - view: text, markup, annotated - select for diffs
Wed Nov 1 17:57:23 2000 UTC (11 years, 3 months ago) by eivind
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +1 -18 lines
Give vop_mmap an untimely death. The opportunity to give it a timely death timed out in 1996.
Revision 1.76: download - view: text, markup, annotated - select for diffs
Sun Oct 29 16:06:36 2000 UTC (11 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +1 -2 lines
Move suser() and suser_xxx() prototypes and a related #define from <sys/proc.h> to <sys/systm.h>. Correctly document the #includes needed in the manpage. Add one now needed #include of <sys/systm.h>. Remove the consequent 48 unused #includes of <sys/proc.h>.
Revision 1.75: download - view: text, markup, annotated - select for diffs
Tue Jul 11 22:07:47 2000 UTC (11 years, 7 months ago) by mckusick
Branches: MAIN
CVS tags: PRE_SMPNG
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +17 -1 lines
Add snapshots to the fast filesystem. Most of the changes support the gating of system calls that cause modifications to the underlying filesystem. The gating can be enabled by any filesystem that needs to consistently suspend operations by adding the vop_stdgetwritemount to their set of vnops. Once gating is enabled, the function vfs_write_suspend stops all new write operations to a filesystem, allows any filesystem modifying system calls already in progress to complete, then sync's the filesystem to disk and returns. The function vfs_write_resume allows the suspended write operations to begin again. Gating is not added by default for all filesystems as for SMP systems it adds two extra locks to such critical kernel paths as the write system call. Thus, gating should only be added as needed. Details on the use and current status of snapshots in FFS can be found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness is not included here. Unless and until you create a snapshot file, these changes should have no effect on your system (famous last words).
Revision 1.74: download - view: text, markup, annotated - select for diffs
Fri May 5 09:58:33 2000 UTC (11 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +2 -1 lines
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>. <sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes. Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data. Still a few bogus uses of struct buf to track down. Repocopy by: peter
Revision 1.73: download - view: text, markup, annotated - select for diffs
Mon Mar 20 10:44:33 2000 UTC (11 years, 10 months ago) by phk
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +2 -2 lines
Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set. B_WRITE was bogusly defined as zero giving rise to obvious coding mistakes. Also eliminate the redundant struct buf flag B_CALL, it can just as efficiently be done by comparing b_iodone to NULL. Should you get a panic or drop into the debugger, complaining about "b_iocmd", don't continue. It is likely to write on your disk where it should have been reading. This change is a step in the direction towards a stackable BIO capability. A lot of this patch were machine generated (Thanks to style(9) compliance!) Vinum users: Greg has not had time to test this yet, be careful.
Revision 1.72: download - view: text, markup, annotated - select for diffs
Wed Dec 15 23:02:14 1999 UTC (12 years, 1 month ago) by eivind
Branches: MAIN
CVS tags: RELENG_4_BP, RELENG_4_8_BP, RELENG_4_8_0_RELEASE, RELENG_4_8, RELENG_4_7_BP, RELENG_4_7_0_RELEASE, RELENG_4_7, RELENG_4_6_BP, RELENG_4_6_2_RELEASE, RELENG_4_6_1_RELEASE, RELENG_4_6_0_RELEASE, RELENG_4_6, RELENG_4_5_BP, RELENG_4_5_0_RELEASE, RELENG_4_5, RELENG_4_4_BP, RELENG_4_4_0_RELEASE, RELENG_4_4, RELENG_4_3_BP, RELENG_4_3_0_RELEASE, RELENG_4_3, RELENG_4_2_0_RELEASE, RELENG_4_1_1_RELEASE, RELENG_4_1_0_RELEASE, RELENG_4_0_0_RELEASE
Branch point for: RELENG_4
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +1 -40 lines
Introduce NDFREE (and remove VOP_ABORTOP)
Revision 1.71: download - view: text, markup, annotated - select for diffs
Sat Dec 11 16:12:58 1999 UTC (12 years, 2 months ago) by eivind
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +5 -5 lines
Lock reporting and assertion changes. * lockstatus() and VOP_ISLOCKED() gets a new process argument and a new return value: LK_EXCLOTHER, when the lock is held exclusively by another process. * The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them * Extend the vnode_if.src format to allow more exact specification than locked/unlocked. This commit should not do any semantic changes unless you are using DEBUG_VFS_LOCKS. Discussed with: grog, mch, peter, phk Reviewed by: peter
Revision 1.70: download - view: text, markup, annotated - select for diffs
Wed Dec 8 08:59:40 1999 UTC (12 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +1 -3 lines
Remove unused #includes. Obtained from: http://bogon.freebsd.dk/include
Revision 1.69: download - view: text, markup, annotated - select for diffs
Thu Nov 18 09:07:30 1999 UTC (12 years, 2 months ago) by peter
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +1 -2 lines
Fix an unused variable warning.
Revision 1.68: download - view: text, markup, annotated - select for diffs
Sat Nov 13 20:58:14 1999 UTC (12 years, 2 months ago) by eivind
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +3 -6 lines
Remove WILLRELE from VOP_SYMLINK Note: Previous commit to these files (except coda_vnops and devfs_vnops) that claimed to remove WILLRELE from VOP_RENAME actually removed it from VOP_MKNOD.
Revision 1.67: download - view: text, markup, annotated - select for diffs
Fri Nov 12 03:34:25 1999 UTC (12 years, 3 months ago) by eivind
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +2 -3 lines
Remove WILLRELE from VOP_RENAME
Revision 1.66: download - view: text, markup, annotated - select for diffs
Fri Oct 29 18:09:06 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +1 -2 lines
useracc() the prequel:
Merge the contents (less some trivial bordering the silly comments)
of <vm/vm_prot.h> and <vm/vm_inherit.h> into <vm/vm.h>. This puts
the #defines for the vm_inherit_t and vm_prot_t types next to their
typedefs.
This paves the road for the commit to follow shortly: change
useracc() to use VM_PROT_{READ|WRITE} rather than B_{READ|WRITE}
as argument.
Revision 1.65: download - view: text, markup, annotated - select for diffs
Tue Sep 28 05:48:39 1999 UTC (12 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +5 -3 lines
Make sure file after VOP_OPEN is VMIO'd when transfering control from
a lower layer to an upper layer. I'm not sure how necessary this is
for reading.
Fix bug in union_lookup() (note: there are probably still several bugs
in union_lookup()). This one set lerror as a side effect without
setting lowervp, causing copyup code further on down to crash on a null
lowervp pointer. Changed the side effect to use a temporary variable
instead.
Revision 1.64: download - view: text, markup, annotated - select for diffs
Sun Sep 26 20:52:41 1999 UTC (12 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +818 -588 lines
This is a major fixup of unionfs. At least 30 serious bugs have been
fixed (many due to changing semantics in other parts of the kernel and not
the original author's fault), including one critical one: unionfs could
cause UFS corruption in the fronting store due to calling VOP_OPEN for
writing without turning on vmio for the UFS vnode.
Most of the bugs were related to semantics changes in VOP calls, lock
ordering problems (causing deadlocks), improper handling of a read-only
backing store (such as an NFS mount), improper referencing and locking
of vnodes, not using real struct locks for vnode locking, not using
recursive locks when accessing the fronting store, and things like that.
New functionality has been added: unionfs now has mmap() support, but
only partially tested, and rename has been enhanced considerably.
There are still some things that unionfs cannot do. You cannot
rename a directory without confusing unionfs, and there are issues
with softlinks, hardlinks, and special files. unionfs mostly doesn't
understand them (and never did).
There are probably still panic situations, but hopefully no where near
as many as before this commit.
The unionfs in this commit has been tested overlayed on /usr/src
(backing /usr/src being a read-only NFS mount, fronting /usr/src being
a local filesystem). kernel builds have been tested, buildworld is
undergoing testing. More testing is necessary.
Revision 1.8.8.2: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:33:45 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_1_0
Diff to: previous 1.8.8.1: preferred, colored; branchpoint 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8.8.1: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.14.4.1: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:17:11 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_2
Diff to: previous 1.14: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.59.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 29 16:27:03 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_3
CVS tags: RELENG_3_5_0_RELEASE, RELENG_3_4_0_RELEASE, RELENG_3_3_0_RELEASE
Diff to: previous 1.59: preferred, colored; next MAIN 1.60: preferred, colored
Changes since revision 1.59: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.63: download - view: text, markup, annotated - select for diffs
Sat Aug 28 00:47:03 1999 UTC (12 years, 5 months ago) by peter
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +1 -1 lines
$Id$ -> $FreeBSD$
Revision 1.62: download - view: text, markup, annotated - select for diffs
Fri Jul 2 16:29:47 1999 UTC (12 years, 7 months ago) by phk
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +1 -2 lines
Make sure that stat(2) and friends always return a valid st_dev field. Pseudo-FS need not fill in the va_fsid anymore, the syscall code will use the first half of the fsid, which now looks like a udev_t with major 255.
Revision 1.61: download - view: text, markup, annotated - select for diffs
Wed Jun 16 23:27:43 1999 UTC (12 years, 7 months ago) by mckusick
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +5 -12 lines
Add a vnode argument to VOP_BWRITE to get rid of the last vnode operator special case. Delete special case code from vnode_if.sh, vnode_if.src, umap_vnops.c, and null_vnops.c.
Revision 1.60: download - view: text, markup, annotated - select for diffs
Wed Jan 27 22:42:08 1999 UTC (13 years ago) by dillon
Branches: MAIN
CVS tags: PRE_VFS_BIO_NFS_PATCH, PRE_SMP_VMSHARE, PRE_NEWBUS, POST_VFS_BIO_NFS_PATCH, POST_SMP_VMSHARE, POST_NEWBUS
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +6 -2 lines
Fix warnings in preparation for adding -Wall -Wcast-qual to the
kernel compile
Revision 1.59: download - view: text, markup, annotated - select for diffs
Mon Dec 14 05:00:59 1998 UTC (13 years, 1 month ago) by dillon
Branches: MAIN
CVS tags: RELENG_3_BP, RELENG_3_2_PAO_BP, RELENG_3_2_PAO, RELENG_3_2_0_RELEASE, RELENG_3_1_0_RELEASE
Branch point for: RELENG_3
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +2 -2 lines
Cleanup uninitialized-possibly-used (but really not) warnings
Revision 1.58: download - view: text, markup, annotated - select for diffs
Sat Jul 4 20:45:35 1998 UTC (13 years, 7 months ago) by julian
Branches: MAIN
CVS tags: RELENG_3_0_0_RELEASE, PRE_NOBDEV
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +3 -2 lines
VOP_STRATEGY grows an (struct vnode *) argument as the value in b_vp is often not really what you want. (and needs to be frobbed). more cleanups will follow this. Reviewed by: Bruce Evans <bde@freebsd.org>
Revision 1.57: download - view: text, markup, annotated - select for diffs
Thu May 7 04:58:38 1998 UTC (13 years, 9 months ago) by msmith
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +73 -72 lines
In the words of the submitter: --------- Make callers of namei() responsible for releasing references or locks instead of having the underlying filesystems do it. This eliminates redundancy in all terminal filesystems and makes it possible for stacked transport layers such as umapfs or nullfs to operate correctly. Quality testing was done with testvn, and lat_fs from the lmbench suite. Some NFS client testing courtesy of Patrik Kudo. vop_mknod and vop_symlink still release the returned vpp. vop_rename still releases 4 vnode arguments before it returns. These remaining cases will be corrected in the next set of patches. --------- Submitted by: Michael Hancock <michaelh@cet.co.jp>
Revision 1.56: download - view: text, markup, annotated - select for diffs
Tue Mar 17 08:47:50 1998 UTC (13 years, 10 months ago) by kato
Branches: MAIN
CVS tags: PRE_DEVFS_SLICE, POST_DEVFS_SLICE
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +2 -2 lines
If lowervp is NULLVP, vap was clobbered. Submitted by: Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp> Obtained from: NetBSD/pc98
Revision 1.55: download - view: text, markup, annotated - select for diffs
Thu Feb 26 03:23:56 1998 UTC (13 years, 11 months ago) by kato
Branches: MAIN
CVS tags: PRE_SOFTUPDATE, POST_SOFTUPDATE
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +5 -7 lines
Deleted KLOCK-hack.
Revision 1.54: download - view: text, markup, annotated - select for diffs
Tue Feb 10 03:32:07 1998 UTC (14 years ago) by kato
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +24 -47 lines
Undo UN_KLOCK hack except union_allocvp(). Now, vput() doesn't lock the vnode.
Revision 1.53: download - view: text, markup, annotated - select for diffs
Fri Feb 6 12:13:44 1998 UTC (14 years ago) by eivind
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +1 -3 lines
Back out DIAGNOSTIC changes.
Revision 1.52: download - view: text, markup, annotated - select for diffs
Fri Feb 6 02:42:21 1998 UTC (14 years ago) by kato
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +7 -1 lines
Workarround for DIAGNOSTIC kernel's panic in union_lookup(). Union_removed_upper() clobbers cache when file is removed. Upper vp will be removed by union_reclaim().
Revision 1.51: download - view: text, markup, annotated - select for diffs
Wed Feb 4 22:32:55 1998 UTC (14 years ago) by eivind
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +3 -1 lines
Turn DIAGNOSTIC into a new-style option.
Revision 1.50: download - view: text, markup, annotated - select for diffs
Thu Jan 22 02:14:59 1998 UTC (14 years ago) by kato
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +1 -6 lines
Delete unused code in union_fsync().
Revision 1.49: download - view: text, markup, annotated - select for diffs
Tue Jan 20 10:02:54 1998 UTC (14 years ago) by kato
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +11 -8 lines
- Move SETKLOC and CLEARKLOCK macros into uion.h. - Set UN_ULOCK in union_lock() when UN_KLOCK is set. Caller expects that vnode is locked correctly, and may call another function which expects locked vnode and may unlock the vnode. - Do not assume the behavior of inside functions in FreeBSD's vfs_suber.c is same as 4.4BSD-Lite2. Vnode may be locked in vget() even though flag is zero. (Locked vnode is, of course, unlocked before returning from vget.)
Revision 1.48: download - view: text, markup, annotated - select for diffs
Sun Jan 18 08:17:48 1998 UTC (14 years ago) by kato
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +14 -4 lines
Workarround for locking violation while recycling vnode which union fs used in freelist.
Revision 1.47: download - view: text, markup, annotated - select for diffs
Sun Jan 18 07:56:41 1998 UTC (14 years ago) by kato
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +35 -10 lines
Improve and revise fixes for locking violation. Obtained from: NetBSD/pc98
Revision 1.46: download - view: text, markup, annotated - select for diffs
Sun Oct 26 20:55:26 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +2 -2 lines
VFS interior redecoration. Rename vn_default_error to vop_defaultop all over the place. Move vn_bwrite from vfs_bio.c to vfs_default.c and call it vop_stdbwrite. Use vop_null instead of nullop. Move vop_nopoll from vfs_subr.c to vfs_default.c Move vop_sharedlock from vfs_subr.c to vfs_default.c Move vop_nolock from vfs_subr.c to vfs_default.c Move vop_nounlock from vfs_subr.c to vfs_default.c Move vop_noislocked from vfs_subr.c to vfs_default.c Use vop_ebadf instead of *_ebadf. Add vop_defaultop for getpages on master vnode in MFS.
Revision 1.45: download - view: text, markup, annotated - select for diffs
Thu Oct 16 20:32:30 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +1 -18 lines
Another VFS cleanup "kilo commit"
1. Remove VOP_UPDATE, it is (also) an UFS/{FFS,LFS,EXT2FS,MFS}
intereface function, and now lives in the ufsmount structure.
2. Remove VOP_SEEK, it was unused.
3. Add mode default vops:
VOP_ADVLOCK vop_einval
VOP_CLOSE vop_null
VOP_FSYNC vop_null
VOP_IOCTL vop_enotty
VOP_MMAP vop_einval
VOP_OPEN vop_null
VOP_PATHCONF vop_einval
VOP_READLINK vop_einval
VOP_REALLOCBLKS vop_eopnotsupp
And remove identical functionality from filesystems
4. Add vop_stdpathconf, which returns the canonical stuff. Use
it in the filesystems. (XXX: It's probably wrong that specfs
and fifofs sets this vop, shouldn't it come from the "host"
filesystem, for instance ufs or cd9660 ?)
5. Try to make system wide VOP functions have vop_* names.
6. Initialize the um_* vectors in LFS.
(Recompile your LKMS!!!)
Revision 1.44: download - view: text, markup, annotated - select for diffs
Wed Oct 15 10:04:54 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +7 -7 lines
Hmm, realign the vnops into two columns.
Revision 1.43: download - view: text, markup, annotated - select for diffs
Wed Oct 15 09:21:32 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +39 -51 lines
Stylistic overhaul of vnops tables.
1. Remove comment stating the blatantly obvious.
2. Align in two columns.
3. Sort all but the default element alphabetically.
4. Remove XXX comments pointing out entries not needed.
Revision 1.42: download - view: text, markup, annotated - select for diffs
Sun Sep 14 02:58:04 1997 UTC (14 years, 4 months ago) by peter
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +11 -8 lines
Convert select -> poll. Delete 'always succeed' select/poll handlers, replaced with generic call. Flag missing vnode op table entries.
Revision 1.41: download - view: text, markup, annotated - select for diffs
Sun Sep 7 06:46:34 1997 UTC (14 years, 5 months ago) by bde
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +3 -3 lines
Staticized.
Revision 1.40: download - view: text, markup, annotated - select for diffs
Thu Sep 4 03:14:49 1997 UTC (14 years, 5 months ago) by kato
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +39 -1 lines
Support read-only mount.
Revision 1.39: download - view: text, markup, annotated - select for diffs
Tue Sep 2 20:06:13 1997 UTC (14 years, 5 months ago) by bde
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +1 -4 lines
Removed unused #includes.
Revision 1.38: download - view: text, markup, annotated - select for diffs
Fri Aug 15 02:36:28 1997 UTC (14 years, 5 months ago) by kato
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +9 -1 lines
Added DIAGNOSTIC routine to test inconsistency of vnode when cnp points `.'. Obtained from: NetBSD
Revision 1.37: download - view: text, markup, annotated - select for diffs
Fri Aug 15 02:35:00 1997 UTC (14 years, 5 months ago) by kato
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +5 -17 lines
Deleted unused code which adjust UN_UNLOCK flag.
Revision 1.36: download - view: text, markup, annotated - select for diffs
Thu Aug 14 03:52:27 1997 UTC (14 years, 6 months ago) by kato
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +2 -4 lines
Backed out part of previous change. The example of -b mount in manpage works again.
Revision 1.35: download - view: text, markup, annotated - select for diffs
Tue Aug 12 07:18:59 1997 UTC (14 years, 6 months ago) by kato
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +7 -3 lines
Fixed vnode corruption by undefined case in union_lookup(). When uerror == 0 && lerror == EACCES, lowervp == NULLVP and union_allocvp doesn't find existing union node and new union node is created. Sicne it is dificult to cover all the case, union_lookup always returns when union_lookup1() returns EACCES. Submitted by: Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp> Obtained from: NetBSD/pc98
Revision 1.34: download - view: text, markup, annotated - select for diffs
Wed May 7 14:37:32 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
CVS tags: WOLLMAN_MBUF, BP_WOLLMAN_MBUF
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +76 -76 lines
1. Added cast and parenthesis in block size calculaion in union_statfs(). 2. staticized union vops. Submitted by: Doug Rabson <dfr@nlsystems.com>
Revision 1.33: download - view: text, markup, annotated - select for diffs
Sat May 3 01:55:19 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +2 -2 lines
Fixed panic message in union_lock(): union_link --> union_lock.
Revision 1.32: download - view: text, markup, annotated - select for diffs
Fri May 2 03:21:54 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +4 -2 lines
Access correct union mount point in union_access. Old vnode is saved in savedvp variable and it is used for the argument of MOUNTTOUNIONMOUNT(). I didn't realize ap->a_vp is modified before MOUNTTOUNIONMOUNT(), so the change by revision 1.22 is incorrect.
Revision 1.31: download - view: text, markup, annotated - select for diffs
Tue Apr 29 02:06:07 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +36 -32 lines
Revised fix for locking violation when unionfs calls vput with UN_KLOCK flag. When UN_KLOCK is set, VOP_UNLOCK should keep uppervp locked and clear UN_ULOCK flag. To do this, when UN_KLOCK is set, (1) union_unlock clears UN_ULOCK and does not clear UN_KLOCK, (2) union_lock() does not access uppervp and does not clear UN_KLOCK, and (3) callers of vput/VOP_UNLOCK should clear UN_KLOCK. For example, vput becomes: SETKLOCK(union_node); vput(vnode); CLEARKLOCK(union_node); where SETKLOCK macro sets UN_KLOCK and CLEARKLOCK macro clears UN_KLOCK.
Revision 1.30: download - view: text, markup, annotated - select for diffs
Sun Apr 27 10:49:37 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +2 -2 lines
Undo 1.29.
Revision 1.29: download - view: text, markup, annotated - select for diffs
Sat Apr 26 13:43:25 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +3 -11 lines
Do nothing instead of adjusting un_flags when (uppervp is locked) && (UN_ULOCK is not set) in union_lock. This condition may indicate race. DIAGNOSTIC kernel still panic here.
Revision 1.28: download - view: text, markup, annotated - select for diffs
Sat Apr 26 04:09:40 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
CVS tags: pre_smp_merge, post_smp_merge
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +12 -2 lines
Do not clear UN_ULOCK in certain case. Our vput calls vm_object_deallocate() --> vm_object_terminate(). The vm_object_terminate() calls vn_lock(), since UN_LOCKED has been already cleared in union_unlock(). Then, union_lock locks upper vnode when UN_ULOCK is not set. The upper vnode is not unlocked when UN_KLOCK is set in union_unlock(), thus, union_lock tries to lock locked vnode and we get panic.
Revision 1.27: download - view: text, markup, annotated - select for diffs
Mon Apr 21 15:32:24 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +23 -5 lines
Dirty change in union_lock(). Sometimes upper vnode is locked without UN_ULOCK flag. This shows a locking violation but I couldn't find the reason UN_ULOCK is not set or upper vnode is not unlocked. I added the code that detect this case and adjust un_flags. DIAGNOSTIC kernel doesn't adjust un_flags, but just panic here to help debug by kernel hackers.
Revision 1.26: download - view: text, markup, annotated - select for diffs
Mon Apr 21 12:40:42 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +2 -2 lines
Replace VOP_LOCK with vn_lock.
Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Apr 16 03:08:34 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +2 -15 lines
Undo previous commit to avoid panic, and fix order of argument of VOP_LINK(). The reason of strange behavior was wrong order of the argument, that is, the operation # ln foo bar in a union fs tried to do # ln bar foo in ufs layer. Now we can make a link in a union fs.
Revision 1.24: download - view: text, markup, annotated - select for diffs
Tue Apr 15 12:56:57 1997 UTC (14 years, 9 months ago) by kato
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +15 -2 lines
Quick-hack to avoid `lock against myself' panic. It is not the real fix! The ufs_link() assumes that vnode is not unlocked and tries to lock it in certain case. Because union_link calls VOP_LINK after locking vnode, vn_lock in ufs_link causes above panic. Currently, I don't know the real fix for a locking violation in union_link, but I think it is important to avoid panic. A vnode is unlocked before calling VOP_LINK and is locked after it if the vnode is not union fs. Even though panic went away, the process that access the union fs in which link was made will hang-up. Hang-up can be easily reproduced by following operation: mount -t union a b cd b ln foo bar ls
Revision 1.23: download - view: text, markup, annotated - select for diffs
Mon Apr 14 05:13:55 1997 UTC (14 years, 10 months ago) by kato
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +39 -1 lines
Fix locking violation when accessing `..'. Obtained from: NetBSD
Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Apr 13 13:12:12 1997 UTC (14 years, 10 months ago) by kato
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -2 lines
Access correct union mount point in union_access.
Revision 1.21: download - view: text, markup, annotated - select for diffs
Sun Apr 13 06:29:13 1997 UTC (14 years, 10 months ago) by phk
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +14 -3 lines
The function union_fsync tries to lock overlaying vnode object when dolock is not set (that is, targetvp == overlaying vnode object). Current code use FIXUP macro to do this, and never unlocks overlaying vnode object in union_fsync. So, the vnode object will be locked twice and never unlocked. PR: 3271 Submitted by: kato
Revision 1.20: download - view: text, markup, annotated - select for diffs
Sun Mar 23 03:37:00 1997 UTC (14 years, 10 months ago) by bde
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +2 -2 lines
Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined. Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all.
Revision 1.19: download - view: text, markup, annotated - select for diffs
Sat Feb 22 09:40:42 1997 UTC (14 years, 11 months ago) by peter
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +1 -1 lines
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
Revision 1.18: download - view: text, markup, annotated - select for diffs
Wed Feb 12 14:31:11 1997 UTC (15 years ago) by bde
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +1 -0 lines
Restored #include of <sys/kernel.h> so that this compiles again.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Wed Feb 12 07:53:09 1997 UTC (15 years ago) by mpp
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +3 -0 lines
Add function protypes for the new Lite2 unionfs functions.
Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon Feb 10 02:16:15 1997 UTC (15 years ago) by dyson
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +476 -322 lines
This is the kernel Lite/2 commit. There are some requisite userland changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
Revision 1.15: download - view: text, markup, annotated - select for diffs
Tue Jan 14 06:47:03 1997 UTC (15 years ago) by jkh
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +1 -1 lines
Make the long-awaited change from $Id$ to $FreeBSD$ This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
Revision 1.1.1.2 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon Mar 11 19:29:22 1996 UTC (15 years, 11 months ago) by peter
Branches: CSRG
CVS tags: bsd_44_lite_2
Diff to: previous 1.1.1.1: preferred, colored
Changes since revision 1.1.1.1: +472 -310 lines
Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all files are off the vendor branch, so this should not change anything. A "U" marker generally means that the file was not changed in between the 4.4Lite and Lite-2 releases, and does not need a merge. "C" generally means that there was a change. [two new auxillary files in miscfs/union]
Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Dec 3 14:54:48 1995 UTC (16 years, 2 months ago) by bde
Branches: MAIN
CVS tags: wollman_polling, RELENG_2_2_BP, RELENG_2_2_8_RELEASE, RELENG_2_2_7_RELEASE, RELENG_2_2_6_RELEASE, RELENG_2_2_5_RELEASE, RELENG_2_2_2_RELEASE, RELENG_2_2_1_RELEASE, RELENG_2_2_0_RELEASE
Branch point for: RELENG_2_2
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +40 -1 lines
Added prototypes. Removed some unnecessary #includes.
Revision 1.13: download - view: text, markup, annotated - select for diffs
Thu Nov 9 08:16:38 1995 UTC (16 years, 3 months ago) by bde
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +44 -44 lines
Introduced a type `vop_t' for vnode operation functions and used it 1138 times (:-() in casts and a few more times in declarations. This change is null for the i386. The type has to be `typedef int vop_t(void *)' and not `typedef int vop_t()' because `gcc -Wstrict-prototypes' warns about the latter. Since vnode op functions are called with args of different (struct pointer) types, neither of these function types is any use for type checking of the arg, so it would be preferable not to use the complete function type, especially since using the complete type requires adding 1138 casts to avoid compiler warnings and another 40+ casts to reverse the function pointer conversions before calling the functions.
Revision 1.8.8.1: download - view: text, markup, annotated - select for diffs
Mon Sep 18 05:33:21 1995 UTC (16 years, 4 months ago) by davidg
Branches: RELENG_2_1_0
CVS tags: RELENG_2_1_7_RELEASE, RELENG_2_1_6_RELEASE, RELENG_2_1_6_1_RELEASE, RELENG_2_1_5_RELEASE, RELENG_2_1_0_RELEASE
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -3 lines
Brought in some changes from main branch: add missing args to VOP_CLOSE() calls. This is mostly cosmetic since unionfs doesn't work for other reasons.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Sep 4 00:20:41 1995 UTC (16 years, 5 months ago) by dyson
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +3 -2 lines
Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block count for VOP_BMAP. Updated affected filesystems...
Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Aug 17 11:53:51 1995 UTC (16 years, 5 months ago) by bde
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -3 lines
The `cred' and `proc' args were missing for some VOP_OPEN() and VOP_CLOSE() calls. Found by: gcc -Wstrict-prototypes after I supplied some of the 5000+ missing prototypes. Now I have 9000+ lines of warnings and errors about bogus conversions of function pointers.
Revision 1.10: download - view: text, markup, annotated - select for diffs
Tue Aug 1 18:50:53 1995 UTC (16 years, 6 months ago) by davidg
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +3 -3 lines
Removed my special-case hack for VOP_LINK and fixed the problem with the wrong vp's ops vector being used by changing the VOP_LINK's argument order. The special-case hack doesn't go far enough and breaks the generic bypass routine used in some non-leaf filesystems. Pointed out by Kirk McKusick.
Revision 1.9: download - view: text, markup, annotated - select for diffs
Wed Jun 28 07:06:46 1995 UTC (16 years, 7 months ago) by davidg
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +2 -2 lines
Fixed VOP_LINK argument order botch.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Fri Nov 4 14:41:46 1994 UTC (17 years, 3 months ago) by davidg
Branches: MAIN
CVS tags: RELENG_2_1_0_BP, RELENG_2_0_5_RELEASE, RELENG_2_0_5_BP, RELENG_2_0_5_ALPHA, RELENG_2_0_5, RELEASE_2_0, OLAH_TTCP, BETA_2_0, ALPHA_2_0
Branch point for: RELENG_2_1_0
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +8 -4 lines
From tim@cs.city.ac.uk (Tim Wilkinson): Find enclosed a short bugfix to get the union filesystem up and running in FreeBSD-current. We don't think we've got all the problems yet but these fixes sort out the major ones (which mostly concert bad locking of vnodes), no doubt we'll post others as necessary. Known problems include the inability of the umount command (not the system call) to unmount unions in certain circumstances (this is due the way "realpath" works), and the failure of direntries to always get all available files in unioned subdirectories. We are, as they say, working on it. Submitted by: tim@cs.city.ac.uk (Tim Wilkinson)
Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Oct 10 07:55:48 1994 UTC (17 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +8 -7 lines
Cosmetics. reduce the noise from gcc -Wall.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Thu Oct 6 21:06:49 1994 UTC (17 years, 4 months ago) by davidg
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +4 -4 lines
Use tsleep() rather than sleep so that 'ps' is more informative about the wait.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Wed Sep 21 23:22:45 1994 UTC (17 years, 4 months ago) by wollman
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -1 lines
Fix a few niggling little bugs: - set args->lkm_offset correctly so that VFS modules can be unloaded - initialize _fs_vfsops.vfc_refcount correctly so that VFS modules can be unloaded - include kernel.h in a few placves to get the correct definition of DATA_SET
Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Sep 21 03:47:14 1994 UTC (17 years, 4 months ago) by wollman
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -1 lines
Implemented loadable VFS modules, and made most existing filesystems loadable. (NFS is a notable exception.)
Revision 1.3: download - view: text, markup, annotated - select for diffs
Tue Aug 2 07:45:47 1994 UTC (17 years, 6 months ago) by davidg
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +1 -0 lines
Added $Id$
Revision 1.2: download - view: text, markup, annotated - select for diffs
Wed May 25 09:09:38 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -1 lines
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch. Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue May 24 10:05:18 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: CSRG
CVS tags: bsd_44_lite, REL_before_johndavid_2_0_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
BSD 4.4 Lite Kernel Sources
Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue May 24 10:05:17 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: MAIN
Initial revision
