The NetBSD Project

CVS log for src/sys/ufs/lfs/ulfs_lookup.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / ufs / lfs

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.47 / (download) - annotate - [select for diffs], Sat Aug 6 18:26:42 2022 UTC (20 months, 1 week ago) by andvar
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

s/blity/bility/ in various words, mainly in comments.

Revision 1.46 / (download) - annotate - [select for diffs], Sat Sep 5 02:55:38 2020 UTC (3 years, 7 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.45: +2 -4 lines
Diff to previous 1.45 (colored)

Revert "ufs: Prevent mkdir from choking on deleted directories."

This change made no sense and should not have been committed.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Sep 5 02:47:48 2020 UTC (3 years, 7 months ago) by riastradh
Branch: MAIN
Changes since 1.44: +4 -2 lines
Diff to previous 1.44 (colored)

ufs: Prevent mkdir from choking on deleted directories.

Fix some missing uvm_vnp_setsize in screw cases while here.

Revision 1.44 / (download) - annotate - [select for diffs], Sat May 16 18:31:53 2020 UTC (3 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.43: +3 -3 lines
Diff to previous 1.43 (colored)

Add ACL support for FFS. From FreeBSD.

Revision 1.41.6.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:04 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.41: +17 -12 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

Merge changes from current as of 20200406

Revision 1.43 / (download) - annotate - [select for diffs], Sat Apr 4 20:49:31 2020 UTC (4 years ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.42: +15 -10 lines
Diff to previous 1.42 (colored)

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.

Revision 1.42 / (download) - annotate - [select for diffs], Sat Mar 14 18:08:40 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.41: +4 -4 lines
Diff to previous 1.41 (colored)

- 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 1.41.12.1 / (download) - annotate - [select for diffs], Sun Jan 19 21:21:55 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.41: +15 -10 lines
Diff to previous 1.41 (colored) next main 1.42 (colored)

Set IMNT_SHRLOOKUP and use it for the in-cache case.  Need to check what
more can be done with tmpfs though, it can probably do the whole lookup.

Revision 1.12.2.4 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:22 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.12.2.3: +156 -243 lines
Diff to previous 1.12.2.3 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

update from HEAD

Revision 1.40.6.1 / (download) - annotate - [select for diffs], Mon Oct 30 09:29:04 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.40: +11 -11 lines
Diff to previous 1.40 (colored) next main 1.41 (colored)

Pull up following revision(s) (requested by maya in ticket #330):
	sbin/fsck_lfs/inode.c: 1.69
	sbin/fsck_lfs/lfs.c: 1.73
	sbin/fsck_lfs/pass6.c: 1.50
	sbin/fsck_lfs/segwrite.c: 1.46
	sys/ufs/lfs/lfs.h: 1.202-1.203
	sys/ufs/lfs/lfs_accessors.h: 1.48
	sys/ufs/lfs/lfs_alloc.c: 1.136-1.137
	sys/ufs/lfs/lfs_balloc.c: 1.94
	sys/ufs/lfs/lfs_bio.c: 1.141
	sys/ufs/lfs/lfs_extern.h: 1.113
	sys/ufs/lfs/lfs_inode.c: 1.156-1.157
	sys/ufs/lfs/lfs_inode.h: 1.20, 1.21, 1.23
	sys/ufs/lfs/lfs_itimes.c: 1.20
	sys/ufs/lfs/lfs_pages.c: 1.13-1.15
	sys/ufs/lfs/lfs_rename.c: 1.22
	sys/ufs/lfs/lfs_segment.c: 1.270-1.275
	sys/ufs/lfs/lfs_subr.c: 1.94-1.97
	sys/ufs/lfs/lfs_syscalls.c: 1.175
	sys/ufs/lfs/lfs_vfsops.c: 1.360
	sys/ufs/lfs/lfs_vnops.c: 1.316-1.321
	sys/ufs/lfs/ulfs_inode.c: 1.20
	sys/ufs/lfs/ulfs_inode.h: 1.24
	sys/ufs/lfs/ulfs_lookup.c: 1.41
	sys/ufs/lfs/ulfs_quota2.c: 1.31
	sys/ufs/lfs/ulfs_readwrite.c: 1.24
	sys/ufs/lfs/ulfs_vnops.c: 1.49-1.50
Update inode member i_flag --> i_state to keep up with kernel changes
Move definition of IN_ALLMOD near the flag it's a mask for.
Now we can see that it doesn't match all the flags, but changing that will
require more careful thought.
Correct confusion between i_flag and i_flags
These will have to be renamed.
Spotted by Riastradh, thanks!
Add an XXX about the missing flags so it's not buried in a commit
message.
now the XXX count for LFS is 260
Rename i_flag to i_state.
The similarity to i_flags has previously caused errors.
Use continue to denote the no-op loop to match netbsd style
newline for extra clarity.
It isn't safe to drain dirops with seglock held, it'll deadlock if there
are any dirops. drain before grabbing seglock.
lfs_dirops == 0 is always true (as we already drained dirops), so omit
that part of the comparison.
Fixes a lot of LFS deadlocks. PR kern/52301
Many thanks to dholland for help analyzing coredumps
Ifdef out KDASSERT which fires on my machine.
Deduplicate sanity check that seglock is held on segunlock
Revert r1.272 fix to PR kern/52301, the performance hit is making things
unusable.
change lfs_nextsegsleep and lfs_allclean_wakeup to use condvar
XXX had to use lfs_lock in lfs_segwait, removed kernel_lock, is this
appropriate?
fix buffer overflow/KASSERT when cookies are supplied
lfs no longer uses the ffs-style struct direct, use the correct minimum
size
from dholland
XXX more wrong
Consistently use {,UN}MARK_VNODE macros rather than function calls.
Not much point doing anything after a panic call
Ask some question about the code in a XXX comment
XXX question our double-flushing of dirops
Fix typo in comment

Revision 1.21.4.5 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:17 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.21.4.4: +12 -16 lines
Diff to previous 1.21.4.4 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored)

Sync with HEAD

Revision 1.41 / (download) - annotate - [select for diffs], Sat Jun 10 05:29:36 2017 UTC (6 years, 10 months ago) by maya
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, 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, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base
Branch point for: phil-wifi, ad-namecache
Changes since 1.40: +11 -11 lines
Diff to previous 1.40 (colored)

Rename i_flag to i_state.

The similarity to i_flags has previously caused errors.

Revision 1.39.2.1 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:31 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.39: +2 -6 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

Sync with HEAD

Revision 1.39.4.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:09 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.39: +2 -6 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

Sync with HEAD

Revision 1.40 / (download) - annotate - [select for diffs], Thu Mar 30 09:10:08 2017 UTC (7 years ago) by hannken
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, netbsd-8-base, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.39: +2 -6 lines
Diff to previous 1.39 (colored)

Remove now redundant calls to fstrans_start()/fstrans_done().

Add fstrans_start()/fstrans_done() to lfs_putpages().

Revision 1.39 / (download) - annotate - [select for diffs], Mon Jun 20 02:25:03 2016 UTC (7 years, 9 months ago) by dholland
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

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

Revision 1.38 / (download) - annotate - [select for diffs], Mon Jun 20 00:00:47 2016 UTC (7 years, 9 months ago) by dholland
Branch: MAIN
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored)

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

Revision 1.37 / (download) - annotate - [select for diffs], Sun Jun 19 23:11:48 2016 UTC (7 years, 9 months ago) by dholland
Branch: MAIN
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored)

we already have ufs_lookup.c 1.125 and ufs_vnops.c 1.218.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Jun 19 21:58:42 2016 UTC (7 years, 9 months ago) by dholland
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

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 1.21.4.4 / (download) - annotate - [select for diffs], Sun Dec 27 12:10:19 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.21.4.3: +2 -3 lines
Diff to previous 1.21.4.3 (colored) to branchpoint 1.21 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.35 / (download) - annotate - [select for diffs], Sat Nov 14 22:03:54 2015 UTC (8 years, 5 months ago) by pgoyette
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Changes since 1.34: +2 -3 lines
Diff to previous 1.34 (colored)

Remove historic references to wapbl.

Revision 1.21.4.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:17 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.21.4.2: +135 -175 lines
Diff to previous 1.21.4.2 (colored) to branchpoint 1.21 (colored)

Sync with HEAD

Revision 1.34 / (download) - annotate - [select for diffs], Mon Sep 21 01:24:23 2015 UTC (8 years, 6 months ago) by dholland
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.33: +17 -16 lines
Diff to previous 1.33 (colored)

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.)

Revision 1.33 / (download) - annotate - [select for diffs], Mon Sep 21 01:22:18 2015 UTC (8 years, 6 months ago) by dholland
Branch: MAIN
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)

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.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Sep 15 15:02:25 2015 UTC (8 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.31: +14 -14 lines
Diff to previous 1.31 (colored)

Pass around struct lfs_dirheader instead of struct lfs_direct.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Sep 15 15:02:01 2015 UTC (8 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.30: +8 -8 lines
Diff to previous 1.30 (colored)

Add an accessor function for directory names.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Sep 15 15:01:22 2015 UTC (8 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.29: +10 -6 lines
Diff to previous 1.29 (colored)

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.

Revision 1.29 / (download) - annotate - [select for diffs], Tue Sep 15 15:00:49 2015 UTC (8 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.28: +45 -39 lines
Diff to previous 1.28 (colored)

Tidy up ulfs_direnter: don't malloc a temporary struct lfs_direct
and double-copy it. Just write to the destination buffer.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Sep 15 15:00:32 2015 UTC (8 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.27: +24 -31 lines
Diff to previous 1.27 (colored)

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.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Sep 15 14:58:06 2015 UTC (8 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.26: +53 -71 lines
Diff to previous 1.26 (colored)

Add and use accessor functions for more of the directory entry fields.

Revision 1.26 / (download) - annotate - [select for diffs], Tue Sep 1 06:16:59 2015 UTC (8 years, 7 months ago) by dholland
Branch: MAIN
Changes since 1.25: +50 -76 lines
Diff to previous 1.25 (colored)

Add new accessors for the d_type and d_namlen fields of struct lfs_direct.
Napalm the old byteswap access logic for these.

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jul 11 11:04:48 2015 UTC (8 years, 9 months ago) by mlelstv
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

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 1.21.4.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:30 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.21.4.1: +12 -54 lines
Diff to previous 1.21.4.1 (colored) to branchpoint 1.21 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Sun May 31 15:48:03 2015 UTC (8 years, 10 months ago) by hannken
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.23: +12 -54 lines
Diff to previous 1.23 (colored)

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 1.21.4.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:33 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.21: +5 -5 lines
Diff to previous 1.21 (colored)

Sync with HEAD

Revision 1.23 / (download) - annotate - [select for diffs], Sat Mar 28 17:23:42 2015 UTC (9 years ago) by maxv
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored)

Remove the 'cred' argument from breadn(), and update the man page
accordingly.

ok hannken@

Revision 1.22 / (download) - annotate - [select for diffs], Fri Mar 27 17:27:56 2015 UTC (9 years ago) by riastradh
Branch: MAIN
Changes since 1.21: +4 -4 lines
Diff to previous 1.21 (colored)

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 1.12.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:45 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.12.2.2: +23 -219 lines
Diff to previous 1.12.2.2 (colored) to branchpoint 1.12 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:58 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.19: +4 -202 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Rebase.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Jun 3 19:30:30 2014 UTC (9 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Changes since 1.20: +4 -4 lines
Diff to previous 1.20 (colored)

Introduce two helper functions to centralise the namecache statistics
in vfs_cache.c. Use consistent locking around the per-cpu data.

Revision 1.20 / (download) - annotate - [select for diffs], Sun May 25 13:49:13 2014 UTC (9 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.19: +2 -200 lines
Diff to previous 1.19 (colored)

Remove ulfs_checkpath() and ulfs_readdotdot().  These are relics
from the pre-genfs_rename era.

Revision 1.19.4.2 / (download) - annotate - [select for diffs], Thu May 22 11:41:19 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.19.4.1: +1528 -0 lines
Diff to previous 1.19.4.1 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.12.4.2 / (download) - annotate - [select for diffs], Sun May 18 17:46:21 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.12.4.1: +7 -9 lines
Diff to previous 1.12.4.1 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

sync with head

Revision 1.19.4.1, Fri Feb 7 15:29:23 2014 UTC (10 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.19: +0 -1528 lines
FILE REMOVED

file ulfs_lookup.c was added on branch yamt-pagecache on 2014-05-22 11:41:19 +0000

Revision 1.19 / (download) - annotate - [select for diffs], Fri Feb 7 15:29:23 2014 UTC (10 years, 2 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: yamt-pagecache, tls-earlyentropy
Changes since 1.18: +5 -3 lines
Diff to previous 1.18 (colored)

Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.

Discussed on tech-kern@

Welcome to 6.99.31

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 28 13:25:53 2014 UTC (10 years, 2 months ago) by martin
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

Bogus gcc 4.8 maybe-used-uninitialized warning

Revision 1.17 / (download) - annotate - [select for diffs], Fri Oct 25 20:05:39 2013 UTC (10 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

Mark a diagnostic-only variable

Revision 1.16 / (download) - annotate - [select for diffs], Thu Oct 17 21:01:08 2013 UTC (10 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.15: +2 -6 lines
Diff to previous 1.15 (colored)

- remove unused variables
- add debug ifdefs for debugging variables
- __USE() where appropriate.

Revision 1.12.4.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:38 2013 UTC (10 years, 7 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.12: +21 -17 lines
Diff to previous 1.12 (colored)

sync with head

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jul 28 01:10:49 2013 UTC (10 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.14: +16 -14 lines
Diff to previous 1.14 (colored)

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.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jul 28 00:37:07 2013 UTC (10 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.13: +5 -5 lines
Diff to previous 1.13 (colored)

Remove the now-pointless ulfs ops macros.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Jul 28 00:29:18 2013 UTC (10 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.12: +4 -2 lines
Diff to previous 1.12 (colored)

Get rid of the ulfs_ops table as we only have one fs in here now.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:18:39 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.12.2.1: +1526 -0 lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored)

resync from head

Revision 1.12.2.1, Tue Jun 18 18:18:58 2013 UTC (10 years, 10 months ago) by tls
Branch: tls-maxphys
Changes since 1.12: +0 -1526 lines
FILE REMOVED

file ulfs_lookup.c was added on branch tls-maxphys on 2013-06-23 06:18:39 +0000

Revision 1.12 / (download) - annotate - [select for diffs], Tue Jun 18 18:18:58 2013 UTC (10 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.11: +6 -6 lines
Diff to previous 1.11 (colored)

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.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jun 8 22:23:52 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.10: +2 -3 lines
Diff to previous 1.10 (colored)

ulfs_dir.h has been emptied; remove it.

Revision 1.10 / (download) - annotate - [select for diffs], Sat Jun 8 22:05:15 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.9: +2 -14 lines
Diff to previous 1.9 (colored)

There is no WAPBL in LFS.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Jun 8 02:14:46 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.8: +12 -12 lines
Diff to previous 1.8 (colored)

DIRBLKSIZ -> LFS_DIRBLKSIZ
DIRECTSIZ -> LFS_DIRECTSIZ
DIRSIZ -> LFS_DIRSIZ
OLDDIRFMT -> LFS_OLDDIRFMT
NEWDIRFMT -> LFS_NEWDIRFMT
IFTODT -> LFS_IFTODT
DTTOIF -> LFS_DTTOIF

Revision 1.8 / (download) - annotate - [select for diffs], Sat Jun 8 02:13:33 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.7: +4 -4 lines
Diff to previous 1.7 (colored)

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.

Revision 1.7 / (download) - annotate - [select for diffs], Sat Jun 8 02:12:56 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.6: +27 -27 lines
Diff to previous 1.6 (colored)

struct direct -> struct lfs_direct
struct dirtemplate -> struct lfs_dirtemplate
struct odirtemplate -> struct lfs_odirtemplate
DT_* -> LFS_DT_*

Revision 1.6 / (download) - annotate - [select for diffs], Thu Jun 6 00:50:51 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.5: +4 -4 lines
Diff to previous 1.5 (colored)

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.

Revision 1.5 / (download) - annotate - [select for diffs], Thu Jun 6 00:49:28 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.4: +6 -6 lines
Diff to previous 1.4 (colored)

Add lfs_ or ulfs_ in front of extern symbols lacking them, mostly
quota-related (and particularly quota2-related) stuff.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jun 6 00:48:04 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.3: +123 -123 lines
Diff to previous 1.3 (colored)

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.)

Revision 1.3 / (download) - annotate - [select for diffs], Thu Jun 6 00:46:40 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.2: +15 -15 lines
Diff to previous 1.2 (colored)

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.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jun 6 00:44:40 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN
Changes since 1.1: +9 -9 lines
Diff to previous 1.1 (colored)

Split lfs from ufs, part 2:

Change all <ufs/ufs/foo.h> includes to <ufs/lfs/ulfs_foo.h>.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jun 6 00:40:55 2013 UTC (10 years, 10 months ago) by dholland
Branch: MAIN

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.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>