#
1.47 |
|
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.46 |
|
05-Sep-2020 |
riastradh |
Revert "ufs: Prevent mkdir from choking on deleted directories."
This change made no sense and should not have been committed.
|
#
1.45 |
|
05-Sep-2020 |
riastradh |
ufs: Prevent mkdir from choking on deleted directories.
Fix some missing uvm_vnp_setsize in screw cases while here.
|
#
1.44 |
|
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.43 |
|
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.42 |
|
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 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 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 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.41 |
|
10-Jun-2017 |
maya |
branches: 1.41.6; 1.41.12; Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base
|
#
1.40 |
|
30-Mar-2017 |
hannken |
branches: 1.40.6; Remove now redundant calls to fstrans_start()/fstrans_done().
Add fstrans_start()/fstrans_done() to lfs_putpages().
|
Revision tags: 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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
branches: 1.39.2; 1.39.4; Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|
#
1.46 |
|
05-Sep-2020 |
riastradh |
Revert "ufs: Prevent mkdir from choking on deleted directories."
This change made no sense and should not have been committed.
|
#
1.45 |
|
05-Sep-2020 |
riastradh |
ufs: Prevent mkdir from choking on deleted directories.
Fix some missing uvm_vnp_setsize in screw cases while here.
|
#
1.44 |
|
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.43 |
|
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.42 |
|
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 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 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 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.41 |
|
10-Jun-2017 |
maya |
branches: 1.41.6; 1.41.12; Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base
|
#
1.40 |
|
30-Mar-2017 |
hannken |
branches: 1.40.6; Remove now redundant calls to fstrans_start()/fstrans_done().
Add fstrans_start()/fstrans_done() to lfs_putpages().
|
Revision tags: 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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
branches: 1.39.2; 1.39.4; Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|
#
1.44 |
|
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.43 |
|
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.42 |
|
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 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 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 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.41 |
|
10-Jun-2017 |
maya |
branches: 1.41.6; 1.41.12; Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base
|
#
1.40 |
|
30-Mar-2017 |
hannken |
branches: 1.40.6; Remove now redundant calls to fstrans_start()/fstrans_done().
Add fstrans_start()/fstrans_done() to lfs_putpages().
|
Revision tags: 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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
branches: 1.39.2; 1.39.4; Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|
#
1.43 |
|
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.42 |
|
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 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 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.41 |
|
10-Jun-2017 |
maya |
branches: 1.41.12; Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base
|
#
1.40 |
|
30-Mar-2017 |
hannken |
branches: 1.40.6; Remove now redundant calls to fstrans_start()/fstrans_done().
Add fstrans_start()/fstrans_done() to lfs_putpages().
|
Revision tags: 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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
branches: 1.39.2; 1.39.4; Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|
#
1.42 |
|
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 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 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
#
1.41 |
|
10-Jun-2017 |
maya |
branches: 1.41.12; Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base
|
#
1.40 |
|
30-Mar-2017 |
hannken |
branches: 1.40.6; Remove now redundant calls to fstrans_start()/fstrans_done().
Add fstrans_start()/fstrans_done() to lfs_putpages().
|
Revision tags: 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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
branches: 1.39.2; 1.39.4; Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|
#
1.41 |
|
10-Jun-2017 |
maya |
Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base
|
#
1.40 |
|
30-Mar-2017 |
hannken |
Remove now redundant calls to fstrans_start()/fstrans_done().
Add fstrans_start()/fstrans_done() to lfs_putpages().
|
Revision tags: 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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
branches: 1.39.2; 1.39.4; Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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-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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|
Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base
|
#
1.40 |
|
30-Mar-2017 |
hannken |
Remove now redundant calls to fstrans_start()/fstrans_done().
Add fstrans_start()/fstrans_done() to lfs_putpages().
|
Revision tags: 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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
branches: 1.39.2; 1.39.4; Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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-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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.39 |
|
20-Jun-2016 |
dholland |
Note more already-merged versions:
inode.h 1.68 is subsumed by ulfs_inode.h 1.19 inode.h 1.69-1.72 do not apply to lfs ufs_extern.h 1.74 was covered when lfs was moved to the new vnode cache ufs_extern.h 1.75 is equivalent to ulfs_extern.h 1.13 ufs_extern.h 1.76-1.77 do not apply to lfs ufsmount.h 1.42 does not apply to lfs ufs_inode.c 1.90 is subsumed by ulfs_inode.c 1.10 ufs_inode.c 1.91-1.92 do not apply to lfs ufs_lookup.c 1.130 is subsumed by ulfs_lookup.c 1.24 ufs_lookup.c 1.131 is equivalent to ulfs_lookup.c 1.20 ufs_lookup.c 1.132 is equivalent to ulfs_lookup.c 1.21 ufs_lookup.c 1.133 is equivalent to ulfs_lookup.c 1.22 ufs_lookup.c 1.134 is equivalent to ulfs_lookup.c 1.23 ufs_lookup.c 1.135 is equivalent to ulfs_lookup.c 1.25 ufs_quota2.c 1.38 is equivalent to ulfs_quota2.c 1.17 ufs_quota2.c 1.39 is equivalent to ulfs_quota2.c 1.16 ufs_quota2.c 1.40 is equivalent to ulfs_quota2.c 1.18 ufs_vfsops.c 1.53 is subsumed by lfs_vfsops.c 1.324 ufs_vfsops.c 1.54 is subsumed by lfs_vfsops.c 1.324 ufs_vnops.c 1.223-1.224 do not apply to lfs
|
#
1.38 |
|
20-Jun-2016 |
dholland |
More already-merged or equivalent changes:
ufs_dirhash.c 1.36 corresponds to ulfs_dirhash.c 1.8 ufs_extattr.c 1.43 corresponds to ulfs_extattr.c 1.7 ufs_lookup.c 1.126 does not apply to lfs ufs_lookup.c 1.127 we already have ufs_lookup.c 1.128 does not apply to lfs ufs_lookup.c 1.129 corresponds to ulfs_lookup.c 1.19 ufs_quota1.c 1.19 corresponds to ulfs_quota1.c 1.7 ufs_quota1.c 1.20 corresponds to ulfs_quota1.c 1.8 ufs_quota2.c 1.36 we have equivalent changes for ufs_rename.c 1.9 corresponds to lfs_rename.c 1.5 ufs_rename.c 1.10 corresponds to lfs_rename.c 1.6 ufs_vnops.c 1.219 corresponds to lfs_vnops.c 1.260 and ulfs_vnops.c 1.19 ufs_vnops.c 1.220 corresponds to lfs_vnops.c 1.261 and ulfs_vnops.c 1.20 ufs_vnops.c 1.221 was superseded by later changes ufs_vnops.c 1.222 got fixed independently in lfs
|
#
1.37 |
|
19-Jun-2016 |
dholland |
we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.
|
#
1.36 |
|
19-Jun-2016 |
dholland |
Update the ufs versions these files are synced with by 1: the 201306016 commit by hannken@ that removed references to ffs_snapgone in ufs doesn't need to be synced into lfs.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.35 |
|
14-Nov-2015 |
pgoyette |
Remove historic references to wapbl.
|
Revision tags: nick-nhusb-base-20150921
|
#
1.34 |
|
21-Sep-2015 |
dholland |
Add 64-bit directory entry structures, and adjust accessors accordingly.
The LFS64 directory entry has a 64-bit inode number. This is stored as two 32-bit values to avoid inducing 64-bit alignment requirements.
The exposed type for manipulating directory entries is now LFS_DIRHEADER, following the same convention as e.g. IFILE and SEGUSE. (But with LFS_ on it, because.)
|
#
1.33 |
|
21-Sep-2015 |
dholland |
Oops; LFS_DIRECTSIZ() is going to need the fs as an argument.
Also, it turns out that dirhash needs a compile-time-constant version of LFS_DIRECTSIZ(LFS_MAXNAMLEN+1), independent of 64-vs-32, so create LFS_MAXDIRENTRYSIZE for this. Sigh.
|
#
1.32 |
|
15-Sep-2015 |
dholland |
Pass around struct lfs_dirheader instead of struct lfs_direct.
|
#
1.31 |
|
15-Sep-2015 |
dholland |
Add an accessor function for directory names.
|
#
1.30 |
|
15-Sep-2015 |
dholland |
Tidyups/fixes preparatory to making d_name[] in struct lfs_direct size 0 instead of size LFS_MAXNAMLEN+1, and preparatory to having accessor functions for d_name. In particular, don't create prototype entries and copy them, and access the name field only for directory structures that are in buffers with space for the name to exist.
|
#
1.29 |
|
15-Sep-2015 |
dholland |
Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct and double-copy it. Just write to the destination buffer.
|
#
1.28 |
|
15-Sep-2015 |
dholland |
Kill off ulfs_makedirentry; just pass the data to ulfs_direnter instead. For now, move one copy of the code that allocates and fills in a temporary struct lfs_direct to the top of ulfs_direnter; but it should go away shortly.
|
#
1.27 |
|
15-Sep-2015 |
dholland |
Add and use accessor functions for more of the directory entry fields.
|
#
1.26 |
|
01-Sep-2015 |
dholland |
Add new accessors for the d_type and d_namlen fields of struct lfs_direct. Napalm the old byteswap access logic for these.
|
#
1.25 |
|
11-Jul-2015 |
mlelstv |
mp->mnt_stat.f_flag is never set. Use the mnt_flag directly. This will now actually prevent the 'bad dir' panic if the filesystem is read-only.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.24 |
|
31-May-2015 |
hannken |
Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().
- Add lfs_valloc_fixed() to allocate a known inode, used by kernel roll forward.
- Remove lfs_*ref(), these functions cannot coexist with vcache and their commented behaviour is far away from their implementation.
- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode() may use hints from the cleaner.
- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
|
Revision tags: nick-nhusb-base-20150406
|
#
1.23 |
|
28-Mar-2015 |
maxv |
Remove the 'cred' argument from breadn(), and update the man page accordingly.
ok hannken@
|
#
1.22 |
|
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.21 |
|
03-Jun-2014 |
joerg |
branches: 1.21.4; Introduce two helper functions to centralise the namecache statistics in vfs_cache.c. Use consistent locking around the per-cpu data.
|
#
1.20 |
|
25-May-2014 |
hannken |
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics from the pre-genfs_rename era.
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
#
1.19 |
|
07-Feb-2014 |
hannken |
branches: 1.19.2; 1.19.4; Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
1.18 |
|
28-Jan-2014 |
martin |
Bogus gcc 4.8 maybe-used-uninitialized warning
|
#
1.17 |
|
25-Oct-2013 |
martin |
Mark a diagnostic-only variable
|
#
1.16 |
|
17-Oct-2013 |
christos |
- remove unused variables - add debug ifdefs for debugging variables - __USE() where appropriate.
|
#
1.15 |
|
28-Jul-2013 |
dholland |
Migrate the miscellaneous ulfs-level info from struct ulfsmount to struct lfs.
Put them inside #ifdef _KERNEL there. They are not the only such members, gross as that is. Unfortunately, moving struct lfs to lfs_kernel.h does not work.
|
#
1.14 |
|
28-Jul-2013 |
dholland |
Remove the now-pointless ulfs ops macros.
|
#
1.13 |
|
28-Jul-2013 |
dholland |
Get rid of the ulfs_ops table as we only have one fs in here now.
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.12 |
|
18-Jun-2013 |
christos |
branches: 1.12.2; 1.12.4; Prefix most of the cpp macros with lfs_ and LFS_ to avoid conflicts with ffs. This was done so that boot blocks that want to compile both FFS and LFS in the same file work.
|
#
1.11 |
|
08-Jun-2013 |
dholland |
ulfs_dir.h has been emptied; remove it.
|
#
1.10 |
|
08-Jun-2013 |
dholland |
There is no WAPBL in LFS.
|
#
1.9 |
|
08-Jun-2013 |
dholland |
DIRBLKSIZ -> LFS_DIRBLKSIZ DIRECTSIZ -> LFS_DIRECTSIZ DIRSIZ -> LFS_DIRSIZ OLDDIRFMT -> LFS_OLDDIRFMT NEWDIRFMT -> LFS_NEWDIRFMT IFTODT -> LFS_IFTODT DTTOIF -> LFS_DTTOIF
|
#
1.8 |
|
08-Jun-2013 |
dholland |
Move stuff to lfs.h that's needed by userland: LFS_DT_* ULFS_ROOTINO ULFS_WINO struct lfs_direct struct lfs_dirtemplate struct lfs_odirtemplate struct ulfs_args
Also fix FFS_MAXNAMLEN -> LFS_MAXNAMLEN in several places.
|
#
1.7 |
|
08-Jun-2013 |
dholland |
struct direct -> struct lfs_direct struct dirtemplate -> struct lfs_dirtemplate struct odirtemplate -> struct lfs_odirtemplate DT_* -> LFS_DT_*
|
#
1.6 |
|
06-Jun-2013 |
dholland |
Apparently we also need to cut and paste ffs_snapgone() in order to be able to link the ufs code.
Instead of actually cutting and pasting it (as it depends on ffs-only things) implement it as panic. Probably we'll be able to demonstrate later that it's unreachable.
XXX: Someone should add snapgone to struct ufs_ops in ufs/ufsmount.h, XXX: and fix ufs/ufs_lookup.c to not hardwire ffs.
|
#
1.5 |
|
06-Jun-2013 |
dholland |
Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly quota-related (and particularly quota2-related) stuff.
|
#
1.4 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 4:
Massedit all ufs symbols to be "ulfs" instead, to make sure there are no conflicts with ufs. Confirmed with grep.
(This required changing a few comments that maybe should have been left alone to say "ulfs", but we'll survive that.)
|
#
1.3 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs step 3: rearrange config stuff. Add new options: LFS_EI LFS_DIRHASH LFS_EXTATTR LFS_EXTATTR_AUTOSTART LFS_QUOTA LFS_QUOTA2
and update code referring to the corresponding FFS and UFS config symbols to use the LFS versions. Disable the one extant reference to APPLE_UFS in the ulfs files. Use opt_lfs.h only, not opt_ffs.h.
|
#
1.2 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 2:
Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.
|
#
1.1 |
|
06-Jun-2013 |
dholland |
Split lfs from ufs, part 1: cut and paste 15000 lines of ufs as "ulfs".
These are verbatim copies except that I've preserved the ufs rcsids for reference. Also, ufs/quota.h -> ulfs_quotacommon.h ufs/ufs_quota.h -> ulfs_quota.h
Splitting lfs from ufs was ok'd by core some years ago. This is not from my original tree, which became unmergeable after the several sets of quota changes; I've done the work over again over the last couple days.
|