Commit Graph

7 Commits

Author SHA1 Message Date
perseant
9bf7a991c5 Fail gracefully if we are asked to expand the buffer cache hash table size
when there is no memory available to do so.  Use the uvnode's strategy
routine to retrieve data from the device, rather than always using pread().
Add a buffer header flag that specifies external management of the buffer's
data area.

All of this in support of a new cleaner, which is not included in this commit.
2005-05-20 18:59:36 +00:00
perseant
1d4cc6a17b Be more efficient with the hash tables for the buffer and vnode caches.
Note that roll-forward can add more inodes to the filesystem; don't overflow
the tables but reallocate them.
2005-04-11 23:19:24 +00:00
perseant
aafc65baa9 Note that fsck_lfs may not know beforehand whether a given block is a
superblock or a segment summary, and tries both.  These may be different
sizes.  Fix a broken assertion that they are the same size.

Fixes PR # 29151.
2005-04-06 02:38:17 +00:00
perseant
9740d8d0b2 Buffer cache fixes: make sure we initialize all the hash lists, and allow
the cache to grow in size irrespective of how many buffers may be in the
locked queue, since we can't write those in any case.  Prevents fsck_lfs
from spinning when it has too much to write.
2005-03-19 00:43:17 +00:00
perseant
5d2f3e4908 Various minor LFS improvements:
* Extend the lfs library from fsck_lfs(8) so that it can be used with a
  not-yet-existent LFS.  Make newfs_lfs(8) use this library, so it can
  create LFSs whose Ifile is larger than one segment.
* Make newfs_lfs(8) use strsuftoi64() for its arguments, a la newfs(8).
* Make fsck_lfs(8) respect the "file system is clean" flag.
* Don't let fsck_lfs(8) think it has dirty blocks when invoked with the
  -n flag.
2005-02-26 05:45:54 +00:00
perseant
acddf8ff0b Check inode free list tail pointer as well as head pointer, and write both
into the CLEANERINFO block of the Ifile as well as into the superblock.
Make preen update both superblocks.
2003-03-31 19:56:59 +00:00
perseant
ba10361ab2 Add working writing ability to fsck_lfs, including roll-forward, based on
a partial-segment writer ported from the kernel.
2003-03-28 08:09:52 +00:00