History log of /src/sys/kern/vnode_if.c |
Revision | | Date | Author | Comments |
1.119 |
| 15-Jun-2023 |
hannken | Regen.
|
1.118 |
| 18-Jul-2022 |
thorpej | branches: 1.118.4; Regen for:
Make kqueue event status for vnodes shareable, and for stacked file systems like nullfs, make the upper vnode share that status with the lower vnode.
And, lo, NetBSD 9.99.99.
Fixes PR kern/56713.
|
1.117 |
| 03-May-2022 |
hannken | Regen.
|
1.116 |
| 03-May-2022 |
hannken | Regen.
|
1.115 |
| 20-Oct-2021 |
thorpej | Regen for:
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
|
1.114 |
| 02-Jul-2021 |
dholland | Regen.
|
1.113 |
| 29-Jun-2021 |
dholland | Regen.
|
1.112 |
| 18-May-2020 |
hannken | branches: 1.112.6; Regen.
|
1.111 |
| 16-May-2020 |
christos | Add ACL support for FFS. From FreeBSD.
|
1.110 |
| 23-Feb-2020 |
ad | Regen.
|
1.109 |
| 01-Dec-2019 |
ad | branches: 1.109.2; Regen for VOP_LOCK & LK_UPGRADE/LK_DOWNGRADE.
|
1.108 |
| 11-Oct-2019 |
hannken | Regen.
|
1.107 |
| 12-Jul-2017 |
hannken | branches: 1.107.6; 1.107.10; Regen.
|
1.106 |
| 04-Jun-2017 |
hannken | Operations fstrans_start() and fstrans_start_nowait() now always use FSTRANS_SHARED as lock type so remove the lock type argument.
File system state FSTRANS_SUSPENDING is now unused so remove it.
Regen vnode_if files.
Ride 8.99.1 less than a hour ago.
|
1.105 |
| 04-Jun-2017 |
hannken | Regen.
|
1.104 |
| 26-May-2017 |
riastradh | branches: 1.104.2; regen
|
1.103 |
| 26-Apr-2017 |
riastradh | regen
|
1.102 |
| 16-Apr-2017 |
riastradh | regen to confirm no functional change
|
1.101 |
| 16-Apr-2017 |
riastradh | regen
|
1.100 |
| 15-Apr-2017 |
riastradh | regen to confirm no functional change
|
1.99 |
| 11-Apr-2017 |
riastradh | regen to confirm no functional change
|
1.98 |
| 11-Apr-2017 |
riastradh | regen
|
1.97 |
| 22-Feb-2017 |
hannken | Regen.
|
1.96 |
| 26-Jan-2016 |
pooka | branches: 1.96.2; 1.96.4; regen vnode interfaces
|
1.95 |
| 20-Apr-2015 |
riastradh | regen for good measure (no functional change)
|
1.94 |
| 20-Apr-2015 |
riastradh | Make VOP_LINK return directory still locked and referenced.
Ride 7.99.10 bump.
|
1.93 |
| 25-Jul-2014 |
dholland | branches: 1.93.4; Regen for VOP_FALLOCATE/VOP_FDISCARD.
|
1.92 |
| 07-Feb-2014 |
hannken | branches: 1.92.2; 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
|
1.91 |
| 23-Jan-2014 |
hannken | Change vnode operations create, mknod, mkdir and symlink to return the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
|
1.90 |
| 17-Jan-2014 |
hannken | 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
|
1.89 |
| 17-Jul-2013 |
pooka | regen
|
1.88 |
| 11-Jul-2011 |
hannken | branches: 1.88.2; 1.88.12; 1.88.16; 1.88.24; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
- change all occurences of VOP_BWRITE(bp) to VOP_BWRITE(bp->b_vp, bp). - remove layer_bwrite(). - welcome to 5.99.55
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
1.87 |
| 04-Jul-2011 |
manu | Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the filesystem in which format extended attribute shall be listed.
There are currently two formats: - NUL-terminated strings, used for listxattr(2), this is the default. - one byte length-pprefixed, non NUL-terminated strings, used for extattr_list_file(2), which is obtanined by setting the EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9)
This approach avoid the need for converting the list back and forth, except in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may have requested EXTATTR_LIST_PREFIXLEN.
|
1.86 |
| 06-Mar-2011 |
bouyer | merge the bouyer-quota2 branch. This adds a new on-disk format to store disk quota usage and limits, integrated with ffs metadata. Usage is checked by fsck_ffs (no more quotacheck) and is covered by the WAPBL journal. Enabled with kernel option QUOTA2 (added where QUOTA was enabled in kernel config files), turned on with tunefs(8) on a per-filesystem basis. mount_mfs(8) can also turn quotas on.
See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html for details.
|
1.85 |
| 24-Jun-2010 |
hannken | branches: 1.85.2; 1.85.4; 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.
|
1.84 |
| 14-Apr-2010 |
pooka | regen: rump vnodeif went on a diet
|
1.83 |
| 14-Apr-2010 |
pooka | regenefactor for comment and whitespace changes
|
1.82 |
| 10-Apr-2010 |
pooka | regen: remove unused vdesc_transports
|
1.81 |
| 29-Sep-2009 |
pooka | branches: 1.81.2; 1.81.4; regen: remove VNODE_LOCKDEBUG
|
1.80 |
| 17-Nov-2008 |
pooka | reregen to get those most important rcsids right
|
1.79 |
| 17-Nov-2008 |
pooka | regen
|
1.78 |
| 31-Jul-2008 |
simonb | branches: 1.78.2; 1.78.4; Remove needless white-space change that crept in through wapbl branch merge.
|
1.77 |
| 31-Jul-2008 |
simonb | Merge the simonb-wapbl branch. From the original branch commit:
Add Wasabi System's WAPBL (Write Ahead Physical Block Logging) journaling code. Originally written by Darrin B. Jewell while at Wasabi and updated to -current by Antti Kantee, Andy Doran, Greg Oster and Simon Burge.
OK'd by core@, releng@.
|
1.76 |
| 25-Jan-2008 |
ad | branches: 1.76.6; 1.76.10; 1.76.14; 1.76.16; Regen.
|
1.75 |
| 02-Jan-2008 |
ad | Regen.
|
1.74 |
| 26-Nov-2007 |
pooka | branches: 1.74.2; 1.74.6; regen: remove struct lwp as a parameter to VOPs
|
1.73 |
| 26-Nov-2007 |
pooka | 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
|
1.72 |
| 06-Nov-2007 |
ad | Regen.
|
1.71 |
| 10-Oct-2007 |
ad | branches: 1.71.2; 1.71.4; Merge from vmlocking:
- Split vnode::v_flag into three fields, depending on field locking. - simple_lock -> kmutex in a few places. - Fix some simple locking problems.
|
1.70 |
| 27-Jul-2007 |
pooka | branches: 1.70.4; 1.70.6; 1.70.8; 1.70.10; regen: VOP_MMAP fflags -> prot
|
1.69 |
| 22-Jul-2007 |
pooka | regen: assert that vnode creating operations set the size
|
1.68 |
| 09-Apr-2007 |
gdt | branches: 1.68.4; regen (changes in RCS Ids only)
|
1.67 |
| 30-Nov-2006 |
pooka | branches: 1.67.4; 1.67.8; 1.67.10; regen for VOP_FOO_DESCOFFSET change in vnode_if.sh
|
1.66 |
| 13-Jul-2006 |
martin | branches: 1.66.4; 1.66.6; Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ, version the getfh(2) syscall and explicitly pass the size available in the filehandle from userland.
Discussed on tech-kern, with lots of help from yamt (thanks!).
|
1.65 |
| 14-May-2006 |
elad | branches: 1.65.4; integrate kauth.
|
1.64 |
| 04-May-2006 |
perseant | Regen after making VOP_FCNTL take an unlocked vnode.
|
1.63 |
| 30-Dec-2005 |
yamt | branches: 1.63.4; 1.63.6; 1.63.8; 1.63.10; 1.63.12; regen.
|
1.62 |
| 11-Dec-2005 |
skrll | Get correct Ids after ktrace-lwp merge.
|
1.61 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.60 |
| 07-Dec-2005 |
thorpej | Regen: Generate ANSI function decls.
|
1.59 |
| 07-Dec-2005 |
thorpej | Regen: VNODE_OP_NOINLINE is gone.
|
1.58 |
| 29-Nov-2005 |
yamt | regen to revert the previous.
|
1.57 |
| 29-Nov-2005 |
yamt | merge yamt-readahead branch.
|
1.56 |
| 02-Nov-2005 |
yamt | branches: 1.56.2; regen.
|
1.55 |
| 02-Nov-2005 |
yamt | merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
1.54 |
| 08-Oct-2005 |
isaki | branches: 1.54.2; regen.
|
1.53 |
| 26-Feb-2005 |
perry | branches: 1.53.4; regen
|
1.52 |
| 26-Feb-2005 |
perry | regen
|
1.51 |
| 02-Jan-2005 |
thorpej | branches: 1.51.2; 1.51.4; Regen for extended attribute VOPs.
|
1.50 |
| 21-Sep-2004 |
thorpej | Regenerate for VNODE_LOCKDEBUG changes.
|
1.49 |
| 10-Sep-2004 |
yamt | regen.
|
1.48 |
| 27-May-2004 |
yamt | regen.
|
1.47 |
| 25-Jan-2004 |
hannken | Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
VOP_STRATEGY(bp) is replaced by one of two new functions:
- VOP_STRATEGY(vp, bp) Call the strategy routine of vp for bp. - DEV_STRATEGY(bp) Call the d_strategy routine of bp->b_dev for bp.
DEV_STRATEGY(bp) is used only for block-to-block device situations.
|
1.46 |
| 25-Jan-2004 |
hannken | Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
|
1.45 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.44 |
| 29-Jun-2003 |
fvdl | branches: 1.44.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.43 |
| 28-Jun-2003 |
darrenr | 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
|
1.42 |
| 10-Apr-2003 |
jdolecek | regen: 'tvp' in vop_rename needs to be vput(), not vrele()d, so adjust the definition here to match current reality okayed by Bill Studenmund
|
1.41 |
| 21-Mar-2003 |
dsl | Use 'void *' instead of 'caddr_t' in prototypes of VOP_IOCTL, VOP_FCNTL and VOP_ADVLOCK, delete casts from callers (and some to copyin/out).
|
1.40 |
| 23-Oct-2002 |
jdolecek | regen: kqueue branch merge, addition of VOP_KQFILTER()
|
1.39 |
| 12-Nov-2001 |
lukem | regen (for RCSID)
|
1.38 |
| 15-Sep-2001 |
chs | branches: 1.38.2; regen
|
1.37 |
| 24-Jul-2001 |
assar | branches: 1.37.2; change vop_symlink and vop_mknod to return vpp (the created node) refed, so that the caller can actually use it. update callers and file systems that implement these vnode operations
|
1.36 |
| 26-May-2001 |
chs | branches: 1.36.2; regen.
|
1.35 |
| 26-May-2001 |
chs | replace vm_page_t with struct vm_page *.
|
1.34 |
| 07-May-2001 |
lukem | regen from vnode_if.sh rev 1.29
|
1.33 |
| 22-Jan-2001 |
jdolecek | branches: 1.33.2; regen: *_desc are generated correctly, new VNODE_OPS_COUNT, structures constified
|
1.32 |
| 19-Jan-2001 |
martin | Regen after de-const-ing.
|
1.31 |
| 18-Jan-2001 |
jdolecek | constify
|
1.30 |
| 22-Dec-2000 |
fvdl | Regen.
|
1.29 |
| 22-Dec-2000 |
mrg | regen
|
1.28 |
| 22-Dec-2000 |
mrg | regen
|
1.27 |
| 22-Dec-2000 |
mrg | avoid redefinition of VNODE_OP_NOINLINE
|
1.26 |
| 27-Nov-2000 |
chs | regen.
|
1.25 |
| 19-Sep-2000 |
fvdl | Regen.
|
1.24 |
| 13-Sep-2000 |
thorpej | Regen: VNODE_OP_NOINLINE vs. LKM.
|
1.23 |
| 13-Sep-2000 |
thorpej | Regen for VNODE_OP_NOINLINE.
|
1.22 |
| 13-May-2000 |
perseant | branches: 1.22.4; Change the sementics of the last parameter from a boolean ("waitfor") to a set of flags ("flags"). Two flags are defined, UPDATE_WAIT and UPDATE_DIROP.
Under the old semantics, VOP_UPDATE would block if waitfor were set, under the assumption that directory operations should be done synchronously. At least LFS and FFS+softdep do not make this assumption; FFS+softdep got around the problem by enclosing all relevant calls to VOP_UPDATE in a "if(!DOINGSOFTDEP(vp))", while LFS simply ignored waitfor, one of the reasons why NFS-serving an LFS filesystem did not work properly.
Under the new semantics, the UPDATE_DIROP flag is a hint to the fs-specific update routine that the call comes from a dirop routine, and should be wait for, or not, accordingly.
Closes PR#8996.
|
1.21 |
| 07-Dec-1999 |
thorpej | Regen.
|
1.20 |
| 07-Dec-1999 |
wrstuden | Regen.
|
1.19 |
| 15-Nov-1999 |
fvdl | Add Kirk McKusick's soft updates code to the trunk. Not enabled by default, as the copyright on the main file (ffs_softdep.c) is such that is has been put into gnusrc. options SOFTDEP will pull this in. This code also contains the trickle syncer.
Bump version number to 1.4O
|
1.18 |
| 03-Aug-1999 |
wrstuden | branches: 1.18.2; 1.18.4; 1.18.8; Regen for revision: 1.19 of vnode_if.src.
|
1.17 |
| 07-Jul-1999 |
wrstuden | Regen to reflect WILLPUT & WILLUNLOCK syntax.
|
1.16 |
| 21-Jun-1999 |
sommerfeld | regen (no actual change, but comments in the master file changed)
|
1.15 |
| 22-Mar-1999 |
sommerfe | branches: 1.15.4; Regen files based on changes to syscalls.master, vnode_if.src (latter was changes to comments only, but..) Build vfs_getcwd.c as standard part of kernel. Add implementation of fchroot(), since two emulations already had it. Call vn_isunder() in fchdir(), chroot(), and fchroot() to make it harder to escape chroot().
|
1.14 |
| 13-Sep-1998 |
christos | branches: 1.14.2; Regen
|
1.13 |
| 30-Jul-1998 |
mycroft | branches: 1.13.2; Regen.
|
1.12 |
| 05-Jun-1998 |
kleink | Regen: fsync argument change.
|
1.11 |
| 01-Mar-1998 |
fvdl | Regen.
|
1.10 |
| 01-Mar-1998 |
fvdl | Merge with Lite2 + local changes
|
1.9 |
| 09-Jan-1998 |
thorpej | Regen.
|
1.8 |
| 08-Jan-1998 |
thorpej | Regen: Back out RCS ID related changes.
|
1.7 |
| 05-Jan-1998 |
perry | regened with RCSIDs in place
|
1.6 |
| 10-Oct-1997 |
fvdl | Regen.
|
1.5 |
| 07-Jul-1997 |
cgd | branches: 1.5.2; update for new vnode_if.sh
|
1.4 |
| 22-Jan-1997 |
mikel | regen
|
1.3 |
| 07-Sep-1996 |
mycroft | Regen.
|
1.2 |
| 11-May-1996 |
mycroft | Regen.
|
1.1 |
| 29-Feb-1996 |
cgd | Do not build vnode_if.[ch] for each kernel. Build them once, like the various syscall sources/headers, and just compile them. From PR 2142, OK'd by mycroft. (These are now generated files.)
|
1.5.2.1 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.13.2.2 |
| 30-Jul-1998 |
mycroft | Regen.
|
1.13.2.1 |
| 30-Jul-1998 |
mycroft | file vnode_if.c was added on branch eeh-paddr_t on 1998-07-30 00:46:28 +0000
|
1.14.2.1 |
| 09-Nov-1998 |
chs | initial snapshot. lots left to do.
|
1.15.4.6 |
| 09-Aug-1999 |
chs | create a new type "voff_t" for uvm_object offsets and define it to be "off_t". also, remove pgo_asyncget().
|
1.15.4.5 |
| 02-Aug-1999 |
thorpej | Regen.
|
1.15.4.4 |
| 31-Jul-1999 |
chs | VOP_BALLOC() now allocates a range instead of just one block.
|
1.15.4.3 |
| 04-Jul-1999 |
chs | add VOP_BALLOC().
|
1.15.4.2 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
1.15.4.1 |
| 07-Jun-1999 |
chs | merge everything from chs-ubc branch.
|
1.18.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.18.4.1 |
| 19-Oct-1999 |
fvdl | Bring in Kirk McKusick's FFS softdep code on a branch.
|
1.18.2.4 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.18.2.3 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.18.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.18.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.22.4.1 |
| 14-Dec-2000 |
he | Pull up regenerated files (requested by fvdl): Improve NFS performance, possibly with as much as 100% in throughput. Please note: this implies a kernel interface change, VOP_FSYNC gains two arguments.
|
1.33.2.5 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.33.2.4 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.33.2.3 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.33.2.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.33.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.36.2.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.36.2.1 |
| 10-Jul-2001 |
lukem | regen for vop_kqfilter
|
1.37.2.3 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.37.2.2 |
| 18-Sep-2001 |
fvdl | Do that regen thang.
|
1.37.2.1 |
| 18-Sep-2001 |
fvdl | Various changes to make cloning devices possible:
* Add an extra argument (struct vnode **) to VOP_OPEN. If it is not NULL, specfs will create a cloned (aliased) vnode during the call, and return it there. The caller should release and unlock the original vnode if a new vnode was returned. The new vnode is returned locked.
* Add a flag field to the cdevsw and bdevsw structures. DF_CLONING indicates that it wants a new vnode for each open (XXX is there a better way? devprop?)
* If a device is cloning, always call the close entry point for a VOP_CLOSE.
Also, rewrite cons.c to do the right thing with vnodes. Use VOPs rather then direct device entry calls. Suggested by mycroft@
Light to moderate testing done an i386 system (arch doesn't matter though, these are MI changes).
|
1.38.2.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.44.2.9 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.44.2.8 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.44.2.7 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.44.2.6 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.44.2.5 |
| 24-Sep-2004 |
skrll | Sync with HEAD.
|
1.44.2.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.44.2.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.44.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.44.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.51.4.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.51.2.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.53.4.8 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.53.4.7 |
| 21-Jan-2008 |
yamt | sync with head
|
1.53.4.6 |
| 07-Dec-2007 |
yamt | sync with head
|
1.53.4.5 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.53.4.4 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.53.4.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.53.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.53.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.54.2.1 |
| 20-Oct-2005 |
yamt | regen.
|
1.56.2.2 |
| 18-Nov-2005 |
yamt | - associate read-ahead context to vnode, rather than file. - revert VOP_READ prototype.
|
1.56.2.1 |
| 15-Nov-2005 |
yamt | regen.
|
1.63.12.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.63.10.2 |
| 11-May-2006 |
elad | sync with head
|
1.63.10.1 |
| 08-Mar-2006 |
elad | Regen for kernel authorization KPI.
|
1.63.8.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.63.8.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.63.6.1 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.63.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.65.4.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.66.6.1 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.66.4.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.67.10.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.67.8.7 |
| 16-Sep-2007 |
ad | Checkpoint work in progress on the vnode lifecycle and reference counting stuff. This makes it work properly without kernel_lock and fixes a few quite old bugs. See vfs_subr.c 1.283.2.17 for details.
|
1.67.8.6 |
| 21-Aug-2007 |
ad | Add a per-mount flag that specifies whether the underlying file system code is MP safe, and populate a per-vnode flag from this at vnode creation time. If the file system is MP safe, do not acquire kernel_lock in the VOP wrappers.
|
1.67.8.5 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.67.8.4 |
| 15-Jul-2007 |
ad | Revert unintentionally committed change.
|
1.67.8.3 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.67.8.2 |
| 17-Jun-2007 |
ad | - Increase the number of thread priorities from 128 to 256. How the space is set up is to be revisited. - Implement soft interrupts as kernel threads. A generic implementation is provided, with hooks for fast-path MD code that can run the interrupt threads over the top of other threads executing in the kernel. - Split vnode::v_flag into three fields, depending on how the flag is locked (by the interlock, by the vnode lock, by the file system). - Miscellaneous locking fixes and improvements.
|
1.67.8.1 |
| 21-Mar-2007 |
ad | Acquire the kernel lock in the VOP_* wrappers and the socket ops.
|
1.67.4.1 |
| 15-Apr-2007 |
yamt | sync with head.
|
1.68.4.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.70.10.2 |
| 27-Jul-2007 |
pooka | regen: VOP_MMAP fflags -> prot
|
1.70.10.1 |
| 27-Jul-2007 |
pooka | file vnode_if.c was added on branch matt-mips64 on 2007-07-27 08:27:39 +0000
|
1.70.8.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.70.6.4 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.70.6.3 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.70.6.2 |
| 08-Nov-2007 |
matt | sync with -HEAD
|
1.70.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.70.4.3 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.70.4.2 |
| 11-Nov-2007 |
joerg | Sync with HEAD.
|
1.70.4.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.71.4.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.71.4.2 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.71.4.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.71.2.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.74.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.74.2.2 |
| 28-Dec-2007 |
ad | Make rump build.
|
1.74.2.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.76.16.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.76.16.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.76.14.1 |
| 10-Jun-2008 |
simonb | Initial commit of Wasabi System's WAPBL (Write Ahead Physical Block Logging) journaling code. Originally written by Darrin B. Jewell while at Wasabi and updated to -current by Antti Kantee, Andy Doran, Greg Oster and Simon Burge.
Still a number of issues - look in doc/BRANCHES for "simonb-wapbl" for more info.
|
1.76.10.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.76.10.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.76.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.76.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.76.6.1 |
| 02-Jul-2008 |
mjf | Sync with HEAD.
|
1.78.4.1 |
| 17-Jul-2011 |
riz | Pull up following revision(s) (requested by manu in ticket #1645): lib/libc/sys/Makefile.inc 1.207 via patch lib/libc/sys/extattr_get_file.2 patch lib/libpuffs/dispatcher.c 1.34,1.36 via patch lib/libpuffs/puffs.c 1.107 via patch lib/libpuffs/puffs.h 1.115,1.118 via patch sys/fs/puffs/puffs_msgif.h 1.71,1.76 via patch sys/fs/puffs/puffs_vfsops.c 1.88 via patch sys/fs/puffs/puffs_vnops.c 1.145,1.154 via patch sys/kern/vfs_xattr.c 1.24-1.27 via patch sys/kern/vnode_if.c 1.87 via patch sys/sys/Makefile 1.133 via patch sys/sys/extattr.h 1.6 via patch sys/sys/vnode_if.h 1.81 via patch sys/ufs/ffs/ffs_vnops.c patch sys/ufs/ufs/ufs_extattr.c 1.31,1.34 via patch
* support extended attributes * bump major due to structure growth * add some spare space * remove ABI sillyness Support extended attributes. Fix multiple non compliances in our Linux-like extattr API, and make it public so that it can be used. Improve a bit listxattr(2). It attemps to list both system and user extended attributes, and it faled if calling user did not have privilege for reading system EA. Now we just lise user EA and skip system EA in reading them is not allowed. Fix bug introduced in previous commuit: Do not vrele() a vnode we did not obtained. Improve UFS1 extended attributes usability - autocreate attribute backing file for new attributes - autoload attributes when issuing extattrctl start - when autoloading attributes, do not display garbage warning when looking up entries that got ENOENT Add a flag to VOP_LISTEXTATTR(9) so that the vnode interface can tell the filesystem in which format extended attribute shall be listed. There are currently two formats: - NUL-terminated strings, used for listxattr(2), this is the default. - one byte length-pprefixed, non NUL-terminated strings, used for extattr_list_file(2), which is obtanined by setting the EXTATTR_LIST_PREFIXLEN flag to VOP_LISTEXTATTR(9) This approach avoid the need for converting the list back and forth, except in libperfuse, since FUSE uses NUL-terminated strings, and the kernel may have requested EXTATTR_LIST_PREFIXLEN.
|
1.78.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.81.4.3 |
| 21-Apr-2011 |
rmind | sync with head
|
1.81.4.2 |
| 03-Jul-2010 |
rmind | sync with head
|
1.81.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.81.2.2 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.81.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.85.4.1 |
| 20-Jan-2011 |
bouyer | Snapshot of work in progress on a modernised disk quota system: - new quotactl syscall (versionned for backward compat), which takes as parameter a path to a mount point, and a prop_dictionary (in plistref format) describing commands and arguments. For each command, status and data are returned as a prop_dictionary. quota commands features will be added to take advantage of this, exporting quota data or getting quota commands as plists.
- new on disk-format storage (all 64bit wide), integrated to metadata for ffs (and playing nicely with wapbl). Quotas are enabled on a ffs filesystem via superblock flags. tunefs(8) can enable or disable quotas. On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid block and inode usages, and will check and update quotas in Pass 6. quota usage and limits are stored in unliked files (one for users, one for groups)l fsck_ffs(8) will create the files if needed, or free them if needed. This means that after enabling or disabling quotas on a filesystem; a fsck_ffs(8) run is required. quotacheck(8) is not needed any more, on a unclean shutdown fsck or journal replay will take care of fixing quotas. newfs(8) can create a ready-to-mount quota-enabled filesystem (superblock flags are set and quota inodes are created). Other new features or semantic changes: - default quota datas, applied to users or groups which don't already have a quota entry - per-user/group grace time (instead of a filesystem global one) - 0 really means "nothing allowed at all", not "no limit". If you want "no limit", set the limit to UQUAD_MAX (tools will understand "unlimited" and "-")
A quota file is structured as follow: it starts with a header, containing a few per-filesystem values, and the default quota limits. Quota entries are linked together as a simple list, each entry has a pointer (as an offset withing the file) to the next. The header has a pointer to a list of free quota entries, and a hash table of in-use entries. The size of the hash table depends on the filesystem block size (header+hash table should fit in the first block). The file is not sparse and is a multiple of filesystem block size (when the free quota entry list is empty a new filesystem block is allocated). quota entries to not cross filesystem block boundaries.
In memory, the kernel keeps a cache of recently used quota entries as a reference to the block number, and offset withing the block. The quota entry itself is keept in the buf cache.
fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with related atf tests :) The kernel can update disk usage and report it via quotactl(2).
Todo: enforce quotas limits (limits are not checked by kernel yet) update repquota, edquota and rpc.rquotad to the new world implement compat_50_quotactl ioctl. update quotactl(2) man page
fsck_ffs required fixes so that allocating new blocks or inodes will properly update the superblock and cg sumaries. This was not an issue up to now because superblock and cg sumaries check happened last, but now allocations or frees can happen in pass 6.
|
1.85.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.88.24.1 |
| 23-Jul-2013 |
riastradh | sync with HEAD
|
1.88.16.2 |
| 18-May-2014 |
rmind | sync with head
|
1.88.16.1 |
| 28-Aug-2013 |
rmind | sync with head
|
1.88.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.88.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.88.2.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.92.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.93.4.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.93.4.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.96.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.96.2.2 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.96.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.104.2.3 |
| 14-Oct-2019 |
martin | regen (for ticket #1405)
|
1.104.2.2 |
| 25-Jul-2017 |
snj | regen for ticket 130
|
1.104.2.1 |
| 04-Jun-2017 |
bouyer | pullup the following revisions, requested by hannken in ticket #2: src/share/man/man9/fstrans.9 1.25 src/sys/kern/vfs_mount.c 1.66 src/sys/kern/vfs_subr.c 1.468 src/sys/kern/vfs_trans.c 1.46 src/sys/kern/vfs_vnode.c 1.94, 1.95, 1.96 src/sys/kern/vnode_if.c 1.105, 1.106 src/sys/kern/vnode_if.sh 1.65, 1.66 src/sys/kern/vnode_if.src 1.76 src/sys/miscfs/genfs/genfs_io.c 1.69 src/sys/miscfs/genfs/genfs_vnops.c 1.196, 1.197 src/sys/miscfs/genfs/layer_extern.h 1.40 src/sys/miscfs/genfs/layer_vfsops.c 1.51 src/sys/miscfs/genfs/layer_vnops.c 1.67 src/sys/miscfs/nullfs/null_vnops.c 1.42 src/sys/miscfs/overlay/overlay_vnops.c 1.24 src/sys/miscfs/umapfs/umap_vnops.c 1.60 src/sys/rump/include/rump/rumpvnode_if.h 1.29, 1.30 src/sys/rump/librump/rumpkern/emul.c 1.182 src/sys/rump/librump/rumpvfs/rumpvnode_if.c 1.29, 1.30 src/sys/sys/fstrans.h 1.11 src/sys/sys/vnode.h 1.278 src/sys/sys/vnode_if.h 1.100, 1.101 src/sys/sys/vnode_impl.h 1.14, 1.15 src/sys/ufs/lfs/lfs_pages.c 1.12
Vnode state, lock and fstrans cleanup: - Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.
- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.
- Cleanup the genfs lock operations.
- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.
- Remove the lock type argument from fstrans_start and fstrans_start_nowait, remove now unused FSTRANS state "FSTRANS_SUSPENDING".
|
1.107.10.2 |
| 19-May-2020 |
martin | Pull up following revision(s) (requested by hannken in ticket #917):
sys/kern/vnode_if.src: revision 1.80 sys/kern/vnode_if.c: revision 1.112
VOP_STRATEGY() may still deadlock with devices.
Change FSTRANS from LAZY to NO.
Regen.
|
1.107.10.1 |
| 15-Oct-2019 |
martin | Regen (for ticket #307)
|
1.107.6.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.107.6.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.109.2.2 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.109.2.1 |
| 18-Jan-2020 |
ad | Regen.
|
1.112.6.1 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|
1.118.4.1 |
| 21-Jun-2023 |
martin | Regen (ticket #197)
|