summaryrefslogtreecommitdiff
path: root/sbin/fsck_ffs
AgeCommit message (Collapse)Author
2007-09-16Do not use DIP() as an lvalue; founc by pcc. ok millert@ ray@Otto Moerbeek
2007-07-17rmoev the macppc workaround, now that isset() and friends use expressionsOtto Moerbeek
that gcc likes better
2007-07-04workaround for [daddr64_t] issue; worked on mostly by otto, wee bit by meTheo de Raadt
2007-06-25Teach fsck_ffs about 64-bit block addresses. ok (and help) moritz@ pedro@Otto Moerbeek
2007-06-01ufs1_daddr_t cleanup, okay otto@Pedro Martelletto
2007-06-01Don't use cg.cg_niblk but fs.fs_ipg; the former has no meaning any more.Otto Moerbeek
Fixes PR 5494; with pedro@; ok pedro@ millert@
2007-06-01convert ufs2_daddr_t -> daddr64_t for greater clarity; ok pedro otto thibTheo de Raadt
2007-05-31convert to new .Dd format;Jason McIntyre
2007-05-29Updated disklabel format to support larger disks and partitions. WeOtto Moerbeek
free room in struct partition by packing fragment size and fragments/block more tighlty and use the resulting space to make offset and size 48 bits. For the disk part we use spare fields in struct disklabel. Kernel converts in-mem copy of the on-disk label if needed, disklabel(8) writes new version. We are careful to only change fields not used by bootloaders. Conception of basic scheme by deraadt. ok deraadt@ krw@
2007-05-18Fix mismerge; remove statement without effect. OK otto@ pedro@Todd C. Miller
2007-05-11pass the right size arg to memset, otherwise we end up with aOtto Moerbeek
partially initialized summary info struct. ok millert@ pedro@
2007-05-05Do not rely on fs_cpg; this is especially important for ffs2 whichTodd C. Miller
does not use fs_cpg at all. From FreeBSD. OK otto@
2007-04-23Remove 'cg_space' from 'struct cg'. Due to the alignment on 64-bitPedro Martelletto
architectures, CGSIZE() was returning something sligthly over one block. The 'new' fsck would round this value up to a fragment boundary, and end up trying to access memory beyond allocated space. From mickey@, okay pedro@, millert@ and otto@.
2007-04-21use the correct size arg to memcmp when checking fs_cstotal.Otto Moerbeek
now jmc does not use 8TB in /tmp anymore. ok pedro@
2007-04-18When trying to read the primary superblock, do not accidentially readOtto Moerbeek
a ffs1 alternate sb at the primary ffs2 sb location. Use the same test as the kernel does. ok millert@ pedro@
2007-04-10Add support for checking ffs2 filesystems. From pedro@ based onTodd C. Miller
the ufs2 changes in FreeBSD by Kirk Mckusick.
2007-03-19be a tiny little bit more verbose when encoutering bad block or fragmentOtto Moerbeek
sizes; requested by mickey@
2007-03-19Add FFS2 fields to the superblock, change file system tools to keepPedro Martelletto
accessing FFS1 fields, okay art@, quite some testing by ckuethe@, simon@ and thib@, thanks.
2007-03-18there's no way we're going to be able to handle illegal block orOtto Moerbeek
fragment sizes, so just make those conditions fatal errors and tell the calling code to go look for alternate superblocks. ok millert@
2007-03-15Check for cg_irotor and cg_frotor being negative, okay millert@ deraadt@Pedro Martelletto
2007-02-16Fix a row of bugs in the code that computes the alternate superblockOtto Moerbeek
locations based on the disklabel. - unit bug: disklabel size is in sectors, but superblock fs size is in fragments. - The disklabel contains the maximum superblock size, not the actual as used by newfs. - problem is that mkfs reduces track/sector and secors/track to make the cylindergroup fit in a fs block. In this case the values in the disklabel do not predict what's in the superblock. This fixes all these problems. It correctly predicts the location of all superblocks on all my filesystems I have online (sized between 100MB and 1000GB). Also tested with filesystems with different block and fragment sizes. Written this with a goto to make the diff easier to read. ok krw@ deraadt@
2007-02-13"Fix" a horrible signal handler. ckfini() breaks all the rules forOtto Moerbeek
signal handlers, calling free() and not being reentrant. This commit fixes to most importamt problem (^C on the "MARK FILESYSTEM CLEAN?" question causes a double free), but actually SIGINT handling should be completely rewritten. ok millert@ deraadt@
2007-02-13Do some extra validation of the superblock, otherwise a corruptOtto Moerbeek
superblock might lead to crashes or other mishap. Now my fuzzed fs images no longer crash fsck_ffs. ok mickey@ pedro@ millert@
2007-02-12remsize must be signed to avoid wrapping around to some huge number.Otto Moerbeek
Solves a case were fsck_ffs was causing a segv. If it didn't do that it would have mangled the filesystem later, very probably. Diff from FreeBSD; ok millert@ pedro@
2007-02-12detect truncation of block number, which can happen which trashedOtto Moerbeek
inodes; ok pedro@ millert@
2007-02-12max partition letter is 'a' + MAXPARTITIONS - 1, not 'h'. ok (andOtto Moerbeek
help) miod@
2007-02-09fix a fd leak that happens whe checking multiple file systems and someOtto Moerbeek
of them are clean. ok pedro@ millert@
2007-02-08Plug some mem leaks that occur when checking multiple file systems in aOtto Moerbeek
row. ok beck@ pedro@ millert@
2007-02-08A corrrup inode might lead to preposterous dir sizes. So check theOtto Moerbeek
size to avoid a negative lastbn which might cause a segv or heap corruption. With help from mickey@; ok mickey@ pedro@ millert@
2007-01-24A reallocated root directory gets ownership of the fsck process.Alexander Bluhm
If lost+found is created, it gets ownership of the root directory. ok pedro
2006-04-27Avoid spurious 'summary information bad' warnings, okay tedu@Pedro Martelletto
2006-04-17more signal handler cleaningTheo de Raadt
2006-04-17solve half of the signal race issuesTheo de Raadt
2006-04-17prettier code; ok pedroTheo de Raadt
2006-04-17Remove "l:" from getopt(3) string, since the option wasMoritz Jodeit
removed long ago. From Steffen Wendzel. ok pedro@
2006-04-07fsck needs to unset FS_FLAGS_UPDATED if it changes the super blockPedro Martelletto
2006-04-02use SEEK_* for lseek()Theo de Raadt
2006-03-30when asking y or n, accept "F" which forces yes from the on. i haveTheo de Raadt
wished for this for 10+ year, but always forgotten to make the change after cleaning up a nasty file system; ok pedro millert
2006-03-22earlier asprintf diff caused malloc in signal handler. clarify theTheo de Raadt
code a bit more so that this mistake will not be done again
2006-03-20NetBSD Coverity CID 2074: Fix memory leak.David Hill
ok deraadt@
2006-03-12use asprintf instead of a static buffer; dhill, tested by pedroTheo de Raadt
2006-03-09Remove option -n from newfs as well as all references to fs_postbl()Pedro Martelletto
Various testing for a while, okay krw@
2006-01-25spell fall through as FALLTHROUGHTed Unangst
2005-12-19Add and use a few more constants and macros needed by UFS2Pedro Martelletto
No functional change
2005-06-16bye bye whiteoutsTodd C. Miller
2005-04-16Since the return value from the *_info functions is only actually used as aTodd C. Miller
boolean, make it so. OK deraadt@
2005-04-16while snprintf and strlcpy and strlcat have this nice >buflen API (and theTheo de Raadt
-1 mess as well), it is probably not wise to make other functions do the same thing. make them return strlen(). ok uwe marco
2005-02-03misplaced .El marker;Jason McIntyre
2005-02-03sync usage outputJared Yanovich
2005-02-03- simplify, normalize, and sync usage/synopsis formsJared Yanovich
- filesystem -> file system, for consistency - indent sections where applicable - mdoc, punctuation, grammar, etc. fixes - document SIGINFO to fsck_ffs - unify description of -n among documents - sprinkle xrefs all around - move parts relevant to fsck.8 from fsck_ffs.8 parts from NetBSD ok jmc