Home | History | Annotate | Download | only in fsck_lfs
History log of /src/sbin/fsck_lfs/fsck.h
RevisionDateAuthorComments
 1.27  03-Apr-2020  joerg Avoid common symbols for fsck_lfs.
 1.26  03-Oct-2015  dholland branches: 1.26.16;
The per-inode state 'id_entryno' is used by pass1 for a block count,
so widen it to 'long long'. pass2 uses it for the number of entries in
a directory (IIUC) which does not need to be wider than int, but for
now let's not try to split into two fields. FUTURE...
 1.25  03-Oct-2015  dholland Use daddr_t instead of uint32_t for the in-memory copy of the inode
block pointers.
 1.24  03-Oct-2015  dholland Remove a dead data structure.
 1.23  21-Sep-2015  dholland 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.)
 1.22  15-Sep-2015  dholland Pass around struct lfs_dirheader instead of struct lfs_direct.
 1.21  12-Aug-2015  dholland Hack up dinode usage to be 64 vs. 32 as needed. Part 1.

(This part changes the native lfs code; the ufs-derived code already
has 64 vs. 32 logic, but as aspects of it are unsafe, and don't
entirely interoperate cleanly with the lfs 64/32 stuff, pass 2 will be
rehashing that.)
 1.20  08-Jun-2013  dholland struct direct -> struct lfs_direct
struct dirtemplate -> struct lfs_dirtemplate
struct odirtemplate -> struct lfs_odirtemplate
DT_* -> LFS_DT_*
 1.19  06-Jun-2013  dholland ufs -> ulfs for fsck_lfs.
 1.18  09-Oct-2008  christos branches: 1.18.18; 1.18.24;
Disable userid to username lookups by default. Add a -U flag to perform them.
In single user mode lookups that involve the network might not work and they
slow down fsck.
 1.17  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.16  09-Nov-2006  christos branches: 1.16.2; 1.16.18; 1.16.20;
Fix malloc/realloc/calloc issues: always check and exit, use EEXIT instead
of 8.
 1.15  27-Jun-2005  christos constify
 1.14  11-Apr-2005  perseant 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.
 1.13  18-Jul-2004  yamt branches: 1.13.2;
zero-out dinode is not a proper way to 'clear' an lfs inode.
 1.12  20-Mar-2004  perseant change KES license to standard NetBSD license
 1.11  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22308, verified by myself.
 1.10  02-Apr-2003  fvdl Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
 1.9  29-Mar-2003  wiz Consistently spell occurrence with two rs.
 1.8  28-Mar-2003  perseant Add working writing ability to fsck_lfs, including roll-forward, based on
a partial-segment writer ported from the kernel.
 1.7  24-Jan-2003  fvdl Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
 1.6  23-May-2002  perseant Re-checksum the superblock whenever it is marked dirty.

Tested on alpha.
 1.5  23-May-2000  perseant branches: 1.5.8;
Convert to NetBSD source code style
 1.4  16-May-2000  perseant fsck_lfs can now write to the filesystem, allowing it to correct most
(though still not all) errors in a damaged lfs. Segment byte accounting
is corrected in pass 5. "fsck_lfs -p" will do a partial roll-forward,
verifying the checkpoint from the newer superblock. fscknames[] is
updated so that fsck knows about fsck_lfs.
 1.3  20-Jan-2000  perseant Rename lfs_ifind so that it does not conflict with new kernel prototype.
Addresses PR #9253.
 1.2  03-Jul-1999  kleink RCS Id police.
 1.1  18-Mar-1999  perseant branches: 1.1.2;
Initial checkin of fsck_lfs. This version cannot do any repair (-p flag
does nothing, and one of -p or -n is required) but can be useful as a
diagnostic tool.
 1.1.2.1  21-Jan-2000  he Pull up revision 1.3 (requested by perseant):
Fix name collision error due to recent kernel prototype updates.
Fixes PR#9253.
 1.5.8.1  02-Jun-2002  tv Pull up revision 1.6 (requested by perseant in ticket #131):
Re-checksum the superblock whenever it is marked dirty.
Tested on alpha.
 1.13.2.1  07-May-2005  tron Apply patch (requested by perseant in ticket #242):
* fsck_lfs buffer cache fixes, including PR #29151
* Change fsck_lfs phase 0 message to reflect reality
* fsck_lfs: check phase 5 (cleanerinfo accounting) even on
roll-forward
* Keep better track of the free list during roll-forward, avoiding
a core dump
* Improve hash table use for fsck_lfs buffer and vnode cache
* Document fsck_lfs flag -f, and implement -q
* Add resize_lfs, including kernel support
* Add LFS to mountd's list of exportable filesystem types
* Make the LFS lkm work again [christos@]
* Add MP locking to the LFS kernel subsystem
* Fix pager_map deadlock in lfs_putpages()
* Avoid incomplete file extension that looks like "partial
truncation" to fsck
* Use lfs_malloc for cleaner malloc, since the cleaner often runs
in low-memory conditions.
* Use splay trees, not hash table, to track page allocation for
write.
* Fix mkdir panic on full fs
* Fix page accounting leak by counting differently.
* Use rightly named structure for lfs_getattr [skrll@]
* Cosmetic changes for readability.
 1.16.20.1  18-May-2008  yamt sync with head.
 1.16.18.2  17-Jan-2009  mjf Sync with HEAD.
 1.16.18.1  02-Jun-2008  mjf Sync with HEAD.
 1.16.2.1  24-Mar-2009  bouyer Pull up following revision(s) (requested by manu in ticket #1288):
sbin/fsck_lfs/inode.c: revision 1.40 via patch
sbin/fsck_ffs/fsck_ffs.8: revision 1.44 via patch
sbin/fsck_ext2fs/fsck.h: revision 1.14 via patch
sbin/fsck_ext2fs/main.c: revision 1.30 via patch
sbin/fsck_ffs/inode.c: revision 1.61 via patch
sbin/fsck_ffs/main.c: revision 1.71 via patch
sbin/fsck_ext2fs/inode.c: revision 1.23 via patch
sbin/fsck_lfs/fsck.h: revision 1.18 via patch
sbin/fsck_lfs/fsck_lfs.8: revision 1.21 via patch
sbin/fsck_lfs/main.c: revision 1.38 via patch
sbin/fsck_ext2fs/fsck_ext2fs.8: revision 1.15 via patch
sbin/fsck_ffs/fsck.h: revision 1.47 via patch
Disable userid to username lookups by default. Add a -U flag to perform them.
In single user mode lookups that involve the network might not work and they
slow down fsck.
 1.18.24.1  23-Jun-2013  tls resync from head
 1.18.18.1  22-May-2014  yamt 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")
 1.26.16.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed