yamt
67a5559821
cleanup IN_ADIROP/VDIROP handling a little.
2003-09-23 05:26:49 +00:00
yamt
e2fbe9d54d
remove unnecessary externs of lfs_do_flush.
2003-09-23 05:26:12 +00:00
jdolecek
d07d321142
if mounted ASYNC, use delayed writes for metadata, which improves performance
...
of these operations significantly
based on FreeBSD ufs_lookup.c rev. 1.8, by John Dyson
2003-09-20 21:05:53 +00:00
yamt
17f9466183
some comments
2003-09-20 17:51:55 +00:00
enami
69615345e2
Fix a recently introduced bug which prevents csum totals being copied
...
when an old ffs filesytem is first mounted (as a result, df reports disk
full on old ffs filesystem or mfs created by old binary). Problem first
noticed by onoe san.
2003-09-17 02:24:33 +00:00
yamt
7bd2f524bc
indent.
2003-09-15 15:08:09 +00:00
bouyer
ff7554f54c
make sure to not get flags which are for internal use only from the on-disk
...
superblock.
Proposed in http://mail-index.netbsd.org/tech-kern/2003/09/06/0005.html
2003-09-13 14:09:15 +00:00
bouyer
5e33ea894e
Commit changes proposed in
...
http://mail-index.netbsd.org/tech-kern/2003/09/06/0001.html
http://mail-index.netbsd.org/tech-kern/2003/09/06/0006.html
to avoid compat problems with old ffsv1 by reuse of the old FS_SWAPPED
value for FS_FLAGS_UPDATED, and use of new, larger fields:
- Don't use FS_FLAGS_UPDATED to see if we need to update new fields from
old fields in ffsv1 case.
- when writing back the superblock, copy back the flags to the old location
if only old flags are set (FS_FLAGS_UPDATED won't be set in this case)
in ffsv1 case.
2003-09-13 13:47:04 +00:00
christos
136f9cd821
PR/15397: Jason Thorpe: directory operations on pathnames that refer to
...
directories and have trailing slashes should succeed. Ok'd by kjk.
Fix provided by enami.
2003-09-11 17:33:42 +00:00
yamt
f80b24474d
g/c CHECK_COPYIN.
2003-09-10 11:09:11 +00:00
yamt
753a6151b9
comments on lfs_issequential_hole.
2003-09-07 21:00:36 +00:00
yamt
4868f89aae
buffer cache mp locks.
2003-09-07 11:55:43 +00:00
yamt
d20e923a9c
- raise spl to bio in lfs_countlocked() rather than having callers to do so.
...
- buffer cache MP locks.
- assert B_CALL buffers are not on the free queue.
2003-09-07 11:53:57 +00:00
yamt
4a78faea0f
- buffer cache MP locks.
...
- avoid changing buffer state on the free queue.
2003-09-07 11:47:07 +00:00
yamt
3ed90e8152
use LFS_DEBUG_COUNTLOCKED macro.
2003-09-07 11:44:22 +00:00
itojun
761c22ff58
use arc4random instead of random (mask with INT32_MAX to avoid getting
...
negative numbers unexpectedly).
2003-09-05 21:58:35 +00:00
yamt
01e41ddfe3
don't call LFS_DEBUG_COUNTLOCKED after bread().
...
lfs_countlocked doesn't count buffers that isn't on the freelist.
2003-09-04 12:28:53 +00:00
dsl
92c5eba410
Split CGSIZE definition so it can be used with 64bit fpg values.
...
Split cg_start so magic can be done in libsa when it is known that the
filesystem isn't UFS2.
2003-08-21 14:41:00 +00:00
dsl
72fa43211e
gcc for sparc seems to barf at 'int_var * 0x100000000ull' so do
...
'(uint64_t)(uint)int_var << 32' even though it generates twice as many
instructions on i386!
2003-08-16 07:04:17 +00:00
dsl
8d9878ecb4
Remove only (last?) use of SETHIGH and SETLOW before gcc starts warning
...
about the odd construct. Also fixes kern/6525.
2003-08-10 09:54:06 +00:00
dsl
5638922967
Stop panic if 'mknod xxx b 0 0' done on a full filesystem.
...
panics in ffs_full_fsync because v_specmountpoint requires that the NULL
v_specinfo be followed.
Tidy up in the same order in all error paths so compiler can merge the
code sequences.
Fixes PR kern/22419
2003-08-09 19:02:53 +00:00
agc
aad01611e7
Move UCB-licensed code from 4-clause to 3-clause licence.
...
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
pk
918bf35fad
Pass the inode flags to set as an argument to ufs_dirrewrite().
...
Use it to restore the behaviour of not updating the modified time of a
directory that moves to a new parent.
2003-08-05 15:45:48 +00:00
yamt
bdbaf98d1e
using normal bufcache buffer for cluster buffer head.
2003-07-30 13:36:40 +00:00
yamt
1bc98d3c14
- check EROFS earlier in lfs_markv.
...
- remove wrong error recovery code (fake buffers are never on bufqueue)
and put a comment instead.
2003-07-30 12:38:53 +00:00
yamt
3bded40734
remove an unused definition of LFS_VREF_THRESHOLD.
2003-07-30 12:34:00 +00:00
yamt
4573bf3772
yield cpu in directory entry search loop in ufs_lookup().
...
this loop can take a bit long time with large buffer cache.
2003-07-23 13:56:53 +00:00
yamt
bddddad951
KNF.
2003-07-23 13:53:51 +00:00
yamt
d7aa0312b2
add parenthesis missed in rev.1.127.
2003-07-23 13:46:57 +00:00
yamt
9d61ee54c4
whitespace
2003-07-23 13:44:55 +00:00
yamt
f4fc192872
add KASSERTs in lfs_issequential_hole.
2003-07-23 13:38:18 +00:00
yamt
3433c3992e
cast UFS1 on-disk block pointers to int32_t before assign it to daddr_t.
...
it's needed for LFS because UNWRITTEN is a negative number.
2003-07-23 13:36:17 +00:00
yamt
2ba5ae7ea6
more MP locks.
2003-07-12 16:19:00 +00:00
yamt
12ad26b293
- wrap long lines.
...
- remove a mysterious blank line.
2003-07-12 16:17:52 +00:00
yamt
3852db2096
- protect global resource counts with lfs_subsys_lock.
...
- clean up scattered externs a little.
2003-07-12 16:17:06 +00:00
yamt
3f84a2d3a1
a comment.
2003-07-02 14:07:16 +00:00
yamt
eb4e09d59f
use queue.h macros.
2003-07-02 13:43:02 +00:00
yamt
82659031f4
use VFSTOUFS macro.
2003-07-02 13:41:38 +00:00
yamt
102c8a6a74
- add a new functions, lfs_writer_enter/leave, and use them instead of
...
duplicated code fragments.
- add an assertion.
2003-07-02 13:40:51 +00:00
yamt
f3506a9599
drain dirops before aqcuiring seglock. otherwise it might deadlocks.
...
PR/20676 (Karl Knutsson)
2003-07-02 13:39:03 +00:00
fvdl
d5aece61d6
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
...
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
thorpej
a06b275edc
Undo part of the ktrace/lwp changes. In particular:
...
* Remove the "lwp *" argument that was added to vget(). Turns out
that nothing actually used it!
* Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(),
and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted
above, didn't use it).
* Remove all of the "lwp *" arguments to internal functions that were added
just to appease the above.
2003-06-29 18:43:21 +00:00
enami
bfbd2cd3ab
Add forward declaration of struct lwp instead of struct proc. Sort those
...
while I'm here.
2003-06-29 05:43:56 +00:00
bouyer
75208caf18
Adapt for struct proc* -> struct lwp* changes.
2003-06-28 22:53:35 +00:00
darrenr
960df3c8d1
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
...
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
fvdl
67c9fa950a
OS X still seems to use the old nrpos field in the superblock, and gets
...
unhappy after NetBSD wrote an Apple UFS filesystem. Just set it to 0
in this case.
2003-06-12 18:50:43 +00:00
fvdl
d9f47e809c
free the ext2fs dinode struct in ext2fs_reclaim. From Ted Unangst.
2003-05-26 21:22:19 +00:00
yamt
ab2238cfad
make is_sequential a callback in order to achieve better lfs write clustering.
...
since lfs always rewrite blocks into the new segment,
current on-disk place of the block doesn't affect to write clustering.
ok'ed by Konrad Schroder.
2003-05-18 12:59:05 +00:00
nakayama
a6d8c9185d
Avoid comparison is always false warning in gcc 3.3 w/ 64-bit size_t.
2003-05-17 01:44:39 +00:00
kristerw
07936511f0
The C language does not permit statements of the form
...
(X ? Y : Z) = 0;
even though gcc handles this by a stupid extension.
Transform these to correct C.
Approved by fvdl.
2003-05-15 20:25:31 +00:00