#
1.94 |
|
26-Aug-2023 |
riastradh |
ext2fs: Nix trailing whitespace.
|
#
1.93 |
|
10-Aug-2023 |
mrg |
don't assign struct pointers to smaller then structure regions of memory.
in all cases here, the later parts of the structure are not actually accessed, so there are no existing bugs here beyond general UB. for the ufs ones, this also removes some casts.
found by GCC 12.
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base
|
#
1.92 |
|
06-Aug-2022 |
andvar |
s/blity/bility/ in various words, mainly in comments.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.91 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
#
1.90 |
|
04-Apr-2020 |
ad |
Merge the remaining changes from the ad-namecache branch, affecting namei() and getcwd():
- push vnode locking back as far as possible. - do most lookups directly in the namecache, avoiding vnode locks & refs. - don't block new refs to vnodes across VOP_INACTIVE(). - get shared locks for VOP_LOOKUP() if the file system supports it. - correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.
Possible future enhancements:
- make the lookups lockless. - support dotdot lookups by being lockless and inferring absence of chroot. - maybe make it work for layered file systems. - avoid vnode references at the root & cwd.
|
#
1.89 |
|
14-Mar-2020 |
ad |
- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small functions: preempt_point() and preempt_needed().
- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of any priority boost gained earlier from blocking.
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE is-mlppp-base netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.88 |
|
23-Aug-2016 |
christos |
branches: 1.88.16; 1.88.22; KNF, no functional change
|
#
1.87 |
|
19-Aug-2016 |
jdolecek |
fix bug introduced in rev 1.82 of ext2fs_lookup.c, when ext2fs_add_entry() was introduced splitting code from ext2fs_direnter() - code used incorrect new entry size, leading to incomplete entry copy or buffer overflow; fixed by passing the right size from ext2fs_direnter()
|
#
1.86 |
|
14-Aug-2016 |
jdolecek |
when converting on-disk direntry, only use the on-disk filetype if the feature flag is present
|
#
1.85 |
|
14-Aug-2016 |
jdolecek |
switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
#
1.84 |
|
13-Aug-2016 |
christos |
KNF, no functional changes...
|
#
1.83 |
|
13-Aug-2016 |
christos |
sync with hrishi's git
|
#
1.82 |
|
09-Aug-2016 |
christos |
merge missing function.
|
#
1.81 |
|
06-Aug-2016 |
jdolecek |
actually pass the d_type from the on-disk directory entry to the lookup results
|
Revision tags: pgoyette-localcount-20160806 jaromird-ext3 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.80 |
|
24-Jun-2016 |
christos |
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.79 |
|
12-Jan-2016 |
riastradh |
Use buffer cache, not page cache, to expand directories in ext2fs.
Candidate fix for PR kern/50607, PR port-evbmips/50059.
Formerly VOP_WRITE-->ext2fs_write would automatically dispatch to this code path for writes to directories, but I broke that in ext2fs_lookup.c rev. 1.78 when disentangling page-cached and buffer-cached writes.
This was not a problem in ufs, and I didn't notice it in ext2fs, because ufs consistently used buffercache(9) directly instead of using VOP_WRITE sometimes as ext2fs did.
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.78 |
|
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.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.77 |
|
03-Jun-2014 |
joerg |
branches: 1.77.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.76 |
|
25-May-2014 |
hannken |
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.75 |
|
08-May-2014 |
hannken |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
#
1.74 |
|
07-Feb-2014 |
hannken |
branches: 1.74.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
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
#
1.73 |
|
22-Jan-2013 |
dholland |
branches: 1.73.2; Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
Revision tags: yamt-pagecache-base7
|
#
1.72 |
|
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
#
1.71 |
|
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
Revision tags: yamt-pagecache-base6
|
#
1.70 |
|
22-Jul-2012 |
rmind |
branches: 1.70.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
#
1.69 |
|
16-Mar-2012 |
hannken |
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
|
#
1.68 |
|
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.
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.67 |
|
27-Jan-2012 |
para |
branches: 1.67.2; converting readdir in ffs ext2fs from malloc(9) to kmem(9) while there allocate ufs mount structs from kmem(9) too preceding kmem-vmem-pool-patch
releng@ acknowledged
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.66 |
|
12-Jul-2011 |
dholland |
branches: 1.66.2; 1.66.6; 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.65 |
|
12-Jul-2011 |
dholland |
Currently, ufs_lookup produces five auxiliary results that are left in the vnode when lookup returns and fished out again later.
1. Create struct ufs_lookup_results to hold these.
2. Call the ufs_lookup_results instance in struct inode "i_crap" to be clear about exactly what's going on, and to distinguish the lookup results from respectable members of struct inode.
3. Update references to these members in the directory access subroutines.
4. Include preliminary infrastructure for checking that the i_crap being used is still valid when it's used. This doesn't actually do anything yet.
5. Update the way ufs_wapbl_rename manipulates these elements to use the new data structures. I have not changed the manipulation; it may or may not be correct but I continue to suspect that it is not.
The word of the day is "stigmergy".
|
#
1.64 |
|
11-Jul-2011 |
hannken |
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@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
#
1.63 |
|
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.
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.62 |
|
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.61 |
|
08-Jan-2010 |
pooka |
branches: 1.61.2; 1.61.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 jym-xensuspend-nbase
|
#
1.60 |
|
12-Sep-2009 |
tsutsui |
Whitespace nits.
|
#
1.59 |
|
12-Sep-2009 |
tsutsui |
Migrate from u_intNN_t to uintNN_t.
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base mjf-devfs2-base
|
#
1.58 |
|
17-Dec-2008 |
cegger |
kill MALLOC and FREE macros.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
#
1.57 |
|
24-Nov-2008 |
tsutsui |
Remove an extra semicolon.
|
#
1.56 |
|
23-Nov-2008 |
mrg |
add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base matt-armv6-nbase mjf-devfs-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
#
1.55 |
|
08-Dec-2007 |
pooka |
branches: 1.55.12; 1.55.16; 1.55.22; 1.55.24; 1.55.26; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
#
1.54 |
|
26-Nov-2007 |
pooka |
branches: 1.54.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
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base
|
#
1.53 |
|
08-Oct-2007 |
ad |
branches: 1.53.4; Merge ffs locking & brelse changes from the vmlocking branch.
|
Revision tags: yamt-x86pmap-base2
|
#
1.52 |
|
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
#
1.51 |
|
21-Jul-2007 |
ad |
branches: 1.51.4; 1.51.6; 1.51.8; 1.51.10; Don't depend on uvm_extern.h pulling in proc.h.
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.50 |
|
04-Mar-2007 |
christos |
branches: 1.50.2; 1.50.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.49 |
|
09-Feb-2007 |
ad |
branches: 1.49.2; Merge newlock2 to head.
|
Revision tags: newlock2-nbase newlock2-base
|
#
1.48 |
|
04-Jan-2007 |
elad |
Consistent usage of KAUTH_GENERIC_ISSUSER.
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
#
1.47 |
|
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().
|
Revision tags: netbsd-4-base
|
#
1.46 |
|
16-Nov-2006 |
christos |
branches: 1.46.2; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
1.45 |
|
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.44 |
|
14-May-2006 |
elad |
branches: 1.44.8; 1.44.10; integrate kauth.
|
Revision tags: elad-kernelauth-base
|
#
1.43 |
|
15-Apr-2006 |
christos |
Coverity CID 1169: Add KASSERT before deref.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
|
#
1.42 |
|
18-Mar-2006 |
bouyer |
Remove dead code, fixing coverity ID 745. nameiop can only be CREATE or DELETE here. This code got cut-n-pasted from ufs_loolup.c, but is only used in whiteout support. ext2fs doesn't support whiteout.
|
#
1.41 |
|
17-Mar-2006 |
christos |
don't use MALLOC with a non-constant size; use malloc instead.
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
#
1.40 |
|
01-Mar-2006 |
yamt |
branches: 1.40.2; 1.40.4; 1.40.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.39 |
|
11-Dec-2005 |
christos |
branches: 1.39.2; 1.39.4; 1.39.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base ktrace-lwp-base
|
#
1.38 |
|
02-Nov-2005 |
yamt |
branches: 1.38.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.37 |
|
30-Aug-2005 |
xtraeme |
branches: 1.37.2; * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
#
1.36 |
|
23-Aug-2005 |
christos |
Don't overload MAXNAMLEN, use a separate constant for each filesystem type.
|
#
1.35 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.34 |
|
28-Jun-2005 |
kml |
branches: 1.34.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.33 |
|
29-May-2005 |
christos |
- sprinkle const - avoid shadow variables.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.32 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2
|
#
1.31 |
|
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@).
|
Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.30 |
|
17-Sep-2004 |
skrll |
branches: 1.30.4; 1.30.6; 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.29 |
|
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.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.28 |
|
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.27 |
|
29-Jun-2003 |
fvdl |
branches: 1.27.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.26 |
|
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.25 |
|
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.24 |
|
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.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.23 |
|
26-Nov-2002 |
yamt |
eliminate i_ino from in-core inode and use local variable instead.
ok'ed by Frank van der Linden.
|
#
1.22 |
|
25-Nov-2002 |
thorpej |
Avoid strict-alias warnings.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.21 |
|
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
Revision tags: gehenna-devsw-base
|
#
1.20 |
|
26-Jul-2002 |
wiz |
Spell '[Rr]ight' correctly. From Jim Bernard.
|
#
1.19 |
|
30-May-2002 |
thorpej |
#if 0 a test that is always false (and the XXX comment above it indicates so).
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base
|
#
1.18 |
|
08-Nov-2001 |
lukem |
branches: 1.18.8; 1.18.10; add RCSID
|
#
1.17 |
|
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.)
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base perseant-lfsv2-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.16 |
|
03-Aug-2000 |
thorpej |
branches: 1.16.2; 1.16.6; 1.16.10; MALLOC()/FREE() are not to be used for variable sized allocations.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.15 |
|
30-Mar-2000 |
augustss |
Remove register declarations.
|
Revision tags: chs-ubc2-newbase
|
#
1.14 |
|
28-Jan-2000 |
bouyer |
Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
#
1.13 |
|
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.
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.12 |
|
05-Sep-1999 |
jdolecek |
branches: 1.12.2; Adapt to cache_lookup() changes.
Tested by: jdolecek Rewieved by: wrstuden
|
#
1.11 |
|
04-Aug-1999 |
wrstuden |
Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup().
|
#
1.10 |
|
02-Aug-1999 |
wrstuden |
Add PDIRUNLOCK support.
|
Revision tags: kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base
|
#
1.9 |
|
02-Dec-1998 |
bouyer |
branches: 1.9.4; - intentation - sync LK_* flags with ffs/ufs
|
Revision tags: chs-ubc-base
|
#
1.8 |
|
13-Sep-1998 |
christos |
Fix copyright '\t' -> ' '
|
#
1.7 |
|
09-Aug-1998 |
perry |
bzero->memset, bcopy->memcpy, bcmp->memcmp
|
Revision tags: eeh-paddr_t-base
|
#
1.6 |
|
28-Jul-1998 |
mjacob |
fix to accomodate change in vn_rdwr prototype
|
#
1.5 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
|
#
1.4 |
|
10-Oct-1997 |
bouyer |
Update for 64 bits directory cookies.
|
#
1.3 |
|
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.
|
Revision tags: thorpej-signal-base
|
#
1.2 |
|
04-Aug-1997 |
bouyer |
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory block size boundary, because size of the returned dir entry may be bigger than the one read.
|
Revision tags: marc-pcmcia-bp
|
#
1.1 |
|
11-Jun-1997 |
bouyer |
branches: 1.1.4; The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|
#
1.93 |
|
10-Aug-2023 |
mrg |
don't assign struct pointers to smaller then structure regions of memory.
in all cases here, the later parts of the structure are not actually accessed, so there are no existing bugs here beyond general UB. for the ufs ones, this also removes some casts.
found by GCC 12.
|
Revision tags: netbsd-10-base bouyer-sunxi-drm-base
|
#
1.92 |
|
06-Aug-2022 |
andvar |
s/blity/bility/ in various words, mainly in comments.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.91 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
#
1.90 |
|
04-Apr-2020 |
ad |
Merge the remaining changes from the ad-namecache branch, affecting namei() and getcwd():
- push vnode locking back as far as possible. - do most lookups directly in the namecache, avoiding vnode locks & refs. - don't block new refs to vnodes across VOP_INACTIVE(). - get shared locks for VOP_LOOKUP() if the file system supports it. - correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.
Possible future enhancements:
- make the lookups lockless. - support dotdot lookups by being lockless and inferring absence of chroot. - maybe make it work for layered file systems. - avoid vnode references at the root & cwd.
|
#
1.89 |
|
14-Mar-2020 |
ad |
- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small functions: preempt_point() and preempt_needed().
- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of any priority boost gained earlier from blocking.
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE is-mlppp-base netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.88 |
|
23-Aug-2016 |
christos |
branches: 1.88.16; 1.88.22; KNF, no functional change
|
#
1.87 |
|
19-Aug-2016 |
jdolecek |
fix bug introduced in rev 1.82 of ext2fs_lookup.c, when ext2fs_add_entry() was introduced splitting code from ext2fs_direnter() - code used incorrect new entry size, leading to incomplete entry copy or buffer overflow; fixed by passing the right size from ext2fs_direnter()
|
#
1.86 |
|
14-Aug-2016 |
jdolecek |
when converting on-disk direntry, only use the on-disk filetype if the feature flag is present
|
#
1.85 |
|
14-Aug-2016 |
jdolecek |
switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
#
1.84 |
|
13-Aug-2016 |
christos |
KNF, no functional changes...
|
#
1.83 |
|
13-Aug-2016 |
christos |
sync with hrishi's git
|
#
1.82 |
|
09-Aug-2016 |
christos |
merge missing function.
|
#
1.81 |
|
06-Aug-2016 |
jdolecek |
actually pass the d_type from the on-disk directory entry to the lookup results
|
Revision tags: pgoyette-localcount-20160806 jaromird-ext3 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.80 |
|
24-Jun-2016 |
christos |
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.79 |
|
12-Jan-2016 |
riastradh |
Use buffer cache, not page cache, to expand directories in ext2fs.
Candidate fix for PR kern/50607, PR port-evbmips/50059.
Formerly VOP_WRITE-->ext2fs_write would automatically dispatch to this code path for writes to directories, but I broke that in ext2fs_lookup.c rev. 1.78 when disentangling page-cached and buffer-cached writes.
This was not a problem in ufs, and I didn't notice it in ext2fs, because ufs consistently used buffercache(9) directly instead of using VOP_WRITE sometimes as ext2fs did.
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.78 |
|
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.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.77 |
|
03-Jun-2014 |
joerg |
branches: 1.77.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.76 |
|
25-May-2014 |
hannken |
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.75 |
|
08-May-2014 |
hannken |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
#
1.74 |
|
07-Feb-2014 |
hannken |
branches: 1.74.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
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
#
1.73 |
|
22-Jan-2013 |
dholland |
branches: 1.73.2; Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
Revision tags: yamt-pagecache-base7
|
#
1.72 |
|
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
#
1.71 |
|
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
Revision tags: yamt-pagecache-base6
|
#
1.70 |
|
22-Jul-2012 |
rmind |
branches: 1.70.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
#
1.69 |
|
16-Mar-2012 |
hannken |
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
|
#
1.68 |
|
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.
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.67 |
|
27-Jan-2012 |
para |
branches: 1.67.2; converting readdir in ffs ext2fs from malloc(9) to kmem(9) while there allocate ufs mount structs from kmem(9) too preceding kmem-vmem-pool-patch
releng@ acknowledged
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.66 |
|
12-Jul-2011 |
dholland |
branches: 1.66.2; 1.66.6; 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.65 |
|
12-Jul-2011 |
dholland |
Currently, ufs_lookup produces five auxiliary results that are left in the vnode when lookup returns and fished out again later.
1. Create struct ufs_lookup_results to hold these.
2. Call the ufs_lookup_results instance in struct inode "i_crap" to be clear about exactly what's going on, and to distinguish the lookup results from respectable members of struct inode.
3. Update references to these members in the directory access subroutines.
4. Include preliminary infrastructure for checking that the i_crap being used is still valid when it's used. This doesn't actually do anything yet.
5. Update the way ufs_wapbl_rename manipulates these elements to use the new data structures. I have not changed the manipulation; it may or may not be correct but I continue to suspect that it is not.
The word of the day is "stigmergy".
|
#
1.64 |
|
11-Jul-2011 |
hannken |
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@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
#
1.63 |
|
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.
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.62 |
|
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.61 |
|
08-Jan-2010 |
pooka |
branches: 1.61.2; 1.61.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 jym-xensuspend-nbase
|
#
1.60 |
|
12-Sep-2009 |
tsutsui |
Whitespace nits.
|
#
1.59 |
|
12-Sep-2009 |
tsutsui |
Migrate from u_intNN_t to uintNN_t.
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base mjf-devfs2-base
|
#
1.58 |
|
17-Dec-2008 |
cegger |
kill MALLOC and FREE macros.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
#
1.57 |
|
24-Nov-2008 |
tsutsui |
Remove an extra semicolon.
|
#
1.56 |
|
23-Nov-2008 |
mrg |
add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base matt-armv6-nbase mjf-devfs-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
#
1.55 |
|
08-Dec-2007 |
pooka |
branches: 1.55.12; 1.55.16; 1.55.22; 1.55.24; 1.55.26; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
#
1.54 |
|
26-Nov-2007 |
pooka |
branches: 1.54.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
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base
|
#
1.53 |
|
08-Oct-2007 |
ad |
branches: 1.53.4; Merge ffs locking & brelse changes from the vmlocking branch.
|
Revision tags: yamt-x86pmap-base2
|
#
1.52 |
|
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
#
1.51 |
|
21-Jul-2007 |
ad |
branches: 1.51.4; 1.51.6; 1.51.8; 1.51.10; Don't depend on uvm_extern.h pulling in proc.h.
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.50 |
|
04-Mar-2007 |
christos |
branches: 1.50.2; 1.50.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.49 |
|
09-Feb-2007 |
ad |
branches: 1.49.2; Merge newlock2 to head.
|
Revision tags: newlock2-nbase newlock2-base
|
#
1.48 |
|
04-Jan-2007 |
elad |
Consistent usage of KAUTH_GENERIC_ISSUSER.
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
#
1.47 |
|
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().
|
Revision tags: netbsd-4-base
|
#
1.46 |
|
16-Nov-2006 |
christos |
branches: 1.46.2; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
1.45 |
|
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.44 |
|
14-May-2006 |
elad |
branches: 1.44.8; 1.44.10; integrate kauth.
|
Revision tags: elad-kernelauth-base
|
#
1.43 |
|
15-Apr-2006 |
christos |
Coverity CID 1169: Add KASSERT before deref.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
|
#
1.42 |
|
18-Mar-2006 |
bouyer |
Remove dead code, fixing coverity ID 745. nameiop can only be CREATE or DELETE here. This code got cut-n-pasted from ufs_loolup.c, but is only used in whiteout support. ext2fs doesn't support whiteout.
|
#
1.41 |
|
17-Mar-2006 |
christos |
don't use MALLOC with a non-constant size; use malloc instead.
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
#
1.40 |
|
01-Mar-2006 |
yamt |
branches: 1.40.2; 1.40.4; 1.40.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.39 |
|
11-Dec-2005 |
christos |
branches: 1.39.2; 1.39.4; 1.39.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base ktrace-lwp-base
|
#
1.38 |
|
02-Nov-2005 |
yamt |
branches: 1.38.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.37 |
|
30-Aug-2005 |
xtraeme |
branches: 1.37.2; * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
#
1.36 |
|
23-Aug-2005 |
christos |
Don't overload MAXNAMLEN, use a separate constant for each filesystem type.
|
#
1.35 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.34 |
|
28-Jun-2005 |
kml |
branches: 1.34.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.33 |
|
29-May-2005 |
christos |
- sprinkle const - avoid shadow variables.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.32 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2
|
#
1.31 |
|
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@).
|
Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.30 |
|
17-Sep-2004 |
skrll |
branches: 1.30.4; 1.30.6; 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.29 |
|
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.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.28 |
|
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.27 |
|
29-Jun-2003 |
fvdl |
branches: 1.27.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.26 |
|
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.25 |
|
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.24 |
|
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.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.23 |
|
26-Nov-2002 |
yamt |
eliminate i_ino from in-core inode and use local variable instead.
ok'ed by Frank van der Linden.
|
#
1.22 |
|
25-Nov-2002 |
thorpej |
Avoid strict-alias warnings.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.21 |
|
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
Revision tags: gehenna-devsw-base
|
#
1.20 |
|
26-Jul-2002 |
wiz |
Spell '[Rr]ight' correctly. From Jim Bernard.
|
#
1.19 |
|
30-May-2002 |
thorpej |
#if 0 a test that is always false (and the XXX comment above it indicates so).
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base
|
#
1.18 |
|
08-Nov-2001 |
lukem |
branches: 1.18.8; 1.18.10; add RCSID
|
#
1.17 |
|
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.)
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base perseant-lfsv2-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.16 |
|
03-Aug-2000 |
thorpej |
branches: 1.16.2; 1.16.6; 1.16.10; MALLOC()/FREE() are not to be used for variable sized allocations.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.15 |
|
30-Mar-2000 |
augustss |
Remove register declarations.
|
Revision tags: chs-ubc2-newbase
|
#
1.14 |
|
28-Jan-2000 |
bouyer |
Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
#
1.13 |
|
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.
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.12 |
|
05-Sep-1999 |
jdolecek |
branches: 1.12.2; Adapt to cache_lookup() changes.
Tested by: jdolecek Rewieved by: wrstuden
|
#
1.11 |
|
04-Aug-1999 |
wrstuden |
Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup().
|
#
1.10 |
|
02-Aug-1999 |
wrstuden |
Add PDIRUNLOCK support.
|
Revision tags: kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base
|
#
1.9 |
|
02-Dec-1998 |
bouyer |
branches: 1.9.4; - intentation - sync LK_* flags with ffs/ufs
|
Revision tags: chs-ubc-base
|
#
1.8 |
|
13-Sep-1998 |
christos |
Fix copyright '\t' -> ' '
|
#
1.7 |
|
09-Aug-1998 |
perry |
bzero->memset, bcopy->memcpy, bcmp->memcmp
|
Revision tags: eeh-paddr_t-base
|
#
1.6 |
|
28-Jul-1998 |
mjacob |
fix to accomodate change in vn_rdwr prototype
|
#
1.5 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
|
#
1.4 |
|
10-Oct-1997 |
bouyer |
Update for 64 bits directory cookies.
|
#
1.3 |
|
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.
|
Revision tags: thorpej-signal-base
|
#
1.2 |
|
04-Aug-1997 |
bouyer |
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory block size boundary, because size of the returned dir entry may be bigger than the one read.
|
Revision tags: marc-pcmcia-bp
|
#
1.1 |
|
11-Jun-1997 |
bouyer |
branches: 1.1.4; The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|
#
1.92 |
|
06-Aug-2022 |
andvar |
s/blity/bility/ in various words, mainly in comments.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.91 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
#
1.90 |
|
04-Apr-2020 |
ad |
Merge the remaining changes from the ad-namecache branch, affecting namei() and getcwd():
- push vnode locking back as far as possible. - do most lookups directly in the namecache, avoiding vnode locks & refs. - don't block new refs to vnodes across VOP_INACTIVE(). - get shared locks for VOP_LOOKUP() if the file system supports it. - correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.
Possible future enhancements:
- make the lookups lockless. - support dotdot lookups by being lockless and inferring absence of chroot. - maybe make it work for layered file systems. - avoid vnode references at the root & cwd.
|
#
1.89 |
|
14-Mar-2020 |
ad |
- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small functions: preempt_point() and preempt_needed().
- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of any priority boost gained earlier from blocking.
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE is-mlppp-base netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.88 |
|
23-Aug-2016 |
christos |
branches: 1.88.16; 1.88.22; KNF, no functional change
|
#
1.87 |
|
19-Aug-2016 |
jdolecek |
fix bug introduced in rev 1.82 of ext2fs_lookup.c, when ext2fs_add_entry() was introduced splitting code from ext2fs_direnter() - code used incorrect new entry size, leading to incomplete entry copy or buffer overflow; fixed by passing the right size from ext2fs_direnter()
|
#
1.86 |
|
14-Aug-2016 |
jdolecek |
when converting on-disk direntry, only use the on-disk filetype if the feature flag is present
|
#
1.85 |
|
14-Aug-2016 |
jdolecek |
switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
#
1.84 |
|
13-Aug-2016 |
christos |
KNF, no functional changes...
|
#
1.83 |
|
13-Aug-2016 |
christos |
sync with hrishi's git
|
#
1.82 |
|
09-Aug-2016 |
christos |
merge missing function.
|
#
1.81 |
|
06-Aug-2016 |
jdolecek |
actually pass the d_type from the on-disk directory entry to the lookup results
|
Revision tags: pgoyette-localcount-20160806 jaromird-ext3 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.80 |
|
24-Jun-2016 |
christos |
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.79 |
|
12-Jan-2016 |
riastradh |
Use buffer cache, not page cache, to expand directories in ext2fs.
Candidate fix for PR kern/50607, PR port-evbmips/50059.
Formerly VOP_WRITE-->ext2fs_write would automatically dispatch to this code path for writes to directories, but I broke that in ext2fs_lookup.c rev. 1.78 when disentangling page-cached and buffer-cached writes.
This was not a problem in ufs, and I didn't notice it in ext2fs, because ufs consistently used buffercache(9) directly instead of using VOP_WRITE sometimes as ext2fs did.
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.78 |
|
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.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.77 |
|
03-Jun-2014 |
joerg |
branches: 1.77.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.76 |
|
25-May-2014 |
hannken |
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.75 |
|
08-May-2014 |
hannken |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
#
1.74 |
|
07-Feb-2014 |
hannken |
branches: 1.74.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
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
#
1.73 |
|
22-Jan-2013 |
dholland |
branches: 1.73.2; Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
Revision tags: yamt-pagecache-base7
|
#
1.72 |
|
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
#
1.71 |
|
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
Revision tags: yamt-pagecache-base6
|
#
1.70 |
|
22-Jul-2012 |
rmind |
branches: 1.70.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
#
1.69 |
|
16-Mar-2012 |
hannken |
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
|
#
1.68 |
|
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.
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.67 |
|
27-Jan-2012 |
para |
branches: 1.67.2; converting readdir in ffs ext2fs from malloc(9) to kmem(9) while there allocate ufs mount structs from kmem(9) too preceding kmem-vmem-pool-patch
releng@ acknowledged
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.66 |
|
12-Jul-2011 |
dholland |
branches: 1.66.2; 1.66.6; 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.65 |
|
12-Jul-2011 |
dholland |
Currently, ufs_lookup produces five auxiliary results that are left in the vnode when lookup returns and fished out again later.
1. Create struct ufs_lookup_results to hold these.
2. Call the ufs_lookup_results instance in struct inode "i_crap" to be clear about exactly what's going on, and to distinguish the lookup results from respectable members of struct inode.
3. Update references to these members in the directory access subroutines.
4. Include preliminary infrastructure for checking that the i_crap being used is still valid when it's used. This doesn't actually do anything yet.
5. Update the way ufs_wapbl_rename manipulates these elements to use the new data structures. I have not changed the manipulation; it may or may not be correct but I continue to suspect that it is not.
The word of the day is "stigmergy".
|
#
1.64 |
|
11-Jul-2011 |
hannken |
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@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
#
1.63 |
|
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.
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.62 |
|
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.61 |
|
08-Jan-2010 |
pooka |
branches: 1.61.2; 1.61.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 jym-xensuspend-nbase
|
#
1.60 |
|
12-Sep-2009 |
tsutsui |
Whitespace nits.
|
#
1.59 |
|
12-Sep-2009 |
tsutsui |
Migrate from u_intNN_t to uintNN_t.
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base mjf-devfs2-base
|
#
1.58 |
|
17-Dec-2008 |
cegger |
kill MALLOC and FREE macros.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
#
1.57 |
|
24-Nov-2008 |
tsutsui |
Remove an extra semicolon.
|
#
1.56 |
|
23-Nov-2008 |
mrg |
add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base matt-armv6-nbase mjf-devfs-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
#
1.55 |
|
08-Dec-2007 |
pooka |
branches: 1.55.12; 1.55.16; 1.55.22; 1.55.24; 1.55.26; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
#
1.54 |
|
26-Nov-2007 |
pooka |
branches: 1.54.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
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base
|
#
1.53 |
|
08-Oct-2007 |
ad |
branches: 1.53.4; Merge ffs locking & brelse changes from the vmlocking branch.
|
Revision tags: yamt-x86pmap-base2
|
#
1.52 |
|
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
#
1.51 |
|
21-Jul-2007 |
ad |
branches: 1.51.4; 1.51.6; 1.51.8; 1.51.10; Don't depend on uvm_extern.h pulling in proc.h.
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.50 |
|
04-Mar-2007 |
christos |
branches: 1.50.2; 1.50.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.49 |
|
09-Feb-2007 |
ad |
branches: 1.49.2; Merge newlock2 to head.
|
Revision tags: newlock2-nbase newlock2-base
|
#
1.48 |
|
04-Jan-2007 |
elad |
Consistent usage of KAUTH_GENERIC_ISSUSER.
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
#
1.47 |
|
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().
|
Revision tags: netbsd-4-base
|
#
1.46 |
|
16-Nov-2006 |
christos |
branches: 1.46.2; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
1.45 |
|
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.44 |
|
14-May-2006 |
elad |
branches: 1.44.8; 1.44.10; integrate kauth.
|
Revision tags: elad-kernelauth-base
|
#
1.43 |
|
15-Apr-2006 |
christos |
Coverity CID 1169: Add KASSERT before deref.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
|
#
1.42 |
|
18-Mar-2006 |
bouyer |
Remove dead code, fixing coverity ID 745. nameiop can only be CREATE or DELETE here. This code got cut-n-pasted from ufs_loolup.c, but is only used in whiteout support. ext2fs doesn't support whiteout.
|
#
1.41 |
|
17-Mar-2006 |
christos |
don't use MALLOC with a non-constant size; use malloc instead.
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
#
1.40 |
|
01-Mar-2006 |
yamt |
branches: 1.40.2; 1.40.4; 1.40.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.39 |
|
11-Dec-2005 |
christos |
branches: 1.39.2; 1.39.4; 1.39.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base ktrace-lwp-base
|
#
1.38 |
|
02-Nov-2005 |
yamt |
branches: 1.38.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.37 |
|
30-Aug-2005 |
xtraeme |
branches: 1.37.2; * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
#
1.36 |
|
23-Aug-2005 |
christos |
Don't overload MAXNAMLEN, use a separate constant for each filesystem type.
|
#
1.35 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.34 |
|
28-Jun-2005 |
kml |
branches: 1.34.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.33 |
|
29-May-2005 |
christos |
- sprinkle const - avoid shadow variables.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.32 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2
|
#
1.31 |
|
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@).
|
Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.30 |
|
17-Sep-2004 |
skrll |
branches: 1.30.4; 1.30.6; 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.29 |
|
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.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.28 |
|
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.27 |
|
29-Jun-2003 |
fvdl |
branches: 1.27.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.26 |
|
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.25 |
|
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.24 |
|
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.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.23 |
|
26-Nov-2002 |
yamt |
eliminate i_ino from in-core inode and use local variable instead.
ok'ed by Frank van der Linden.
|
#
1.22 |
|
25-Nov-2002 |
thorpej |
Avoid strict-alias warnings.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.21 |
|
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
Revision tags: gehenna-devsw-base
|
#
1.20 |
|
26-Jul-2002 |
wiz |
Spell '[Rr]ight' correctly. From Jim Bernard.
|
#
1.19 |
|
30-May-2002 |
thorpej |
#if 0 a test that is always false (and the XXX comment above it indicates so).
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base
|
#
1.18 |
|
08-Nov-2001 |
lukem |
branches: 1.18.8; 1.18.10; add RCSID
|
#
1.17 |
|
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.)
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base perseant-lfsv2-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.16 |
|
03-Aug-2000 |
thorpej |
branches: 1.16.2; 1.16.6; 1.16.10; MALLOC()/FREE() are not to be used for variable sized allocations.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.15 |
|
30-Mar-2000 |
augustss |
Remove register declarations.
|
Revision tags: chs-ubc2-newbase
|
#
1.14 |
|
28-Jan-2000 |
bouyer |
Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
#
1.13 |
|
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.
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.12 |
|
05-Sep-1999 |
jdolecek |
branches: 1.12.2; Adapt to cache_lookup() changes.
Tested by: jdolecek Rewieved by: wrstuden
|
#
1.11 |
|
04-Aug-1999 |
wrstuden |
Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup().
|
#
1.10 |
|
02-Aug-1999 |
wrstuden |
Add PDIRUNLOCK support.
|
Revision tags: kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base
|
#
1.9 |
|
02-Dec-1998 |
bouyer |
branches: 1.9.4; - intentation - sync LK_* flags with ffs/ufs
|
Revision tags: chs-ubc-base
|
#
1.8 |
|
13-Sep-1998 |
christos |
Fix copyright '\t' -> ' '
|
#
1.7 |
|
09-Aug-1998 |
perry |
bzero->memset, bcopy->memcpy, bcmp->memcmp
|
Revision tags: eeh-paddr_t-base
|
#
1.6 |
|
28-Jul-1998 |
mjacob |
fix to accomodate change in vn_rdwr prototype
|
#
1.5 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
|
#
1.4 |
|
10-Oct-1997 |
bouyer |
Update for 64 bits directory cookies.
|
#
1.3 |
|
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.
|
Revision tags: thorpej-signal-base
|
#
1.2 |
|
04-Aug-1997 |
bouyer |
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory block size boundary, because size of the returned dir entry may be bigger than the one read.
|
Revision tags: marc-pcmcia-bp
|
#
1.1 |
|
11-Jun-1997 |
bouyer |
branches: 1.1.4; The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|
#
1.91 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
#
1.90 |
|
04-Apr-2020 |
ad |
Merge the remaining changes from the ad-namecache branch, affecting namei() and getcwd():
- push vnode locking back as far as possible. - do most lookups directly in the namecache, avoiding vnode locks & refs. - don't block new refs to vnodes across VOP_INACTIVE(). - get shared locks for VOP_LOOKUP() if the file system supports it. - correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.
Possible future enhancements:
- make the lookups lockless. - support dotdot lookups by being lockless and inferring absence of chroot. - maybe make it work for layered file systems. - avoid vnode references at the root & cwd.
|
#
1.89 |
|
14-Mar-2020 |
ad |
- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small functions: preempt_point() and preempt_needed().
- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of any priority boost gained earlier from blocking.
|
Revision tags: is-mlppp-base netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.88 |
|
23-Aug-2016 |
christos |
branches: 1.88.16; 1.88.22; KNF, no functional change
|
#
1.87 |
|
19-Aug-2016 |
jdolecek |
fix bug introduced in rev 1.82 of ext2fs_lookup.c, when ext2fs_add_entry() was introduced splitting code from ext2fs_direnter() - code used incorrect new entry size, leading to incomplete entry copy or buffer overflow; fixed by passing the right size from ext2fs_direnter()
|
#
1.86 |
|
14-Aug-2016 |
jdolecek |
when converting on-disk direntry, only use the on-disk filetype if the feature flag is present
|
#
1.85 |
|
14-Aug-2016 |
jdolecek |
switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
#
1.84 |
|
13-Aug-2016 |
christos |
KNF, no functional changes...
|
#
1.83 |
|
13-Aug-2016 |
christos |
sync with hrishi's git
|
#
1.82 |
|
09-Aug-2016 |
christos |
merge missing function.
|
#
1.81 |
|
06-Aug-2016 |
jdolecek |
actually pass the d_type from the on-disk directory entry to the lookup results
|
Revision tags: pgoyette-localcount-20160806 jaromird-ext3 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.80 |
|
24-Jun-2016 |
christos |
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.79 |
|
12-Jan-2016 |
riastradh |
Use buffer cache, not page cache, to expand directories in ext2fs.
Candidate fix for PR kern/50607, PR port-evbmips/50059.
Formerly VOP_WRITE-->ext2fs_write would automatically dispatch to this code path for writes to directories, but I broke that in ext2fs_lookup.c rev. 1.78 when disentangling page-cached and buffer-cached writes.
This was not a problem in ufs, and I didn't notice it in ext2fs, because ufs consistently used buffercache(9) directly instead of using VOP_WRITE sometimes as ext2fs did.
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.78 |
|
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.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.77 |
|
03-Jun-2014 |
joerg |
branches: 1.77.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.76 |
|
25-May-2014 |
hannken |
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.75 |
|
08-May-2014 |
hannken |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
#
1.74 |
|
07-Feb-2014 |
hannken |
branches: 1.74.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
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
#
1.73 |
|
22-Jan-2013 |
dholland |
branches: 1.73.2; Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
Revision tags: yamt-pagecache-base7
|
#
1.72 |
|
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
#
1.71 |
|
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
Revision tags: yamt-pagecache-base6
|
#
1.70 |
|
22-Jul-2012 |
rmind |
branches: 1.70.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
#
1.69 |
|
16-Mar-2012 |
hannken |
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
|
#
1.68 |
|
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.
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.67 |
|
27-Jan-2012 |
para |
branches: 1.67.2; converting readdir in ffs ext2fs from malloc(9) to kmem(9) while there allocate ufs mount structs from kmem(9) too preceding kmem-vmem-pool-patch
releng@ acknowledged
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.66 |
|
12-Jul-2011 |
dholland |
branches: 1.66.2; 1.66.6; 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.65 |
|
12-Jul-2011 |
dholland |
Currently, ufs_lookup produces five auxiliary results that are left in the vnode when lookup returns and fished out again later.
1. Create struct ufs_lookup_results to hold these.
2. Call the ufs_lookup_results instance in struct inode "i_crap" to be clear about exactly what's going on, and to distinguish the lookup results from respectable members of struct inode.
3. Update references to these members in the directory access subroutines.
4. Include preliminary infrastructure for checking that the i_crap being used is still valid when it's used. This doesn't actually do anything yet.
5. Update the way ufs_wapbl_rename manipulates these elements to use the new data structures. I have not changed the manipulation; it may or may not be correct but I continue to suspect that it is not.
The word of the day is "stigmergy".
|
#
1.64 |
|
11-Jul-2011 |
hannken |
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@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
#
1.63 |
|
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.
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.62 |
|
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.61 |
|
08-Jan-2010 |
pooka |
branches: 1.61.2; 1.61.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 jym-xensuspend-nbase
|
#
1.60 |
|
12-Sep-2009 |
tsutsui |
Whitespace nits.
|
#
1.59 |
|
12-Sep-2009 |
tsutsui |
Migrate from u_intNN_t to uintNN_t.
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base mjf-devfs2-base
|
#
1.58 |
|
17-Dec-2008 |
cegger |
kill MALLOC and FREE macros.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
#
1.57 |
|
24-Nov-2008 |
tsutsui |
Remove an extra semicolon.
|
#
1.56 |
|
23-Nov-2008 |
mrg |
add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base matt-armv6-nbase mjf-devfs-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
#
1.55 |
|
08-Dec-2007 |
pooka |
branches: 1.55.12; 1.55.16; 1.55.22; 1.55.24; 1.55.26; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
#
1.54 |
|
26-Nov-2007 |
pooka |
branches: 1.54.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
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base
|
#
1.53 |
|
08-Oct-2007 |
ad |
branches: 1.53.4; Merge ffs locking & brelse changes from the vmlocking branch.
|
Revision tags: yamt-x86pmap-base2
|
#
1.52 |
|
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
#
1.51 |
|
21-Jul-2007 |
ad |
branches: 1.51.4; 1.51.6; 1.51.8; 1.51.10; Don't depend on uvm_extern.h pulling in proc.h.
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.50 |
|
04-Mar-2007 |
christos |
branches: 1.50.2; 1.50.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.49 |
|
09-Feb-2007 |
ad |
branches: 1.49.2; Merge newlock2 to head.
|
Revision tags: newlock2-nbase newlock2-base
|
#
1.48 |
|
04-Jan-2007 |
elad |
Consistent usage of KAUTH_GENERIC_ISSUSER.
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
#
1.47 |
|
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().
|
Revision tags: netbsd-4-base
|
#
1.46 |
|
16-Nov-2006 |
christos |
branches: 1.46.2; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
1.45 |
|
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.44 |
|
14-May-2006 |
elad |
branches: 1.44.8; 1.44.10; integrate kauth.
|
Revision tags: elad-kernelauth-base
|
#
1.43 |
|
15-Apr-2006 |
christos |
Coverity CID 1169: Add KASSERT before deref.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
|
#
1.42 |
|
18-Mar-2006 |
bouyer |
Remove dead code, fixing coverity ID 745. nameiop can only be CREATE or DELETE here. This code got cut-n-pasted from ufs_loolup.c, but is only used in whiteout support. ext2fs doesn't support whiteout.
|
#
1.41 |
|
17-Mar-2006 |
christos |
don't use MALLOC with a non-constant size; use malloc instead.
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
#
1.40 |
|
01-Mar-2006 |
yamt |
branches: 1.40.2; 1.40.4; 1.40.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.39 |
|
11-Dec-2005 |
christos |
branches: 1.39.2; 1.39.4; 1.39.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base ktrace-lwp-base
|
#
1.38 |
|
02-Nov-2005 |
yamt |
branches: 1.38.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.37 |
|
30-Aug-2005 |
xtraeme |
branches: 1.37.2; * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
#
1.36 |
|
23-Aug-2005 |
christos |
Don't overload MAXNAMLEN, use a separate constant for each filesystem type.
|
#
1.35 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.34 |
|
28-Jun-2005 |
kml |
branches: 1.34.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.33 |
|
29-May-2005 |
christos |
- sprinkle const - avoid shadow variables.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.32 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2
|
#
1.31 |
|
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@).
|
Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.30 |
|
17-Sep-2004 |
skrll |
branches: 1.30.4; 1.30.6; 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.29 |
|
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.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.28 |
|
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.27 |
|
29-Jun-2003 |
fvdl |
branches: 1.27.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.26 |
|
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.25 |
|
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.24 |
|
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.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.23 |
|
26-Nov-2002 |
yamt |
eliminate i_ino from in-core inode and use local variable instead.
ok'ed by Frank van der Linden.
|
#
1.22 |
|
25-Nov-2002 |
thorpej |
Avoid strict-alias warnings.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.21 |
|
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
Revision tags: gehenna-devsw-base
|
#
1.20 |
|
26-Jul-2002 |
wiz |
Spell '[Rr]ight' correctly. From Jim Bernard.
|
#
1.19 |
|
30-May-2002 |
thorpej |
#if 0 a test that is always false (and the XXX comment above it indicates so).
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base
|
#
1.18 |
|
08-Nov-2001 |
lukem |
branches: 1.18.8; 1.18.10; add RCSID
|
#
1.17 |
|
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.)
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base perseant-lfsv2-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.16 |
|
03-Aug-2000 |
thorpej |
branches: 1.16.2; 1.16.6; 1.16.10; MALLOC()/FREE() are not to be used for variable sized allocations.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.15 |
|
30-Mar-2000 |
augustss |
Remove register declarations.
|
Revision tags: chs-ubc2-newbase
|
#
1.14 |
|
28-Jan-2000 |
bouyer |
Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
#
1.13 |
|
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.
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.12 |
|
05-Sep-1999 |
jdolecek |
branches: 1.12.2; Adapt to cache_lookup() changes.
Tested by: jdolecek Rewieved by: wrstuden
|
#
1.11 |
|
04-Aug-1999 |
wrstuden |
Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup().
|
#
1.10 |
|
02-Aug-1999 |
wrstuden |
Add PDIRUNLOCK support.
|
Revision tags: kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base
|
#
1.9 |
|
02-Dec-1998 |
bouyer |
branches: 1.9.4; - intentation - sync LK_* flags with ffs/ufs
|
Revision tags: chs-ubc-base
|
#
1.8 |
|
13-Sep-1998 |
christos |
Fix copyright '\t' -> ' '
|
#
1.7 |
|
09-Aug-1998 |
perry |
bzero->memset, bcopy->memcpy, bcmp->memcmp
|
Revision tags: eeh-paddr_t-base
|
#
1.6 |
|
28-Jul-1998 |
mjacob |
fix to accomodate change in vn_rdwr prototype
|
#
1.5 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
|
#
1.4 |
|
10-Oct-1997 |
bouyer |
Update for 64 bits directory cookies.
|
#
1.3 |
|
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.
|
Revision tags: thorpej-signal-base
|
#
1.2 |
|
04-Aug-1997 |
bouyer |
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory block size boundary, because size of the returned dir entry may be bigger than the one read.
|
Revision tags: marc-pcmcia-bp
|
#
1.1 |
|
11-Jun-1997 |
bouyer |
branches: 1.1.4; The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|
#
1.90 |
|
04-Apr-2020 |
ad |
Merge the remaining changes from the ad-namecache branch, affecting namei() and getcwd():
- push vnode locking back as far as possible. - do most lookups directly in the namecache, avoiding vnode locks & refs. - don't block new refs to vnodes across VOP_INACTIVE(). - get shared locks for VOP_LOOKUP() if the file system supports it. - correct lock types for VOP_ACCESS() / VOP_GETATTR() in a few places.
Possible future enhancements:
- make the lookups lockless. - support dotdot lookups by being lockless and inferring absence of chroot. - maybe make it work for layered file systems. - avoid vnode references at the root & cwd.
|
#
1.89 |
|
14-Mar-2020 |
ad |
- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small functions: preempt_point() and preempt_needed().
- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of any priority boost gained earlier from blocking.
|
Revision tags: netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.88 |
|
23-Aug-2016 |
christos |
branches: 1.88.22; KNF, no functional change
|
#
1.87 |
|
19-Aug-2016 |
jdolecek |
fix bug introduced in rev 1.82 of ext2fs_lookup.c, when ext2fs_add_entry() was introduced splitting code from ext2fs_direnter() - code used incorrect new entry size, leading to incomplete entry copy or buffer overflow; fixed by passing the right size from ext2fs_direnter()
|
#
1.86 |
|
14-Aug-2016 |
jdolecek |
when converting on-disk direntry, only use the on-disk filetype if the feature flag is present
|
#
1.85 |
|
14-Aug-2016 |
jdolecek |
switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
#
1.84 |
|
13-Aug-2016 |
christos |
KNF, no functional changes...
|
#
1.83 |
|
13-Aug-2016 |
christos |
sync with hrishi's git
|
#
1.82 |
|
09-Aug-2016 |
christos |
merge missing function.
|
#
1.81 |
|
06-Aug-2016 |
jdolecek |
actually pass the d_type from the on-disk directory entry to the lookup results
|
Revision tags: pgoyette-localcount-20160806 jaromird-ext3 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.80 |
|
24-Jun-2016 |
christos |
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.79 |
|
12-Jan-2016 |
riastradh |
Use buffer cache, not page cache, to expand directories in ext2fs.
Candidate fix for PR kern/50607, PR port-evbmips/50059.
Formerly VOP_WRITE-->ext2fs_write would automatically dispatch to this code path for writes to directories, but I broke that in ext2fs_lookup.c rev. 1.78 when disentangling page-cached and buffer-cached writes.
This was not a problem in ufs, and I didn't notice it in ext2fs, because ufs consistently used buffercache(9) directly instead of using VOP_WRITE sometimes as ext2fs did.
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.78 |
|
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.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.77 |
|
03-Jun-2014 |
joerg |
branches: 1.77.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.76 |
|
25-May-2014 |
hannken |
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.75 |
|
08-May-2014 |
hannken |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
#
1.74 |
|
07-Feb-2014 |
hannken |
branches: 1.74.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
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
#
1.73 |
|
22-Jan-2013 |
dholland |
branches: 1.73.2; Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
Revision tags: yamt-pagecache-base7
|
#
1.72 |
|
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
#
1.71 |
|
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
Revision tags: yamt-pagecache-base6
|
#
1.70 |
|
22-Jul-2012 |
rmind |
branches: 1.70.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
#
1.69 |
|
16-Mar-2012 |
hannken |
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
|
#
1.68 |
|
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.
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.67 |
|
27-Jan-2012 |
para |
branches: 1.67.2; converting readdir in ffs ext2fs from malloc(9) to kmem(9) while there allocate ufs mount structs from kmem(9) too preceding kmem-vmem-pool-patch
releng@ acknowledged
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.66 |
|
12-Jul-2011 |
dholland |
branches: 1.66.2; 1.66.6; 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.65 |
|
12-Jul-2011 |
dholland |
Currently, ufs_lookup produces five auxiliary results that are left in the vnode when lookup returns and fished out again later.
1. Create struct ufs_lookup_results to hold these.
2. Call the ufs_lookup_results instance in struct inode "i_crap" to be clear about exactly what's going on, and to distinguish the lookup results from respectable members of struct inode.
3. Update references to these members in the directory access subroutines.
4. Include preliminary infrastructure for checking that the i_crap being used is still valid when it's used. This doesn't actually do anything yet.
5. Update the way ufs_wapbl_rename manipulates these elements to use the new data structures. I have not changed the manipulation; it may or may not be correct but I continue to suspect that it is not.
The word of the day is "stigmergy".
|
#
1.64 |
|
11-Jul-2011 |
hannken |
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@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
#
1.63 |
|
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.
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.62 |
|
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.61 |
|
08-Jan-2010 |
pooka |
branches: 1.61.2; 1.61.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 jym-xensuspend-nbase
|
#
1.60 |
|
12-Sep-2009 |
tsutsui |
Whitespace nits.
|
#
1.59 |
|
12-Sep-2009 |
tsutsui |
Migrate from u_intNN_t to uintNN_t.
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base mjf-devfs2-base
|
#
1.58 |
|
17-Dec-2008 |
cegger |
kill MALLOC and FREE macros.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
#
1.57 |
|
24-Nov-2008 |
tsutsui |
Remove an extra semicolon.
|
#
1.56 |
|
23-Nov-2008 |
mrg |
add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base matt-armv6-nbase mjf-devfs-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
#
1.55 |
|
08-Dec-2007 |
pooka |
branches: 1.55.12; 1.55.16; 1.55.22; 1.55.24; 1.55.26; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
#
1.54 |
|
26-Nov-2007 |
pooka |
branches: 1.54.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
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base
|
#
1.53 |
|
08-Oct-2007 |
ad |
branches: 1.53.4; Merge ffs locking & brelse changes from the vmlocking branch.
|
Revision tags: yamt-x86pmap-base2
|
#
1.52 |
|
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
#
1.51 |
|
21-Jul-2007 |
ad |
branches: 1.51.4; 1.51.6; 1.51.8; 1.51.10; Don't depend on uvm_extern.h pulling in proc.h.
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.50 |
|
04-Mar-2007 |
christos |
branches: 1.50.2; 1.50.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.49 |
|
09-Feb-2007 |
ad |
branches: 1.49.2; Merge newlock2 to head.
|
Revision tags: newlock2-nbase newlock2-base
|
#
1.48 |
|
04-Jan-2007 |
elad |
Consistent usage of KAUTH_GENERIC_ISSUSER.
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
#
1.47 |
|
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().
|
Revision tags: netbsd-4-base
|
#
1.46 |
|
16-Nov-2006 |
christos |
branches: 1.46.2; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
1.45 |
|
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.44 |
|
14-May-2006 |
elad |
branches: 1.44.8; 1.44.10; integrate kauth.
|
Revision tags: elad-kernelauth-base
|
#
1.43 |
|
15-Apr-2006 |
christos |
Coverity CID 1169: Add KASSERT before deref.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
|
#
1.42 |
|
18-Mar-2006 |
bouyer |
Remove dead code, fixing coverity ID 745. nameiop can only be CREATE or DELETE here. This code got cut-n-pasted from ufs_loolup.c, but is only used in whiteout support. ext2fs doesn't support whiteout.
|
#
1.41 |
|
17-Mar-2006 |
christos |
don't use MALLOC with a non-constant size; use malloc instead.
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
#
1.40 |
|
01-Mar-2006 |
yamt |
branches: 1.40.2; 1.40.4; 1.40.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.39 |
|
11-Dec-2005 |
christos |
branches: 1.39.2; 1.39.4; 1.39.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base ktrace-lwp-base
|
#
1.38 |
|
02-Nov-2005 |
yamt |
branches: 1.38.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.37 |
|
30-Aug-2005 |
xtraeme |
branches: 1.37.2; * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
#
1.36 |
|
23-Aug-2005 |
christos |
Don't overload MAXNAMLEN, use a separate constant for each filesystem type.
|
#
1.35 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.34 |
|
28-Jun-2005 |
kml |
branches: 1.34.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.33 |
|
29-May-2005 |
christos |
- sprinkle const - avoid shadow variables.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.32 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2
|
#
1.31 |
|
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@).
|
Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.30 |
|
17-Sep-2004 |
skrll |
branches: 1.30.4; 1.30.6; 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.29 |
|
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.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.28 |
|
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.27 |
|
29-Jun-2003 |
fvdl |
branches: 1.27.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.26 |
|
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.25 |
|
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.24 |
|
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.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.23 |
|
26-Nov-2002 |
yamt |
eliminate i_ino from in-core inode and use local variable instead.
ok'ed by Frank van der Linden.
|
#
1.22 |
|
25-Nov-2002 |
thorpej |
Avoid strict-alias warnings.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.21 |
|
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
Revision tags: gehenna-devsw-base
|
#
1.20 |
|
26-Jul-2002 |
wiz |
Spell '[Rr]ight' correctly. From Jim Bernard.
|
#
1.19 |
|
30-May-2002 |
thorpej |
#if 0 a test that is always false (and the XXX comment above it indicates so).
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base
|
#
1.18 |
|
08-Nov-2001 |
lukem |
branches: 1.18.8; 1.18.10; add RCSID
|
#
1.17 |
|
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.)
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base perseant-lfsv2-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.16 |
|
03-Aug-2000 |
thorpej |
branches: 1.16.2; 1.16.6; 1.16.10; MALLOC()/FREE() are not to be used for variable sized allocations.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.15 |
|
30-Mar-2000 |
augustss |
Remove register declarations.
|
Revision tags: chs-ubc2-newbase
|
#
1.14 |
|
28-Jan-2000 |
bouyer |
Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
#
1.13 |
|
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.
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.12 |
|
05-Sep-1999 |
jdolecek |
branches: 1.12.2; Adapt to cache_lookup() changes.
Tested by: jdolecek Rewieved by: wrstuden
|
#
1.11 |
|
04-Aug-1999 |
wrstuden |
Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup().
|
#
1.10 |
|
02-Aug-1999 |
wrstuden |
Add PDIRUNLOCK support.
|
Revision tags: kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base
|
#
1.9 |
|
02-Dec-1998 |
bouyer |
branches: 1.9.4; - intentation - sync LK_* flags with ffs/ufs
|
Revision tags: chs-ubc-base
|
#
1.8 |
|
13-Sep-1998 |
christos |
Fix copyright '\t' -> ' '
|
#
1.7 |
|
09-Aug-1998 |
perry |
bzero->memset, bcopy->memcpy, bcmp->memcmp
|
Revision tags: eeh-paddr_t-base
|
#
1.6 |
|
28-Jul-1998 |
mjacob |
fix to accomodate change in vn_rdwr prototype
|
#
1.5 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
|
#
1.4 |
|
10-Oct-1997 |
bouyer |
Update for 64 bits directory cookies.
|
#
1.3 |
|
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.
|
Revision tags: thorpej-signal-base
|
#
1.2 |
|
04-Aug-1997 |
bouyer |
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory block size boundary, because size of the returned dir entry may be bigger than the one read.
|
Revision tags: marc-pcmcia-bp
|
#
1.1 |
|
11-Jun-1997 |
bouyer |
branches: 1.1.4; The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|
#
1.89 |
|
14-Mar-2020 |
ad |
- Hide the details of SPCF_SHOULDYIELD and related behind a couple of small functions: preempt_point() and preempt_needed().
- preempt(): if the LWP has exceeded its timeslice in kernel, strip it of any priority boost gained earlier from blocking.
|
Revision tags: ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.88 |
|
23-Aug-2016 |
christos |
branches: 1.88.22; KNF, no functional change
|
#
1.87 |
|
19-Aug-2016 |
jdolecek |
fix bug introduced in rev 1.82 of ext2fs_lookup.c, when ext2fs_add_entry() was introduced splitting code from ext2fs_direnter() - code used incorrect new entry size, leading to incomplete entry copy or buffer overflow; fixed by passing the right size from ext2fs_direnter()
|
#
1.86 |
|
14-Aug-2016 |
jdolecek |
when converting on-disk direntry, only use the on-disk filetype if the feature flag is present
|
#
1.85 |
|
14-Aug-2016 |
jdolecek |
switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
#
1.84 |
|
13-Aug-2016 |
christos |
KNF, no functional changes...
|
#
1.83 |
|
13-Aug-2016 |
christos |
sync with hrishi's git
|
#
1.82 |
|
09-Aug-2016 |
christos |
merge missing function.
|
#
1.81 |
|
06-Aug-2016 |
jdolecek |
actually pass the d_type from the on-disk directory entry to the lookup results
|
Revision tags: pgoyette-localcount-20160806 jaromird-ext3 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.80 |
|
24-Jun-2016 |
christos |
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.79 |
|
12-Jan-2016 |
riastradh |
Use buffer cache, not page cache, to expand directories in ext2fs.
Candidate fix for PR kern/50607, PR port-evbmips/50059.
Formerly VOP_WRITE-->ext2fs_write would automatically dispatch to this code path for writes to directories, but I broke that in ext2fs_lookup.c rev. 1.78 when disentangling page-cached and buffer-cached writes.
This was not a problem in ufs, and I didn't notice it in ext2fs, because ufs consistently used buffercache(9) directly instead of using VOP_WRITE sometimes as ext2fs did.
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.78 |
|
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.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.77 |
|
03-Jun-2014 |
joerg |
branches: 1.77.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.76 |
|
25-May-2014 |
hannken |
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.75 |
|
08-May-2014 |
hannken |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
#
1.74 |
|
07-Feb-2014 |
hannken |
branches: 1.74.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
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
#
1.73 |
|
22-Jan-2013 |
dholland |
branches: 1.73.2; Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
Revision tags: yamt-pagecache-base7
|
#
1.72 |
|
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
#
1.71 |
|
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
Revision tags: yamt-pagecache-base6
|
#
1.70 |
|
22-Jul-2012 |
rmind |
branches: 1.70.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
#
1.69 |
|
16-Mar-2012 |
hannken |
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
|
#
1.68 |
|
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.
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.67 |
|
27-Jan-2012 |
para |
branches: 1.67.2; converting readdir in ffs ext2fs from malloc(9) to kmem(9) while there allocate ufs mount structs from kmem(9) too preceding kmem-vmem-pool-patch
releng@ acknowledged
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.66 |
|
12-Jul-2011 |
dholland |
branches: 1.66.2; 1.66.6; 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.65 |
|
12-Jul-2011 |
dholland |
Currently, ufs_lookup produces five auxiliary results that are left in the vnode when lookup returns and fished out again later.
1. Create struct ufs_lookup_results to hold these.
2. Call the ufs_lookup_results instance in struct inode "i_crap" to be clear about exactly what's going on, and to distinguish the lookup results from respectable members of struct inode.
3. Update references to these members in the directory access subroutines.
4. Include preliminary infrastructure for checking that the i_crap being used is still valid when it's used. This doesn't actually do anything yet.
5. Update the way ufs_wapbl_rename manipulates these elements to use the new data structures. I have not changed the manipulation; it may or may not be correct but I continue to suspect that it is not.
The word of the day is "stigmergy".
|
#
1.64 |
|
11-Jul-2011 |
hannken |
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@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
#
1.63 |
|
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.
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.62 |
|
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.61 |
|
08-Jan-2010 |
pooka |
branches: 1.61.2; 1.61.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 jym-xensuspend-nbase
|
#
1.60 |
|
12-Sep-2009 |
tsutsui |
Whitespace nits.
|
#
1.59 |
|
12-Sep-2009 |
tsutsui |
Migrate from u_intNN_t to uintNN_t.
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base mjf-devfs2-base
|
#
1.58 |
|
17-Dec-2008 |
cegger |
kill MALLOC and FREE macros.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
#
1.57 |
|
24-Nov-2008 |
tsutsui |
Remove an extra semicolon.
|
#
1.56 |
|
23-Nov-2008 |
mrg |
add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base matt-armv6-nbase mjf-devfs-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
#
1.55 |
|
08-Dec-2007 |
pooka |
branches: 1.55.12; 1.55.16; 1.55.22; 1.55.24; 1.55.26; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
#
1.54 |
|
26-Nov-2007 |
pooka |
branches: 1.54.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
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base
|
#
1.53 |
|
08-Oct-2007 |
ad |
branches: 1.53.4; Merge ffs locking & brelse changes from the vmlocking branch.
|
Revision tags: yamt-x86pmap-base2
|
#
1.52 |
|
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
#
1.51 |
|
21-Jul-2007 |
ad |
branches: 1.51.4; 1.51.6; 1.51.8; 1.51.10; Don't depend on uvm_extern.h pulling in proc.h.
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.50 |
|
04-Mar-2007 |
christos |
branches: 1.50.2; 1.50.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.49 |
|
09-Feb-2007 |
ad |
branches: 1.49.2; Merge newlock2 to head.
|
Revision tags: newlock2-nbase newlock2-base
|
#
1.48 |
|
04-Jan-2007 |
elad |
Consistent usage of KAUTH_GENERIC_ISSUSER.
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
#
1.47 |
|
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().
|
Revision tags: netbsd-4-base
|
#
1.46 |
|
16-Nov-2006 |
christos |
branches: 1.46.2; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
1.45 |
|
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.44 |
|
14-May-2006 |
elad |
branches: 1.44.8; 1.44.10; integrate kauth.
|
Revision tags: elad-kernelauth-base
|
#
1.43 |
|
15-Apr-2006 |
christos |
Coverity CID 1169: Add KASSERT before deref.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
|
#
1.42 |
|
18-Mar-2006 |
bouyer |
Remove dead code, fixing coverity ID 745. nameiop can only be CREATE or DELETE here. This code got cut-n-pasted from ufs_loolup.c, but is only used in whiteout support. ext2fs doesn't support whiteout.
|
#
1.41 |
|
17-Mar-2006 |
christos |
don't use MALLOC with a non-constant size; use malloc instead.
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
#
1.40 |
|
01-Mar-2006 |
yamt |
branches: 1.40.2; 1.40.4; 1.40.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.39 |
|
11-Dec-2005 |
christos |
branches: 1.39.2; 1.39.4; 1.39.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base ktrace-lwp-base
|
#
1.38 |
|
02-Nov-2005 |
yamt |
branches: 1.38.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.37 |
|
30-Aug-2005 |
xtraeme |
branches: 1.37.2; * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
#
1.36 |
|
23-Aug-2005 |
christos |
Don't overload MAXNAMLEN, use a separate constant for each filesystem type.
|
#
1.35 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.34 |
|
28-Jun-2005 |
kml |
branches: 1.34.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.33 |
|
29-May-2005 |
christos |
- sprinkle const - avoid shadow variables.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.32 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2
|
#
1.31 |
|
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@).
|
Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.30 |
|
17-Sep-2004 |
skrll |
branches: 1.30.4; 1.30.6; 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.29 |
|
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.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.28 |
|
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.27 |
|
29-Jun-2003 |
fvdl |
branches: 1.27.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.26 |
|
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.25 |
|
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.24 |
|
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.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.23 |
|
26-Nov-2002 |
yamt |
eliminate i_ino from in-core inode and use local variable instead.
ok'ed by Frank van der Linden.
|
#
1.22 |
|
25-Nov-2002 |
thorpej |
Avoid strict-alias warnings.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.21 |
|
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
Revision tags: gehenna-devsw-base
|
#
1.20 |
|
26-Jul-2002 |
wiz |
Spell '[Rr]ight' correctly. From Jim Bernard.
|
#
1.19 |
|
30-May-2002 |
thorpej |
#if 0 a test that is always false (and the XXX comment above it indicates so).
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base
|
#
1.18 |
|
08-Nov-2001 |
lukem |
branches: 1.18.8; 1.18.10; add RCSID
|
#
1.17 |
|
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.)
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base perseant-lfsv2-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.16 |
|
03-Aug-2000 |
thorpej |
branches: 1.16.2; 1.16.6; 1.16.10; MALLOC()/FREE() are not to be used for variable sized allocations.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.15 |
|
30-Mar-2000 |
augustss |
Remove register declarations.
|
Revision tags: chs-ubc2-newbase
|
#
1.14 |
|
28-Jan-2000 |
bouyer |
Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
#
1.13 |
|
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.
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.12 |
|
05-Sep-1999 |
jdolecek |
branches: 1.12.2; Adapt to cache_lookup() changes.
Tested by: jdolecek Rewieved by: wrstuden
|
#
1.11 |
|
04-Aug-1999 |
wrstuden |
Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup().
|
#
1.10 |
|
02-Aug-1999 |
wrstuden |
Add PDIRUNLOCK support.
|
Revision tags: kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base
|
#
1.9 |
|
02-Dec-1998 |
bouyer |
branches: 1.9.4; - intentation - sync LK_* flags with ffs/ufs
|
Revision tags: chs-ubc-base
|
#
1.8 |
|
13-Sep-1998 |
christos |
Fix copyright '\t' -> ' '
|
#
1.7 |
|
09-Aug-1998 |
perry |
bzero->memset, bcopy->memcpy, bcmp->memcmp
|
Revision tags: eeh-paddr_t-base
|
#
1.6 |
|
28-Jul-1998 |
mjacob |
fix to accomodate change in vn_rdwr prototype
|
#
1.5 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
|
#
1.4 |
|
10-Oct-1997 |
bouyer |
Update for 64 bits directory cookies.
|
#
1.3 |
|
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.
|
Revision tags: thorpej-signal-base
|
#
1.2 |
|
04-Aug-1997 |
bouyer |
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory block size boundary, because size of the returned dir entry may be bigger than the one read.
|
Revision tags: marc-pcmcia-bp
|
#
1.1 |
|
11-Jun-1997 |
bouyer |
branches: 1.1.4; The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.88 |
|
23-Aug-2016 |
christos |
KNF, no functional change
|
#
1.87 |
|
19-Aug-2016 |
jdolecek |
fix bug introduced in rev 1.82 of ext2fs_lookup.c, when ext2fs_add_entry() was introduced splitting code from ext2fs_direnter() - code used incorrect new entry size, leading to incomplete entry copy or buffer overflow; fixed by passing the right size from ext2fs_direnter()
|
#
1.86 |
|
14-Aug-2016 |
jdolecek |
when converting on-disk direntry, only use the on-disk filetype if the feature flag is present
|
#
1.85 |
|
14-Aug-2016 |
jdolecek |
switch code to use the EXT2_HAS_{COMPAT|ROCOMPAT|INCOMPAT}_FEATURE() macros instead of open coding the checks
|
#
1.84 |
|
13-Aug-2016 |
christos |
KNF, no functional changes...
|
#
1.83 |
|
13-Aug-2016 |
christos |
sync with hrishi's git
|
#
1.82 |
|
09-Aug-2016 |
christos |
merge missing function.
|
#
1.81 |
|
06-Aug-2016 |
jdolecek |
actually pass the d_type from the on-disk directory entry to the lookup results
|
Revision tags: pgoyette-localcount-20160806 jaromird-ext3 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.80 |
|
24-Jun-2016 |
christos |
GSoC 2016 (Hrishikesh Goyal): Htree index support from FreeBSD
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.79 |
|
12-Jan-2016 |
riastradh |
Use buffer cache, not page cache, to expand directories in ext2fs.
Candidate fix for PR kern/50607, PR port-evbmips/50059.
Formerly VOP_WRITE-->ext2fs_write would automatically dispatch to this code path for writes to directories, but I broke that in ext2fs_lookup.c rev. 1.78 when disentangling page-cached and buffer-cached writes.
This was not a problem in ufs, and I didn't notice it in ext2fs, because ufs consistently used buffercache(9) directly instead of using VOP_WRITE sometimes as ext2fs did.
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.78 |
|
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.
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.77 |
|
03-Jun-2014 |
joerg |
branches: 1.77.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.76 |
|
25-May-2014 |
hannken |
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.75 |
|
08-May-2014 |
hannken |
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair. - vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to initialise a vnode / fs node pair. This call is guaranteed exclusive, no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
|
#
1.74 |
|
07-Feb-2014 |
hannken |
branches: 1.74.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
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8
|
#
1.73 |
|
22-Jan-2013 |
dholland |
branches: 1.73.2; Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
Revision tags: yamt-pagecache-base7
|
#
1.72 |
|
05-Nov-2012 |
dholland |
Excise struct componentname from the namecache.
This uglifies the interface, because several operations need to be passed the namei flags and cache_lookup also needs for the time being to be passed cnp->cn_nameiop. Nonetheless, it's a net benefit.
The glop should be able to go away eventually but requires structural cleanup elsewhere first.
This change requires a kernel bump.
|
#
1.71 |
|
05-Nov-2012 |
dholland |
Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
Revision tags: yamt-pagecache-base6
|
#
1.70 |
|
22-Jul-2012 |
rmind |
branches: 1.70.2; Move some the test for MAKEENTRY into the cache_enter(9). Make some variables in vfs_cache.c static, __read_mostly, etc.
No objection on tech-kern@.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8
|
#
1.69 |
|
16-Mar-2012 |
hannken |
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
|
#
1.68 |
|
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.
|
Revision tags: jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.67 |
|
27-Jan-2012 |
para |
branches: 1.67.2; converting readdir in ffs ext2fs from malloc(9) to kmem(9) while there allocate ufs mount structs from kmem(9) too preceding kmem-vmem-pool-patch
releng@ acknowledged
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.66 |
|
12-Jul-2011 |
dholland |
branches: 1.66.2; 1.66.6; 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.65 |
|
12-Jul-2011 |
dholland |
Currently, ufs_lookup produces five auxiliary results that are left in the vnode when lookup returns and fished out again later.
1. Create struct ufs_lookup_results to hold these.
2. Call the ufs_lookup_results instance in struct inode "i_crap" to be clear about exactly what's going on, and to distinguish the lookup results from respectable members of struct inode.
3. Update references to these members in the directory access subroutines.
4. Include preliminary infrastructure for checking that the i_crap being used is still valid when it's used. This doesn't actually do anything yet.
5. Update the way ufs_wapbl_rename manipulates these elements to use the new data structures. I have not changed the manipulation; it may or may not be correct but I continue to suspect that it is not.
The word of the day is "stigmergy".
|
#
1.64 |
|
11-Jul-2011 |
hannken |
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@.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
#
1.63 |
|
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.
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.62 |
|
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.
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.61 |
|
08-Jan-2010 |
pooka |
branches: 1.61.2; 1.61.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 jym-xensuspend-nbase
|
#
1.60 |
|
12-Sep-2009 |
tsutsui |
Whitespace nits.
|
#
1.59 |
|
12-Sep-2009 |
tsutsui |
Migrate from u_intNN_t to uintNN_t.
|
Revision tags: yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 jym-xensuspend-base nick-hppapmap-base mjf-devfs2-base
|
#
1.58 |
|
17-Dec-2008 |
cegger |
kill MALLOC and FREE macros.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base
|
#
1.57 |
|
24-Nov-2008 |
tsutsui |
Remove an extra semicolon.
|
#
1.56 |
|
23-Nov-2008 |
mrg |
add support for 32 bit uid/gid fields in ext2, but only do so for when the revision is > REV0.
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base matt-armv6-nbase mjf-devfs-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
#
1.55 |
|
08-Dec-2007 |
pooka |
branches: 1.55.12; 1.55.16; 1.55.22; 1.55.24; 1.55.26; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
Revision tags: vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 vmlocking-nbase reinoud-bufcleanup-base
|
#
1.54 |
|
26-Nov-2007 |
pooka |
branches: 1.54.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
|
Revision tags: jmcneill-base bouyer-xenamd64-base2 yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 vmlocking-base
|
#
1.53 |
|
08-Oct-2007 |
ad |
branches: 1.53.4; Merge ffs locking & brelse changes from the vmlocking branch.
|
Revision tags: yamt-x86pmap-base2
|
#
1.52 |
|
24-Sep-2007 |
rumble |
Avoid stack allocation of large dirent structures in foo_readdir().
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
#
1.51 |
|
21-Jul-2007 |
ad |
branches: 1.51.4; 1.51.6; 1.51.8; 1.51.10; Don't depend on uvm_extern.h pulling in proc.h.
|
Revision tags: nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.50 |
|
04-Mar-2007 |
christos |
branches: 1.50.2; 1.50.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: ad-audiomp-base post-newlock2-merge
|
#
1.49 |
|
09-Feb-2007 |
ad |
branches: 1.49.2; Merge newlock2 to head.
|
Revision tags: newlock2-nbase newlock2-base
|
#
1.48 |
|
04-Jan-2007 |
elad |
Consistent usage of KAUTH_GENERIC_ISSUSER.
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3
|
#
1.47 |
|
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().
|
Revision tags: netbsd-4-base
|
#
1.46 |
|
16-Nov-2006 |
christos |
branches: 1.46.2; __unused removal on arguments; approved by core.
|
Revision tags: yamt-splraiseipl-base2
|
#
1.45 |
|
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.44 |
|
14-May-2006 |
elad |
branches: 1.44.8; 1.44.10; integrate kauth.
|
Revision tags: elad-kernelauth-base
|
#
1.43 |
|
15-Apr-2006 |
christos |
Coverity CID 1169: Add KASSERT before deref.
|
Revision tags: yamt-pdpolicy-base4 yamt-pdpolicy-base3
|
#
1.42 |
|
18-Mar-2006 |
bouyer |
Remove dead code, fixing coverity ID 745. nameiop can only be CREATE or DELETE here. This code got cut-n-pasted from ufs_loolup.c, but is only used in whiteout support. ext2fs doesn't support whiteout.
|
#
1.41 |
|
17-Mar-2006 |
christos |
don't use MALLOC with a non-constant size; use malloc instead.
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
|
#
1.40 |
|
01-Mar-2006 |
yamt |
branches: 1.40.2; 1.40.4; 1.40.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
Revision tags: yamt-uio_vmspace-base5
|
#
1.39 |
|
11-Dec-2005 |
christos |
branches: 1.39.2; 1.39.4; 1.39.6; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-base ktrace-lwp-base
|
#
1.38 |
|
02-Nov-2005 |
yamt |
branches: 1.38.2; merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.37 |
|
30-Aug-2005 |
xtraeme |
branches: 1.37.2; * Remove __P() * Use ANSI function declarations on ext2fs and mfs
|
#
1.36 |
|
23-Aug-2005 |
christos |
Don't overload MAXNAMLEN, use a separate constant for each filesystem type.
|
#
1.35 |
|
19-Aug-2005 |
christos |
64 bit inode changes.
|
#
1.34 |
|
28-Jun-2005 |
kml |
branches: 1.34.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.33 |
|
29-May-2005 |
christos |
- sprinkle const - avoid shadow variables.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
#
1.32 |
|
26-Feb-2005 |
perry |
nuke trailing whitespace
|
Revision tags: yamt-km-base2
|
#
1.31 |
|
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@).
|
Revision tags: yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.30 |
|
17-Sep-2004 |
skrll |
branches: 1.30.4; 1.30.6; 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.29 |
|
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.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.28 |
|
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.27 |
|
29-Jun-2003 |
fvdl |
branches: 1.27.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
#
1.26 |
|
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.25 |
|
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.24 |
|
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.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.23 |
|
26-Nov-2002 |
yamt |
eliminate i_ino from in-core inode and use local variable instead.
ok'ed by Frank van der Linden.
|
#
1.22 |
|
25-Nov-2002 |
thorpej |
Avoid strict-alias warnings.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.21 |
|
27-Sep-2002 |
provos |
remove trailing \n in panic(). approved perry.
|
Revision tags: gehenna-devsw-base
|
#
1.20 |
|
26-Jul-2002 |
wiz |
Spell '[Rr]ight' correctly. From Jim Bernard.
|
#
1.19 |
|
30-May-2002 |
thorpej |
#if 0 a test that is always false (and the XXX comment above it indicates so).
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base
|
#
1.18 |
|
08-Nov-2001 |
lukem |
branches: 1.18.8; 1.18.10; add RCSID
|
#
1.17 |
|
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.)
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base perseant-lfsv2-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.16 |
|
03-Aug-2000 |
thorpej |
branches: 1.16.2; 1.16.6; 1.16.10; MALLOC()/FREE() are not to be used for variable sized allocations.
|
Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.15 |
|
30-Mar-2000 |
augustss |
Remove register declarations.
|
Revision tags: chs-ubc2-newbase
|
#
1.14 |
|
28-Jan-2000 |
bouyer |
Correct (minor) bogons in filetype option support, and add support for sparse_super option
|
#
1.13 |
|
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.
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.12 |
|
05-Sep-1999 |
jdolecek |
branches: 1.12.2; Adapt to cache_lookup() changes.
Tested by: jdolecek Rewieved by: wrstuden
|
#
1.11 |
|
04-Aug-1999 |
wrstuden |
Pull in changes which parallel rev 1.22 -> 1.25 of ufs_lookup().
|
#
1.10 |
|
02-Aug-1999 |
wrstuden |
Add PDIRUNLOCK support.
|
Revision tags: kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 chs-ubc2-base netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base
|
#
1.9 |
|
02-Dec-1998 |
bouyer |
branches: 1.9.4; - intentation - sync LK_* flags with ffs/ufs
|
Revision tags: chs-ubc-base
|
#
1.8 |
|
13-Sep-1998 |
christos |
Fix copyright '\t' -> ' '
|
#
1.7 |
|
09-Aug-1998 |
perry |
bzero->memset, bcopy->memcpy, bcmp->memcmp
|
Revision tags: eeh-paddr_t-base
|
#
1.6 |
|
28-Jul-1998 |
mjacob |
fix to accomodate change in vn_rdwr prototype
|
#
1.5 |
|
01-Mar-1998 |
fvdl |
Merge with Lite2 + local changes
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base marc-pcmcia-base
|
#
1.4 |
|
10-Oct-1997 |
bouyer |
Update for 64 bits directory cookies.
|
#
1.3 |
|
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.
|
Revision tags: thorpej-signal-base
|
#
1.2 |
|
04-Aug-1997 |
bouyer |
Fix bad cut&paste from ufs code: we can't align uio_resid to a directory block size boundary, because size of the returned dir entry may be bigger than the one read.
|
Revision tags: marc-pcmcia-bp
|
#
1.1 |
|
11-Jun-1997 |
bouyer |
branches: 1.1.4; The ext2fs layer, based on the ffs/ufs one. Uses a few functions from sys/ufs/ufs/
|