History log of /src/sys/ufs/ext2fs/ext2fs_vnops.c |
Revision | | Date | Author | Comments |
1.139 |
| 29-Jan-2024 |
christos | PR/57889: Ricardo Branco: ext2fs does not have user immutable and append file flags, only system ones. Restrict those to the superuser. Before the behavior was controlled by EXT2FS_SYSTEM_FLAGS. Make that behavior the default.
|
1.138 |
| 26-Aug-2023 |
riastradh | ext2fs: Nix trailing whitespace.
|
1.137 |
| 27-Mar-2022 |
christos | add a kauth vnode check for creating links
|
1.136 |
| 20-Oct-2021 |
thorpej | 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.135 |
| 18-Jul-2021 |
dholland | Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
|
1.134 |
| 18-Jul-2021 |
dholland | Use macros for the canned parts of device and fifo vnode op tables.
Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain the portion of the vnode ops table declaration that is (conservatively) the same in every fs. Use these in every fs that supports devices and/or fifos with separate ops tables.
Note that ptyfs works differently (it has one type of vnode with open-coded dispatch to the specfs code, which I haven't changed in this commit) and rump/librump/rumpvfs/rumpfs.c has an indirect dynamic dispatch that already does more or less the same thing, which I also haven't changed.
Also note that this anticipates a few bits in the next changeset here and there, and adds missing but unreachable calls in some cases (e.g. most fses weren't defining whiteout on devices and fifos, but it isn't reachable there), and it changes parsepath on devices and fifos to genfs_badop from genfs_parsepath (but it's not reachable there either).
It appears that devices in kernfs were missing kqfilter, so it's possible that if you try to use kqueue on /kern/rootdev that it'll explode.
And finally note that the ops declaration tables aren't order-dependent. (Other than vop_default_desc has to come first.) Otherwise this wouldn't work.
|
1.133 |
| 29-Jun-2021 |
dholland | - 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.
|
1.132 |
| 16-May-2020 |
christos | branches: 1.132.6; Add ACL support for FFS. From FreeBSD.
|
1.131 |
| 08-Mar-2020 |
kamil | Perform bit operations on unsigned integer
ext2fs_vnops.c:1002:2, signed integer overflow: 510008 * 4294 cannot be represented in type 'int
Maximum usec * 4294 is in the range of unsigned int.
>>> 1000000*4294 4294000000 >>> 2**32 4294967296
Patch submitted by Nisarg S. Joshi.
|
1.130 |
| 18-Sep-2019 |
christos | Add newly created vnodes to the namei cache. The rest of the filesystems already did that (or they don't support writing). Discussed in tech-kern.
|
1.129 |
| 01-Jan-2019 |
hannken | Add "void *extra" argument to vcache_new() so a file system may pass more information about the file to create.
Welcome to 8.99.30
|
1.128 |
| 28-May-2017 |
hannken | branches: 1.128.8; 1.128.10; Change ext2fs to use vcache_new like we did for ffs: - Change ext2fs_valloc to return an inode number. - Make ext2fs_makeinode private to ext2fs_vnops.c and pass vattr instead of mode.
|
1.127 |
| 26-May-2017 |
riastradh | 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.
|
1.126 |
| 26-Apr-2017 |
riastradh | Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.
No change to vp -- the plan is to replace the node by the componentname in the vop parameters, and let all directory vops do lookups internally.
Proposed on tech-kern with no objections: https://mail-index.netbsd.org/tech-kern/2017/04/17/msg021825.html
|
1.125 |
| 15-Aug-2016 |
jdolecek | bump link limit to 65000 for files, and add support for EXT2F_ROCOMPAT_DIR_NLINK to make link count unlimited for directories
|
1.124 |
| 15-Aug-2016 |
jdolecek | adjust ext2fs_makeinode() so that the direnter is optional, use the function (with the direnter off) in ext2fs_mkdir() instead of the code copy; adjust ext2fs_makeinode() to initialize extra_isize and set creation time, if supported by the filesystem
|
1.123 |
| 14-Aug-2016 |
jdolecek | switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
1.122 |
| 13-Aug-2016 |
christos | KNF, no functional changes...
|
1.121 |
| 12-Aug-2016 |
jdolecek | add support for extended attributes in ext2fs for ext3/ext4; read-only for now
|
1.120 |
| 05-Aug-2016 |
jdolecek | PR kern/7867 add support for UF_NODUMP flag to ext2fs
|
1.119 |
| 03-Aug-2016 |
jdolecek | get and set expanded timestamp if the inode contains the extra information, add support for create time
|
1.118 |
| 03-Aug-2016 |
jdolecek | support arbitrary ext3/ext4 inode size, add all the new ext4 fields ext2fs_dinode, and add support for loading the extra inode data
|
1.117 |
| 20-Apr-2015 |
riastradh | branches: 1.117.2; Make VOP_LINK return directory still locked and referenced.
Ride 7.99.10 bump.
|
1.116 |
| 27-Mar-2015 |
riastradh | Disentangle buffer-cached I/O from page-cached I/O in UFS.
Page-cached I/O is used for regular files, and is initiated by VFS users such as userland and NFS.
Buffer-cached I/O is used for directories and symlinks, and is issued only internally by UFS.
New UFS routine ufs_bufio replaces vn_rdwr for internal use. ufs_bufio is implemented by new UFS operations uo_bufrd/uo_bufwr, which sit in ufs_readwrite.c alongside the VOP_READ/VOP_WRITE implementations.
I preserved the code as much as possible and will leave further simplification for future commits. I kept the ulfs_readwrite.c copypasta close to ufs_readwrite.c in case we ever want to merge them back; likewise ext2fs_readwrite.c.
No externally visible semantic change. All atf fs tests still pass.
|
1.115 |
| 09-Nov-2014 |
maxv | branches: 1.115.2; Do not uselessly include <sys/malloc.h>.
|
1.114 |
| 18-Oct-2014 |
snj | src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.113 |
| 25-Jul-2014 |
dholland | branches: 1.113.2; 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.
|
1.112 |
| 25-May-2014 |
hannken | ext2fs_mknod: use vcache_get() to reload the new node.
|
1.111 |
| 24-Mar-2014 |
hannken | branches: 1.111.2; - Make VI_XLOCK, VI_CLEAN and VI_LOCKSHARE private to kern/vfs_*.c. - Make vwait() static. - Add vdead_check() to check a vnode for being or becoming dead.
Discussed on tech-kern.
Welcome to 6.99.38
|
1.110 |
| 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.109 |
| 21-Jan-2014 |
hannken | Move VOP_UNLOCK() after setting type to VNON like all other UFS file systems.
|
1.108 |
| 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.107 |
| 18-Mar-2013 |
plunky | branches: 1.107.6; C99 section 6.7.2.3 (Tags) Note 3 states that:
A type specifier of the form
enum identifier
without an enumerator list shall only appear after the type it specifies is complete.
which means that we cannot pass an "enum vtype" argument to kauth_access_action() without fully specifying the type first. Unfortunately there is a complicated include file loop which makes that difficult, so convert this minimal function into a macro (and capitalize it).
(ok elad@)
|
1.106 |
| 22-Jan-2013 |
dholland | Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
1.105 |
| 21-Nov-2012 |
jakllsch | Write support for the Ext4 Read-only Compatible Feature "huge_file".
Primarily, this feature extends the inode block count field to 48 bits. Additionally, this feature allows this field to be represented in file system block size units rather than DEV_BSIZE units.
|
1.104 |
| 09-May-2012 |
riastradh | branches: 1.104.2; Adapt ffs, lfs, and ext2fs to use genfs_rename.
ok dholland, rmind
|
1.103 |
| 29-Apr-2012 |
chs | change vflushbuf() to take the full FSYNC_* flags. translate FSYNC_LAZY into PGO_LAZY for VOP_PUTPAGES() so that genfs_do_io() can set the appropriate io priority for the I/O. this is the first part of addressing PR 46325.
|
1.102 |
| 13-Mar-2012 |
elad | Replace the remaining KAUTH_GENERIC_ISSUSER authorization calls with something meaningful. All relevant documentation has been updated or written.
Most of these changes were brought up in the following messages:
http://mail-index.netbsd.org/tech-kern/2012/01/18/msg012490.html http://mail-index.netbsd.org/tech-kern/2012/01/19/msg012502.html http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012728.html
Thanks to christos, manu, njoly, and jmmv for input.
Huge thanks to pgoyette for spinning these changes through some build cycles and ATF.
|
1.101 |
| 18-Nov-2011 |
christos | branches: 1.101.4; 1.101.6; Obey MNT_RELATIME, the only addition is that mkdir in ufs sets IN_ACCESS too.
|
1.100 |
| 12-Jul-2011 |
dholland | branches: 1.100.2; Pass the ufs_lookup_results pointer around instead of fetching it from the inode in the guts of ufs. Now, in VOPs where i_crap is used it is used (directly) only immediately on entry to the VOP call and then passed around by reference.
Except for rename, which needs explicit sorting out. The code in ufs_wapbl_rename is unchanged in behavior but I'm increasingly inclined to think it's wrong.
|
1.99 |
| 26-Apr-2011 |
hannken | Change vflushbuf() to return an error if a synchronous write fails.
Welcome to 5.99.51.
|
1.98 |
| 24-Apr-2011 |
rmind | sys_link: prevent hard links on directories (cross-mount operations are already prevented). File systems are no longer responsible to check this. Clean up and add asserts (note that dvp == vp cannot happen in vop_link).
OK dholland@
|
1.97 |
| 02-Jan-2011 |
dholland | branches: 1.97.2; Remove the special refcount behavior (adding an extra reference to the parent dir) associated with SAVESTART in relookup().
Check all call sites to make sure that SAVESTART wasn't set while calling relookup(); if it was, adjust the refcount behavior. Remove related references to SAVESTART.
The only code that was reaching the extra ref was msdosfs_rename, where the refcount behavior was already fairly broken and/or gross; repair it.
Add a dummy 4th argument to relookup to make sure code that hasn't been inspected won't compile. (This will go away next time the relookup semantics change, which they will.)
|
1.96 |
| 30-Nov-2010 |
dholland | Abolish the SAVENAME and HASBUF flags. There is now always a buffer, so the path in a struct componentname is now always valid during VOP calls.
|
1.95 |
| 30-Nov-2010 |
dholland | Abolish struct componentname's cn_pnbuf. Use the path buffer in the pathbuf object passed to namei as work space instead. (For now a pnbuf pointer appears in struct nameidata, to support certain unclean things that haven't been fixed yet, but it will be going away in the future.)
This removes the need for the SAVENAME and HASBUF namei flags.
|
1.94 |
| 28-Jul-2010 |
hannken | ext2fs,ffs: free on disk inodes in the reclaim routine. Remove now unneeded vnode flag VI_FREEING.
Welcome to 5.99.38.
Ok: Andrew Doran <ad@netbsd.org>
|
1.93 |
| 24-Jun-2010 |
hannken | 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.92 |
| 29-Mar-2010 |
pooka | Stop exposing fifofs internals and leave only fifo_vnodeop_p visible.
|
1.91 |
| 21-Oct-2009 |
pooka | branches: 1.91.2; 1.91.4; update i_uid and i_gid after chown
|
1.90 |
| 19-Oct-2009 |
bouyer | Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen for the booring work !
|
1.89 |
| 12-Sep-2009 |
tsutsui | Whitespace nits.
|
1.88 |
| 03-Jul-2009 |
elad | Where possible, extract the file-system's access() routine to two internal functions: the first checking if the operation is possible (regardless of permissions), the second checking file-system permissions, ACLs, etc.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005311.html
|
1.87 |
| 23-Jun-2009 |
elad | Move the implementation of vaccess() to genfs_can_access(), in line with the other routines of the same spirit.
Adjust file-system code to use it.
Keep vaccess() for KPI compatibility and to keep element of least surprise. A "diagnostic" message warning that vaccess() is deprecated will be printed when it's used (obviously, only in DIAGNOSTIC kernels).
No objections on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/06/21/msg005310.html
|
1.86 |
| 07-May-2009 |
elad | Extract the open-coded authorization logic for chtimes() from various file-systems and put it in a single function, genfs_can_chtimes().
This also makes UDF follow the same policy as all other file-systems.
Mailing list reference:
http://mail-index.netbsd.org/tech-kern/2009/04/27/msg004951.html
|
1.85 |
| 22-Apr-2009 |
elad | Per discussion on tech-kern@:
- Replace use of label/goto with returns
- Rename, change prototype of, and move functions from vfs_subr.c to genfs_vnops.c
|
1.84 |
| 20-Apr-2009 |
elad | Refactor some duplicated file-system code.
Proposed and received no objections on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/04/18/msg004843.html
|
1.83 |
| 23-Nov-2008 |
mrg | branches: 1.83.4; add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
1.82 |
| 29-Apr-2008 |
ad | branches: 1.82.6; 1.82.8; 1.82.10; PR kern/38057 ffs makes assuptions about devvp file system PR kern/33406 softdeps get stuck in endless loop
Introduce VFS_FSYNC() and call it when syncing a block device, if it has a mounted file system.
|
1.81 |
| 25-Jan-2008 |
ad | branches: 1.81.6; 1.81.8; 1.81.10; Remove VOP_LEASE. Discussed on tech-kern.
|
1.80 |
| 24-Jan-2008 |
ad | specfs changes for PR kern/37717 (raidclose() is no longer called on shutdown). There are still problems with device access and a PR will be filed.
- Kill checkalias(). Allow multiple vnodes to reference a single device.
- Don't play dangerous tricks with block vnodes to ensure that only one vnode can describe a block device. Instead, prohibit concurrent opens of block devices. As a bonus remove the unreliable code that prevents multiple file system mounts on the same device. It's no longer needed.
- Track opens by vnode and by device. Issue cdev_close() when the last open goes away, instead of abusing vnode::v_usecount to tell if the device is open.
|
1.79 |
| 09-Jan-2008 |
ad | Go back to freeing on disk inodes in the inactive routine. It would be better not to do this, but it rules out potential side effects with softdep.
|
1.78 |
| 02-Jan-2008 |
ad | Merge vmlocking2 to head.
|
1.77 |
| 08-Dec-2007 |
pooka | branches: 1.77.4; 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.
|
1.76 |
| 26-Nov-2007 |
pooka | branches: 1.76.2; 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.75 |
| 10-Oct-2007 |
ad | branches: 1.75.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.74 |
| 04-Mar-2007 |
christos | branches: 1.74.2; 1.74.14; 1.74.16; 1.74.18; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.73 |
| 20-Feb-2007 |
ad | Call genfs_node_destroy() where appropriate.
|
1.72 |
| 04-Jan-2007 |
elad | branches: 1.72.2; Consistent usage of KAUTH_GENERIC_ISSUSER.
|
1.71 |
| 02-Jan-2007 |
elad | Add KAUTH_SYSTEM_CHSYSFLAGS so we can get rid of the last three securelevel references (ufs, ext2fs, tmpfs).
Intentionally undocumented.
|
1.70 |
| 09-Dec-2006 |
chs | 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().
|
1.69 |
| 03-Oct-2006 |
christos | branches: 1.69.2; redo previous: It is better to add a KASSERT, since this is code is same with ufs.
|
1.68 |
| 03-Oct-2006 |
christos | Coverity CID 3689: dp cannot be NULL at this point, so don't check for it.
|
1.67 |
| 23-Jul-2006 |
ad | branches: 1.67.4; 1.67.6; Use the LWP cached credentials where sane.
|
1.66 |
| 07-Jun-2006 |
kardel | merge FreeBSD timecounters from branch simonb-timecounters - struct timeval time is gone time.tv_sec -> time_second - struct timeval mono_time is gone mono_time.tv_sec -> time_uptime - access to time via {get,}{micro,nano,bin}time() get* versions are fast but less precise - support NTP nanokernel implementation (NTP API 4) - further reading: Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
|
1.65 |
| 14-May-2006 |
elad | branches: 1.65.2; integrate kauth.
|
1.64 |
| 11-Dec-2005 |
christos | branches: 1.64.4; 1.64.6; 1.64.8; 1.64.10; 1.64.12; merge ktrace-lwp.
|
1.63 |
| 02-Nov-2005 |
yamt | branches: 1.63.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
1.62 |
| 12-Sep-2005 |
christos | branches: 1.62.2; Use nanotime() to update the time fields in filesystems. Convert the code from macros to real functions. Original patch and review from chuq. Note: ext2fs only keeps seconds in the on-disk inode, and msdosfs does not have enough precision for all fields, so this is not very useful for those two.
|
1.61 |
| 30-Aug-2005 |
xtraeme | * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
1.60 |
| 28-Jun-2005 |
kml | branches: 1.60.2; Ensure that we change the size of the vnode at the same time as we change the size of the inode, and use ext2fs_size uniformly. This fixes a crash that occurs when I create a directory, then move it, all on an ext2 filesystem.
|
1.59 |
| 26-Feb-2005 |
perry | nuke trailing whitespace
|
1.58 |
| 09-Feb-2005 |
ws | Add support for large files (>2GB). Like Linux, automagically convert old filesystem to use this, if they are already at revision 1. For revision 0, just punt (unlike Linux; makes me a bit too nervous.)
There should be an option to fsck_ext2fs to upgrade revision 0 to revision 1.
Reviewd by Manuel (bouyer@).
|
1.57 |
| 21-Sep-2004 |
thorpej | branches: 1.57.4; 1.57.6; Add a new VNODE_LOCKDEBUG option, which enables checks in the VOP_*() calls to ensure that the vnode lock state is as expected when the VOP call is made. Modify vnode_if.src to set the expected state according to the documenting lock table for each VOP. Modify vnode_if.sh to emit the checks.
Notes: - The checks are only performed if the vnode has the VLOCKSWORK bit set. Some file systems (e.g. specfs) don't even bother with vnode locks, so of course the checks will fail. - We can't actually run with VNODE_LOCKDEBUG because there are so many vnode locking problems, not the least of which is the "use SHARED for VOP_READ()" issue, which screws things up for the entire call chain.
Inspired by similar changes in OpenBSD, but implemented differently.
|
1.56 |
| 17-Sep-2004 |
skrll | There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
1.55 |
| 15-Aug-2004 |
mycroft | Fixing age old cruft: * Rather than using mnt_maxsymlinklen to indicate that a file systems returns d_type fields(!), add a new internal flag, IMNT_DTYPE.
Add 3 new elements to ufsmount: * um_maxsymlinklen, replaces mnt_maxsymlinklen (which never should have existed in the first place). * um_dirblksiz, which tracks the current directory block size, eliminating the FS-specific checks littered throughout the code. This may be used later to make the block size variable. * um_maxfilesize, which is the maximum file size, possibly adjusted lower due to implementation issues.
Sync some bug fixes from FFS into ext2fs, particularly: * ffs_lookup.c 1.21, 1.28, 1.33, 1.48 * ffs_inode.c 1.43, 1.44, 1.45, 1.66, 1.67 * ffs_vnops.c 1.84, 1.85, 1.86
Clean up some crappy pointer frobnication.
|
1.54 |
| 14-Aug-2004 |
mycroft | Push atime/mtime updates even further -- into the reclaim path, so they happen rarely in the normal case. (Note: This happens at reboot/shutdown time because all file systems are unmounted.)
Also, for IN_MODIFY, use IN_ACCESSED, not IN_MODIFIED; otherwise "ls -l" of your device node or FIFO would cause the time stamps to get written too quickly.
|
1.53 |
| 22-May-2004 |
kleink | POSIX: Permit a process without the appropriate privilege to change a file's group ID to its effective gid, in addition to the presently permitted set of supplementary gids.
From Mark Davies in PR standards/25401.
|
1.52 |
| 22-Mar-2004 |
bouyer | branches: 1.52.2; Fix disclaimer in my copyright. Pointed out by Thomas Klausner.
|
1.51 |
| 05-Oct-2003 |
bouyer | Remove references to University of California from my copyright notices.
|
1.50 |
| 09-Aug-2003 |
dsl | Stop panic if 'mknod xxx b 0 0' done on a full filesystem. panics in ffs_full_fsync because v_specmountpoint requires that the NULL v_specinfo be followed. Tidy up in the same order in all error paths so compiler can merge the code sequences.
Fixes PR kern/22419
|
1.49 |
| 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.48 |
| 29-Jun-2003 |
fvdl | branches: 1.48.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.47 |
| 29-Jun-2003 |
thorpej | 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.
|
1.46 |
| 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.45 |
| 26-May-2003 |
fvdl | free the ext2fs dinode struct in ext2fs_reclaim. From Ted Unangst.
|
1.44 |
| 02-Apr-2003 |
fvdl | Add support for UFS2. UFS2 is an enhanced FFS, adding support for 64 bit block pointers, extended attribute storage, and a few other things.
This commit does not yet include the code to manipulate the extended storage (for e.g. ACLs), this will be done later.
Originally written by Kirk McKusick and Network Associates Laboratories for FreeBSD.
|
1.43 |
| 23-Oct-2002 |
jdolecek | ext2fs_remove(): use 'else' to eliminate need for goto (and improve readibility, even)
|
1.42 |
| 23-Oct-2002 |
jdolecek | 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
|
1.41 |
| 22-Sep-2002 |
jdolecek | don't need <sys/conf.h> here
|
1.40 |
| 08-Nov-2001 |
lukem | add RCSID
|
1.39 |
| 26-Oct-2001 |
lukem | remove #include <ufs/ufs/quota.h> where it was just to appease <ufs/ufs/inode.h>, since the latter now includes the former. leave the former in source that obviously uses specific bits of it (for completeness.)
|
1.38 |
| 22-Sep-2001 |
sommerfeld | branches: 1.38.2; Add fifo_putpages() placebo so that the vnode's uobj is unlocked.
|
1.37 |
| 15-Sep-2001 |
chs | a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps. this is required now, since I've removed the globals that expose the address range. pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's no longer any need to special-case it. - eliminate struct uvm_vnode by moving its fields into struct vnode. - rewrite the pageout path. the pager is now responsible for handling the high-level requests instead of only getting control after a bunch of work has already been done on its behalf. this will allow us to UBCify LFS, which needs tighter control over its pages than other filesystems do. writing a page to disk no longer requires making it read-only, which allows us to write wired pages without causing all kinds of havoc. - use a new PG_PAGEOUT flag to indicate that a page should be freed on behalf of the pagedaemon when it's unlocked. this flag is very similar to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the pageout fails due to eg. an indirect-block buffer being locked. this allows us to remove the "version" field from struct vm_page, and together with shrinking "loan_count" from 32 bits to 16, struct vm_page is now 4 bytes smaller. - no longer use PG_RELEASED for swap-backed pages. if the page is busy because it's being paged out, we can't release the swap slot to be reallocated until that write is complete, but unlike with vnodes we don't keep a count of in-progress writes so there's no good way to know when the write is done. instead, when we need to free a busy swap-backed page, just sleep until we can get it busy ourselves. - implement a fast-path for extending writes which allows us to avoid zeroing new pages. this substantially reduces cpu usage. - encapsulate the data used by the genfs code in a struct genfs_node, which must be the first element of the filesystem-specific vnode data for filesystems which use genfs_{get,put}pages(). - eliminate many of the UVM pagerops, since they aren't needed anymore now that the pager "put" operation is a higher-level operation. - enhance the genfs code to allow NFS to use the genfs_{get,put}pages instead of a modified copy. - clean up struct vnode by removing all the fields that used to be used by the vfs_cluster.c code (which we don't use anymore with UBC). - remove kmem_object and mb_object since they were useless. instead of allocating pages to these objects, we now just allocate pages with no object. such pages are mapped in the kernel until they are freed, so we can use the mapping to find the page to free it. this allows us to remove splvm() protection in several places.
The sum of all these changes improves write throughput on my decstation 5000/200 to within 1% of the rate of NetBSD 1.5 and reduces the elapsed time for "make release" of a NetBSD 1.5 source tree on my 128MB pc to 10% less than a 1.5 kernel took.
|
1.36 |
| 24-Aug-2001 |
wiz | branches: 1.36.2; heirarchy -> hierarchy
|
1.35 |
| 17-Aug-2001 |
chs | add getpages/putpages entries for spec vnodes.
|
1.34 |
| 24-Jul-2001 |
assar | 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.33 |
| 23-Mar-2001 |
fvdl | branches: 1.33.4; Same change as in the UFS code: unlock vnode before setting v_op to spec_vnode_ops. From Bill Studenmund.
|
1.32 |
| 07-Feb-2001 |
tsutsui | branches: 1.32.2; Fix nested extern declaration of prtactive.
|
1.31 |
| 22-Jan-2001 |
jdolecek | make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const
|
1.30 |
| 27-Nov-2000 |
chs | Initial integration of the Unified Buffer Cache project.
|
1.29 |
| 03-Aug-2000 |
thorpej | Convert namei pathname buffer allocation to use the pool allocator.
|
1.28 |
| 22-Jul-2000 |
jdolecek | change the lf_advlock() arguments from
int lf_advlock __P((struct lockf **, off_t, caddr_t, int, struct flock *, int)); to
int lf_advlock __P((struct vop_advlock_args *, struct lockf **, off_t));
This matches common usage and is also compatible with similar change in FreeBSD (though they use u_quad_t as last arg).
|
1.27 |
| 28-Jun-2000 |
mrg | remove include of <vm/vm.h> and <uvm/uvm_extern.h>
|
1.26 |
| 13-May-2000 |
perseant | branches: 1.26.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.25 |
| 30-Mar-2000 |
augustss | Remove register declarations.
|
1.24 |
| 22-Mar-2000 |
thorpej | Small cosmetic change.
|
1.23 |
| 28-Jan-2000 |
bouyer | Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
1.22 |
| 26-Jan-2000 |
bouyer | First cut at ext2fs rev 1 support (as of mke2fs 1.18): supports the filetype option read/write and the sparse option read-only.
|
1.21 |
| 03-Aug-1999 |
wrstuden | branches: 1.21.2; 1.21.8; 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
|
1.20 |
| 08-Jul-1999 |
wrstuden | Modify file systems to deal with struct lock in struct vnode. All leaf fs's other than nfs use genfs_lock() for locking.
Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
|
1.19 |
| 24-Mar-1999 |
mrg | branches: 1.19.4; completely remove Mach VM support. all that is left is the all the header files as UVM still uses (most of) these.
|
1.18 |
| 05-Mar-1999 |
mycroft | Pass null pointers to VOP_UPDATE rather than having all the callers fetch the current time themselves.
|
1.17 |
| 26-Feb-1999 |
mrg | pull across patches from warner losh <imp@freebsd.org> (freebsd ufs_vnops.c versions 1.109&1.110), adjusted for our ext2fs support, and also commited there also. this avoids overflowing the link count.
|
1.16 |
| 02-Dec-1998 |
bouyer | - intentation - sync LK_* flags with ffs/ufs
|
1.15 |
| 29-Sep-1998 |
bouyer | #include opt_uvm.h only if _KENREL and !_LKM Make ext2fs_init() call ufs_init(). it was doing the init by itself, testing for extern done != 0. This bug was hidden by the fact that ext2fs_init() is called before ffs_init().
|
1.14 |
| 01-Sep-1998 |
thorpej | Use the pool allocator and "nointr" pool page allocator for ext2fs inodes.
|
1.13 |
| 09-Aug-1998 |
perry | bzero->memset, bcopy->memcpy, bcmp->memcmp
|
1.12 |
| 28-Jul-1998 |
mjacob | fix to accomodate change in vn_rdwr prototype
|
1.11 |
| 24-Jun-1998 |
sommerfe | Always include fifos; "not an option any more".
|
1.10 |
| 22-Jun-1998 |
sommerfe | defopt for options FIFO
|
1.9 |
| 20-Jun-1998 |
mrg | splify UVM #ifdef.
|
1.8 |
| 01-Mar-1998 |
fvdl | Merge with Lite2 + local changes
|
1.7 |
| 10-Feb-1998 |
mrg | - add defopt's for UVM, UVMHIST and PMAP_NEW. - remove unnecessary UVMHIST_DECL's.
|
1.6 |
| 05-Feb-1998 |
mrg | initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some minor portions derived from the old Mach code. i provided some help getting swap and paging working, and other bug fixes/ideas. chuck silvers <chuq@chuq.com> also provided some other fixes.
this is the rest of the MI portion changes.
this will be KNF'd shortly. :-)
|
1.5 |
| 17-Oct-1997 |
christos | branches: 1.5.2; Add missing cast for nlink_t
|
1.4 |
| 09-Oct-1997 |
bouyer | Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern. Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses bswap32). Contribution of assembly versions of these are welcome. Add byte-swapping of ext2fs metadata for big-endian systems. Tested on i386 and sparc.
|
1.3 |
| 01-Jul-1997 |
bouyer | branches: 1.3.2; 1.3.4; Sync with ufs/ufs: Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft, via christos)
|
1.2 |
| 30-Jun-1997 |
fvdl | Return EPERM, not EISDIR for an attempt to remove a directory.
|
1.1 |
| 11-Jun-1997 |
bouyer | The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|
1.3.4.1 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.3.2.2 |
| 01-Jul-1997 |
bouyer | Sync with ufs/ufs: Avoid panic triggered by rename("foo/", "bar/..") (From Mycroft, via christos)
|
1.3.2.1 |
| 01-Jul-1997 |
bouyer | file ext2fs_vnops.c was added on branch bouyer-scsipi on 1997-07-01 07:34:04 +0000
|
1.5.2.1 |
| 06-Nov-1998 |
cgd | Show correct number of blocks used for files larger than 2GB. Fixed in trunk as part of Lite-2 merging. (cgd)
|
1.19.4.3 |
| 06-Aug-1999 |
chs | UBCify.
|
1.19.4.2 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.19.4.1 |
| 11-Jul-1999 |
chs | remove uvm_vnp_uncache(), it's no longer needed.
|
1.21.8.1 |
| 21-Dec-1999 |
wrstuden | Initial commit of recent changes to make DEV_BSIZE go away.
Runs on i386, needs work on other arch's. Main kernel routines should be fine, but a number of the stand programs need help.
cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512 byte block devices. vnd, raidframe, and lfs need work.
Non 2**n block support is automatic for LKM's and conditional for kernels on "options NON_PO2_BLOCKS".
|
1.21.2.4 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
1.21.2.3 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.21.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.21.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.26.4.2 |
| 06-Apr-2001 |
he | Pull up revision 1.33 (requested by wrstuden): Explicitly VOP_UNLOCK before setting v_op to spec_vnode_ops_p. Works around a lock leak and eventual kernel panic.
|
1.26.4.1 |
| 30-Jul-2000 |
jdolecek | Pullup from trunk (approved by thorpej): Change lf_advlock() to: int lf_advlock (struct vop_advlock_args *, struct lockf **, off_t)
This matches it's usage. Change inspired by FreeBSD, though we use off_t instead u_quad_t as the last argument.
sys/lockf.h rev. 1.9 msdosfs/msdosfs_vnops.c rev. 1.99 kern/vfs_lockf.c rev. 1.17 miscfs/specfs/spec_vnops.c rev. 1.49 nfs/nfs_vnops.c rev. 1.115 ufs/ext2fs/ext2fs_vnops.c rev. 1.28 ufs/ufs/ufs_vnops.c rev. 1.72
|
1.32.2.7 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.32.2.6 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.32.2.5 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.32.2.4 |
| 26-Sep-2001 |
nathanw | Catch up to -current. Again.
|
1.32.2.3 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.32.2.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.32.2.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.33.4.7 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.33.4.6 |
| 26-Sep-2002 |
jdolecek | add support for kevents - sprikle VN_KNOTE() and add genfs_kqfilter() to vnode ops; basically same thing as in ufs_readwrite.c and ufs_vnops.c
|
1.33.4.5 |
| 23-Sep-2002 |
jdolecek | add spec kqfilter vnode op
|
1.33.4.4 |
| 22-Sep-2002 |
jdolecek | add fifo_kqfilter() to fifo ops, to switch on support for kevents
|
1.33.4.3 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.33.4.2 |
| 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.33.4.1 |
| 03-Aug-2001 |
lukem | update to -current
|
1.36.2.2 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.36.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.48.2.11 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.48.2.10 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.48.2.9 |
| 15-Feb-2005 |
skrll | Sync with HEAD.
|
1.48.2.8 |
| 29-Oct-2004 |
skrll | Remove the struct lwp * argument from ext2f2_checkpath that is no longer (read: was never) required.
|
1.48.2.7 |
| 24-Sep-2004 |
skrll | Sync with HEAD.
|
1.48.2.6 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.48.2.5 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.48.2.4 |
| 25-Aug-2004 |
skrll | Sync with HEAD.
|
1.48.2.3 |
| 24-Aug-2004 |
skrll | 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.
|
1.48.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.48.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.52.2.1 |
| 23-May-2004 |
grant | Pull up revision 1.53 (requested by kleink in ticket #379):
POSIX: Permit a process without the appropriate privilege to change a file's group ID to its effective gid, in addition to the presently permitted set of supplementary gids.
|
1.57.6.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.57.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.57.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.60.2.8 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.60.2.7 |
| 21-Jan-2008 |
yamt | sync with head
|
1.60.2.6 |
| 07-Dec-2007 |
yamt | sync with head
|
1.60.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.60.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.60.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.60.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.60.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.62.2.1 |
| 20-Oct-2005 |
yamt | adapt ufs.
|
1.63.2.2 |
| 19-Nov-2005 |
yamt | - finish reverting VOP_READ prototype changes. - remove unused variables. - fix typos. some of them are pointed by Juan RP.
|
1.63.2.1 |
| 15-Nov-2005 |
yamt | - adapt to the new prototype of VOP_READ. - adapt ext2fs and union.
|
1.64.12.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.64.10.5 |
| 06-May-2006 |
christos | - Move kauth_cred_t declaration to <sys/types.h> - Cleanup struct ucred; forward declarations that are unused. - Don't include <sys/kauth.h> in any header, but include it in the c files that need it.
Approved by core.
|
1.64.10.4 |
| 11-Mar-2006 |
elad | When calling kauth_cred_ismember_gid(), don't return the error code if there is one, just treat it as if the check failed.
Pointed out by thorpej@.
|
1.64.10.3 |
| 11-Mar-2006 |
elad | kauth_cred_groupmember() -> kauth_cred_ismember_gid(), as requested by thorpej@ to conform to the Darwin KPI.
|
1.64.10.2 |
| 10-Mar-2006 |
elad | generic_authorize() -> kauth_authorize_generic().
|
1.64.10.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
|
1.64.8.3 |
| 11-Aug-2006 |
yamt | sync with head
|
1.64.8.2 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.64.8.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.64.6.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.64.6.1 |
| 04-Feb-2006 |
simonb | Adapt for timecounters: mostly use get*time() and use "time_second" instead of "time.tv_sec".
|
1.64.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.65.2.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.67.6.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.67.6.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.67.4.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.67.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.69.2.1 |
| 17-Feb-2007 |
tron | Apply patch (requested by chs in ticket #422): - Fix various deadlock problems with nullfs and unionfs. - Speed up path lookups by upto 25%.
|
1.72.2.2 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.72.2.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.74.18.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.74.16.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.74.16.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.74.16.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.74.14.3 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.74.14.2 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.74.14.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.74.2.3 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.74.2.2 |
| 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.
- Fix some problems with softdep. Unfortunately our softdep code appears to have some longstanding bugs that cause it fail under stress test.
|
1.74.2.1 |
| 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.75.4.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.75.4.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.75.4.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.76.2.3 |
| 30-Dec-2007 |
ad | Fix remaining problems with ext2fs on this branch.
|
1.76.2.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.76.2.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.77.4.2 |
| 10-Jan-2008 |
bouyer | Sync with HEAD
|
1.77.4.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.81.10.7 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.81.10.6 |
| 11-Mar-2010 |
yamt | sync with head
|
1.81.10.5 |
| 16-Sep-2009 |
yamt | sync with head
|
1.81.10.4 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.81.10.3 |
| 16-May-2009 |
yamt | sync with head
|
1.81.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.81.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.81.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.81.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.81.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.82.10.2 |
| 27-Oct-2009 |
bouyer | Pull up following revision(s) (requested by pooka in ticket #1112): sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.91 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.152 sys/ufs/ext2fs/ext2fs_extern.h: revision 1.42 update i_uid and i_gid after chown
|
1.82.10.1 |
| 29-Nov-2008 |
snj | branches: 1.82.10.1.4; Pull up following revision(s) (requested by mrg in ticket #147): sys/ufs/ext2fs/ext2fs_alloc.c: revision 1.37 sys/ufs/ext2fs/ext2fs_bswap.c: revision 1.14 sys/ufs/ext2fs/ext2fs_dinode.h: revision 1.17 sys/ufs/ext2fs/ext2fs_lookup.c: revision 1.56 sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.83 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.140 sys/ufs/ufs/inode.h: revision 1.55 add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
1.82.10.1.4.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.82.8.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.82.8.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.82.6.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.83.4.2 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.83.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.91.4.4 |
| 31-May-2011 |
rmind | sync with head
|
1.91.4.3 |
| 05-Mar-2011 |
rmind | sync with head
|
1.91.4.2 |
| 03-Jul-2010 |
rmind | sync with head
|
1.91.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.91.2.2 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.91.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.97.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.100.2.5 |
| 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.100.2.4 |
| 23-Jan-2013 |
yamt | sync with head
|
1.100.2.3 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.100.2.2 |
| 23-May-2012 |
yamt | sync with head.
|
1.100.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.101.6.1 |
| 07-May-2012 |
riz | Pull up following revision(s) (requested by chs in ticket #204): sys/fs/sysvbfs/sysvbfs_vnops.c: revision 1.44 sys/ufs/ffs/ffs_vfsops.c: revision 1.277 sys/fs/v7fs/v7fs_vnops.c: revision 1.11 sys/ufs/chfs/chfs_vnops.c: revision 1.7 sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.61 sys/miscfs/genfs/genfs_io.c: revision 1.54 sys/kern/vfs_wapbl.c: revision 1.52 sys/uvm/uvm_pager.h: revision 1.43 sys/ufs/ffs/ffs_vnops.c: revision 1.121 sys/kern/vfs_subr.c: revision 1.434 sys/fs/msdosfs/msdosfs_vnops.c: revision 1.83 sys/fs/ntfs/ntfs_vnops.c: revision 1.51 sys/fs/udf/udf_subr.c: revision 1.119 sys/miscfs/specfs/spec_vnops.c: revision 1.135 sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.103 sys/fs/udf/udf_vnops.c: revision 1.71 sys/ufs/ufs/ufs_readwrite.c: revision 1.104 change vflushbuf() to take the full FSYNC_* flags. translate FSYNC_LAZY into PGO_LAZY for VOP_PUTPAGES() so that genfs_do_io() can set the appropriate io priority for the I/O. this is the first part of addressing PR 46325. mark all wapbl I/O as BPRIO_TIMECRITICAL. this is the second part of addressing PR 46325.
|
1.101.4.2 |
| 02-Jun-2012 |
mrg | sync to latest -current.
|
1.101.4.1 |
| 05-Apr-2012 |
mrg | sync to latest -current.
|
1.104.2.4 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.104.2.3 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.104.2.2 |
| 23-Jun-2013 |
tls | resync from head
|
1.104.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.107.6.1 |
| 18-May-2014 |
rmind | sync with head
|
1.111.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.113.2.1 |
| 17-Jan-2015 |
martin | Pull up following revision(s) (requested by maxv in ticket #427): sys/compat/svr4/svr4_schedctl.c: revision 1.8 sys/netinet/tcp_timer.c: revision 1.88 sys/miscfs/genfs/layer_vfsops.c: revision 1.45 sys/compat/svr4/svr4_ioctl.c: revision 1.37 sys/ufs/chfs/chfs_vfsops.c: revision 1.14 sys/miscfs/fdesc/fdesc_vfsops.c: revision 1.91 sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.30 sys/compat/common/kern_time_50.c: revision 1.28 sys/netinet6/ip6_forward.c: revision 1.74 sys/miscfs/umapfs/umap_vnops.c: revision 1.57 sys/compat/svr4/svr4_fcntl.c: revision 1.74 distrib/sets/lists/comp/mi: revision 1.1931 sys/netinet6/udp6_output.c: revision 1.46 sys/fs/puffs/puffs_compat.c: revision 1.3 sys/fs/udf/udf_rename.c: revision 1.11 sys/compat/svr4/svr4_filio.c: revision 1.24 sys/fs/udf/udf_rename.c: revision 1.12 sys/netinet/tcp_usrreq.c: revision 1.202 sys/miscfs/umapfs/umap_subr.c: revision 1.29 sys/compat/linux/common/linux_fadvise64.c: revision 1.3 sys/netinet/if_atm.c: revision 1.34 sys/miscfs/procfs/procfs_subr.c: revision 1.106 sys/miscfs/genfs/layer_subr.c: revision 1.37 sys/netinet/tcp_sack.c: revision 1.30 sys/compat/freebsd/freebsd_misc.c: revision 1.33 sys/compat/freebsd/freebsd_file.c: revision 1.33 sys/ufs/chfs/chfs_vnode.c: revision 1.12 sys/compat/svr4/svr4_ttold.c: revision 1.34 sys/compat/linux/common/linux_file.c: revision 1.114 sys/compat/linux/arch/mips/linux_machdep.c: revision 1.43 sys/compat/linux/common/linux_signal.c: revision 1.76 sys/compat/common/compat_util.c: revision 1.46 sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.18 sys/compat/svr4/svr4_sockio.c: revision 1.36 sys/compat/linux/arch/arm/linux_machdep.c: revision 1.32 sys/compat/svr4/svr4_signal.c: revision 1.66 sys/kern/kern_exec.c: revision 1.410 sys/fs/puffs/puffs_vfsops.c: revision 1.115 sys/compat/svr4/svr4_exec_elf64.c: revision 1.15 sys/compat/linux/arch/i386/linux_machdep.c: revision 1.159 sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.50 sys/compat/linux32/common/linux32_misc.c: revision 1.24 sys/netinet/in_pcb.c: revision 1.153 sys/sys/malloc.h: revision 1.116 sys/compat/common/if_43.c: revision 1.9 share/man/man9/Makefile: revision 1.380 sys/netinet/tcp_vtw.c: revision 1.12 sys/miscfs/umapfs/umap_vfsops.c: revision 1.95 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.186 sys/compat/common/uipc_syscalls_43.c: revision 1.46 sys/ufs/ext2fs/ext2fs_vnops.c: revision 1.115 sys/fs/puffs/puffs_msgif.c: revision 1.97 sys/compat/svr4/svr4_ipc.c: revision 1.27 sys/compat/linux/common/linux_exec.c: revision 1.117 sys/ufs/ext2fs/ext2fs_readwrite.c: revision 1.66 sys/netinet/tcp_output.c: revision 1.179 sys/compat/svr4/svr4_termios.c: revision 1.28 sys/fs/udf/udf_strat_bootstrap.c: revision 1.4 sys/fs/puffs/puffs_subr.c: revision 1.67 sys/fs/puffs/puffs_node.c: revision 1.36 sys/miscfs/overlay/overlay_vnops.c: revision 1.21 sys/fs/cd9660/cd9660_node.c: revision 1.34 sys/netinet/raw_ip.c: revision 1.146 sys/sys/mallocvar.h: revision 1.13 sys/miscfs/overlay/overlay_vfsops.c: revision 1.63 share/man/man9/malloc.9: revision 1.50 sys/netinet6/dest6.c: revision 1.18 sys/compat/linux/common/linux_uselib.c: revision 1.33 sys/compat/linux/common/linux_socket.c: revision 1.120 share/man/man9/malloc.9: revision 1.51 sys/netinet/tcp_subr.c: revision 1.257 sys/compat/linux/common/linux_socketcall.c: revision 1.45 sys/compat/linux/common/linux_fadvise64_64.c: revision 1.3 sys/compat/freebsd/freebsd_ipc.c: revision 1.17 sys/compat/linux/common/linux_misc_notalpha.c: revision 1.109 sys/compat/linux/arch/alpha/linux_pipe.c: revision 1.17 sys/netinet6/in6_pcb.c: revision 1.132 sys/netinet6/in6_ifattach.c: revision 1.94 sys/compat/svr4/svr4_exec_elf32.c: revision 1.15 sys/miscfs/nullfs/null_vfsops.c: revision 1.90 sys/fs/cd9660/cd9660_util.c: revision 1.12 sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.48 sys/compat/freebsd/freebsd_exec_elf32.c: revision 1.20 sys/miscfs/procfs/procfs_vfsops.c: revision 1.94 sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.28 sys/compat/linux/common/linux_sched.c: revision 1.67 sys/compat/linux/common/linux_exec_aout.c: revision 1.67 sys/compat/linux/common/linux_pipe.c: revision 1.67 sys/compat/linux/common/linux_llseek.c: revision 1.34 sys/compat/linux/arch/mips/linux_ptrace.c: revision 1.10 Do not uselessly include <sys/malloc.h>. Cleanup: - remove struct kmembuckets (dead) - correctly deadify MALLOC_XX - remove MALLOC_DEFINE_LIMIT and MALLOC_JUSTDEFINE_LIMIT (dead) - remove malloc_roundup(), malloc_type_setlimit(), MALLOC_DEFINE_LIMIT() and MALLOC_JUSTDEFINE_LIMIT() from man 9 malloc New sentence, new line. Bump date for previous. Obsolete malloc_roundup(9), malloc_type_setlimit(9) and MALLOC_DEFINE_LIMIT(9) man pages.
|
1.115.2.4 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.115.2.3 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.115.2.2 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.115.2.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.117.2.1 |
| 06-Aug-2016 |
pgoyette | Sync with HEAD
|
1.128.10.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.128.10.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.128.10.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.128.8.1 |
| 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.132.6.1 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|