enami
95a1bfa14c
- 16 * 8 != 168
...
- offset should be endian independent.
2000-12-23 14:42:06 +00:00
enami
0e4a3d44c0
Cosmetic changes
2000-12-23 14:09:52 +00:00
cgd
1a1dca038e
replace \<space(s)><newline> (wrong!) with \<newline>
2000-12-20 00:24:23 +00:00
mycroft
61a6479ab1
Patch from Kirk McKusick to fix an ordering problem in softdep_setup_freeblks()
...
that could cause an inode to be reused prematurely (possibly resulting in the
file containing garbage blocks).
2000-12-13 20:07:32 +00:00
chs
e6e27e9efc
fix bookkeeping for page cache dependency buffers.
2000-12-13 15:32:31 +00:00
chs
bb61d9c5e4
in flush_inodedep_deps(), drop the big softdep lock while flushing pages.
2000-12-11 03:53:54 +00:00
chs
4ab33e73c2
call pgo_flush with (start,end) rather than (start,length).
2000-12-10 19:41:35 +00:00
chs
3a5e4f901b
in *_sync(), don't skip vnodes which have (potentially dirty) pages.
2000-12-10 19:36:31 +00:00
chs
1c89ab39ad
redo ext2fs_balloc_range(), accounting for differences between ext2fs and ffs.
2000-12-10 06:38:31 +00:00
chs
4912461b20
in ffs_sync(), don't skip vnodes which have (potentially dirty) pages.
2000-12-04 09:37:06 +00:00
fvdl
7c2b9d8515
In addition to setting the softdep flag in the superblock when
...
mounting with softdeps, also explicitly clear it when we don't,
so that a leftover setting after a crash will be cleared.
2000-12-03 19:52:06 +00:00
perseant
32d11b86a5
Call uvm_vmp_setsize() in lfs_{fast,}vget to set initial vnode size.
2000-12-03 07:34:49 +00:00
perseant
72633be8c6
Fix typo in 'malloc' for non-MALLOCLOG case
2000-12-03 06:43:36 +00:00
perseant
2a53ff5ab9
Get rid of some old unnecessary code that cleared B_NEEDCOMMIT from buffers in
...
lfs_writeseg (possibly after they had been freed).
If MALLOCLOG is defined, make lfs_newbuf and lfs_freebuf pass along the
caller's file and line to _malloc and _free.
2000-12-03 05:56:27 +00:00
chs
65a9d68fda
don't forget to set um_lognindir (now required by ufs_bmaparray()).
2000-12-03 05:27:51 +00:00
chs
6944ee458a
in ufs_balloc_range(), don't rely on uvm_vnp_setsize() to invalidate
...
pages we've allocated past the real EOF when we fail to allocate a block.
we used to play games with the VM notion of the file size but we don't do
that anymore, so uvm_vnp_setsize() doesn't do what we want anymore.
call the pager flush op instead.
2000-12-03 03:57:24 +00:00
chs
eeabe3f90d
make sure that pages are on an paging queue before unlocking them.
2000-12-01 09:54:42 +00:00
chs
b3dcb62708
fix merge error: ext2fs uses a custom balloc rather than a VOP-style one.
2000-12-01 07:02:40 +00:00
nathanw
aa215181ce
Don't set the value of doreallocblks here; it's defined over in vfs_cluster.c
...
In fact, doreallocblks isn't used here at all. Delete the declaration.
2000-11-30 20:56:10 +00:00
jdolecek
861369604d
change vfs.ffs.doreallocblks to 1 by default - this does not have
...
aby bad symptoms any more, fix for bug causing problems with this
option was in BSD4.4-Lite2 and pulled in together with softdep changes
See also Keith Smith & Margo Seltzer's paper on the topic at
http://www.eecs.harvard.edu/~keith/papers/realloc.ps.gz
2000-11-30 19:46:02 +00:00
jdolecek
bf558e3b3e
only include opt_ddb.h for !LKM
2000-11-30 15:59:47 +00:00
jdolecek
734f246738
no need to include fs_lfs.h, define LFS directly
2000-11-30 15:57:35 +00:00
chs
e9037d16c5
allow building without SOFTDEP by adding the pageiodone hook to bio_ops.
2000-11-27 18:26:38 +00:00
chs
aeda8d3b77
Initial integration of the Unified Buffer Cache project.
2000-11-27 08:39:39 +00:00
perseant
0055236dda
If LFS_DO_ROLLFORWARD is defined, roll forward from the older checkpoint
...
on mount, through the newer checkpoint and on through any newer
partial-segments that may have been written but not checkpointed because
of an intervening crash.
LFS_DO_ROLLFORWARD is not defined by default.
2000-11-27 03:33:57 +00:00
perseant
77b518b85d
Use u_int32_t instead of u_long to compute LFS checksums, since the
...
checksum is stored in a u_int32_t.
2000-11-25 02:39:34 +00:00
perseant
e4911189f1
Protect lfs_{bmapv,markv} with vfs_{un,}busy. Fix a reference/lock leak
...
in an error case in lfs_markv. Change the vfs_getvfs() error to return
ENOENT, for consistency with failure of vfs_busy().
99% of this patch was from Jesse Off <joff@gci-net.com> (PR #11547 ).
2000-11-22 22:11:34 +00:00
perseant
c398987151
More locked_queue_* and lfs_avail accounting fixes from Jesse Off
...
<joff@gci-net.com>. Remove a specious btodb() in lfs_fragextend, and
count blocks shrunk or removed by VOP_TRUNCATE in lfs_avail.
2000-11-21 00:00:31 +00:00
toshii
92a17c6ecd
Make buildable again.
...
The previous commit was a backout of rev. 1.45, which must be an accident.
2000-11-18 02:11:23 +00:00
perseant
31fc62d4e9
Correct accounting of lfs_avail, locked_queue_count, and locked_queue_bytes.
...
(PR #11468 ). In the case of fragment allocation, check to see if enough
space is available before extending a fragment already scheduled for writing.
The locked_queue_* variables indicate the number of buffer headers and bytes,
respectively, that are unavailable to getnewbuf() because they are locked up
waiting for LFS to flush them; make sure that that is actually what we're
counting, i.e., never count malloced buffers, and always use b_bufsize instead
of b_bcount.
If DEBUG is defined, the periodic calls to lfs_countlocked will now complain
if either counter is incorrect. (In the future lfs_countlocked will not need
to be called at all if DEBUG is not defined.)
2000-11-17 19:14:41 +00:00
perseant
b880487624
Initialize the cleaner information in the Ifile from the same info from
...
the superblock at fs mount time, enabling the previous patch to fsck_lfs.
Patch from Jesse Off <joff@gci-net.com> (Closes PR #11470 ).
2000-11-14 00:42:55 +00:00
perseant
a07c936a59
Remove debugging code that accidentally went in with yesterday's commit.
2000-11-13 00:24:30 +00:00
perseant
c4c7b2adbb
Do not needlessly dirty segment table blocks during lfs_segwrite,
...
preventing needless disk activity when the filesystem is idle. (PR #10979.)
2000-11-12 07:58:36 +00:00
toshii
af22f56146
Fix obsolete comments in lfs_writeinode since rev. 1.27.
...
New comments are mostly from perseant, with my additions.
2000-11-12 02:13:51 +00:00
ad
642267bcc7
Update for hashinit() change.
2000-11-08 14:28:12 +00:00
fvdl
ef6bdbccd8
Stay at splbio across the VBWAIT loop, as is done elsewhere in the
...
kernel. Avoids a possible race condition. Pointed out by
enami@netbsd.org , problem reported by deberg@netbsd.org .
2000-10-24 14:43:32 +00:00
toshii
0036e468ef
In lfs_fastvget(), initialize i_lfs_effnblks correctly.
2000-10-21 13:53:25 +00:00
perseant
26f26aafcd
Do not increment the clean segment counter, if a segment that the cleaner
...
is trying to clean is already clean (e.g., if two lfs_cleanerds are running
at once.)
2000-10-20 17:48:05 +00:00
pk
5e2d2660fc
In ufs_makeinode(), set the new vnode type to VNON before calling vput().
2000-10-19 10:55:35 +00:00
perseant
7a4d35b365
In lfs_truncate, don't overcount the real blocks removed from the inode,
...
when deallocating a fragment that has not made it to disk yet.
Also, during dirops, give the directory vnode an extra reference in
SET_DIROP, to ensure its continued existence during SET_ENDOP, preventing
a possible NULL-dereference there.
These two changes should close PR #11064 .
2000-10-14 23:22:14 +00:00
simonb
ec25ea9f3b
Position comment correctly wrt last commit.
2000-10-13 17:59:11 +00:00
simonb
831fce13ac
In mfs_start(), move the handling of outstanding I/O requests to before
...
the check for unmounting the filesystem.
Appears to fix kern/10122 from Hitoshi Matsunawa.
2000-10-13 16:53:53 +00:00
simonb
7bf589b1ae
There is no need to explicitly include <uvm/uvm_extern.h> for
...
<sys/sysctl.h> anymore.
2000-10-13 16:40:26 +00:00
thorpej
053e3ba195
Make sure to set the residual count to 0 after a miniroot access
...
or after bitbucketing I/O during shutdown.
2000-10-09 18:07:06 +00:00
fvdl
81ba8e7ff7
Adapt for VOP_FSYNC parameter change.
...
Implement range fsync for FFS. Note: not yet implemented for the
SOFTDEP case.
2000-09-19 22:04:08 +00:00
fvdl
db4108490a
Adapt for VOP_FSYNC parameter change.
2000-09-19 22:01:59 +00:00
perseant
a477e1b98b
Cast back to int32_t in LFS_EST_BFREE and LFS_EST_RSVD macros, for
...
consistency with their arguments.
Change the debugging printf in lfs_reserve to match, and enclose it in
#ifdef DEBUG.
Tested on alpha, arm32, sparc.
2000-09-13 00:07:56 +00:00
perseant
78ae325de3
Make this file compile on the alpha as well (use %ld and cast to long,
...
instead of %qd with no cast).
2000-09-12 03:22:53 +00:00
augustss
76451577e7
Make this file compile again.
2000-09-10 00:20:45 +00:00
perseant
17cb334f4f
oops
2000-09-09 21:03:31 +00:00