chs
a1c22f6d67
add casts to an assertion in ffs_alloc() so it works with offsets past 4GB.
2001-02-05 10:55:02 +00:00
christos
bf4fd5e39c
don't include lfs_extern.h; ufs/inode.h does too.
2001-02-04 21:51:19 +00:00
augustss
46ee162100
Fix from chuq:
...
don't update UVM's notion of the file size before the VOP_FSYNC() when
we're partially truncating a file with softdeps enabled. doing so could
free pages without updating the dependency info, which would result in
"panic: softdep_write_inodeblock: direct pointer #1 mismatch 0 != N".
2001-01-27 04:23:21 +00:00
itohy
7c338ddc48
Call inittodr() from lfs_mountroot() so that the system time is set properly
...
when booted from LFS.
2001-01-26 07:59:23 +00:00
jdolecek
d9466585b7
make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const
2001-01-22 12:17:35 +00:00
jdolecek
34c8ae80da
constify
2001-01-18 20:28:15 +00:00
mycroft
fad85a24d8
On a RW->RO transition, explicitly clear fs_fmod after the cgupdate/sbupdate,
...
to prevent spurious writebacks and whinging about the (correct!) clean flag.
(Why this isn't done in ffs_sbupdate(), I dunno...)
2001-01-10 17:49:18 +00:00
ad
d8735dd13a
RCS ID
2001-01-10 16:45:56 +00:00
chs
bc21905f3c
attach the softdep pagecache pseudo-buffers to the inode
...
so we can find them quickly in the softdep truncate path.
2001-01-10 04:47:10 +00:00
mycroft
7f2aa054f1
ffs_reload(): Copy fs_ronly into the new superblock, too, as it may have been
...
modified on disk (e.g. by fsck(8)). This flag should really be elsewhere.
2001-01-09 10:44:19 +00:00
joff
a6ef389457
If DIAGNOSTIC and the segment writer gets a badly sized buffer, panic()
...
instead of silently corrupting the filesystem.
2001-01-09 05:05:35 +00:00
matt
ad346bb9eb
Convert a MALLOC with a variable size to malloc(). Saves 220 bytes of text
...
on VAX.
2001-01-01 05:17:26 +00:00
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