History log of /src/usr.sbin/quotacheck/quotacheck.c |
Revision | | Date | Author | Comments |
1.51 |
| 07-Jan-2023 |
chs | ufs: fixed signed/unsigned bugs affecting large file systems
Apply these commits from FreeBSD:
commit e870d1e6f97cc73308c11c40684b775bcfa906a2 Author: Kirk McKusick <mckusick@FreeBSD.org> Date: Wed Feb 10 20:10:35 2010 +0000
This fix corrects a problem in the file system that treats large inode numbers as negative rather than unsigned. For a default (16K block) file system, this bug began to show up at a file system size above about 16Tb.
To fully handle this problem, newfs must be updated to ensure that it will never create a filesystem with more than 2^32 inodes. That patch will be forthcoming soon.
Reported by: Scott Burns, John Kilburg, Bruce Evans Followup by: Jeff Roberson PR: 133980 MFC after: 2 weeks
commit 81479e688b0f643ffacd3f335b4b4bba460b769d Author: Kirk McKusick <mckusick@FreeBSD.org> Date: Thu Feb 11 18:14:53 2010 +0000
One last pass to get all the unsigned comparisons correct.
In additional to the changes from FreeBSD, this commit includes quite a few related changes to appease -Wsign-compare.
|
1.50 |
| 17-Nov-2022 |
chs | branches: 1.50.2; Restore backward compatibility of UFS2 with previous NetBSD releases by disabling support in UFS2 for extended attributes (including ACLs). Add a new variant of UFS2 called "UFS2ea" that does support extended attributes. Add new fsck_ffs operations "-c ea" and "-c no-ea" to convert file systems from UFS2 to UFS2ea and vice-versa (both of which delete all existing extended attributes in the process).
|
1.49 |
| 16-Jun-2015 |
christos | improve error messages (remove \n, use __func__, etc)
|
1.48 |
| 23-Jun-2013 |
dholland | Stick ffs_, ext2_, chfs_, filecore_, cd9660_, or mfs_ in front of the following symbols so as to disambiguate fully. (Christos already did the lfs ones.)
lblkno lblktosize lfragtosize numfrags blkroundup fragroundup
|
1.47 |
| 23-Jun-2013 |
dholland | fsbtodb() -> FFS_FSBTODB(), EXT2_FSBTODB(), or MFS_FSBTODB() dbtofsb() -> FFS_DBTOFSB() or EXT2_DBTOFSB()
(Christos already did the lfs ones a few days back)
|
1.46 |
| 22-Jan-2013 |
dholland | Stuff UFS_ in front of a few of ufs's symbols to reduce namespace pollution. Specifically: ROOTINO -> UFS_ROOTINO WINO -> UFS_WINO NXADDR -> UFS_NXADDR NDADDR -> UFS_NDADDR NIADDR -> UFS_NIADDR MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have the same values in ext2fs and ffs.
No functional change intended.
|
1.45 |
| 07-Apr-2012 |
christos | branches: 1.45.2; use getfsspecname()
|
1.44 |
| 06-Mar-2011 |
christos | branches: 1.44.4; more code deduplication
|
1.43 |
| 06-Mar-2011 |
christos | more KNF
|
1.42 |
| 06-Mar-2011 |
christos | use merged out code.
|
1.41 |
| 06-Mar-2011 |
bouyer | merge the bouyer-quota2 branch. This adds a new on-disk format to store disk quota usage and limits, integrated with ffs metadata. Usage is checked by fsck_ffs (no more quotacheck) and is covered by the WAPBL journal. Enabled with kernel option QUOTA2 (added where QUOTA was enabled in kernel config files), turned on with tunefs(8) on a per-filesystem basis. mount_mfs(8) can also turn quotas on.
See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html for details.
|
1.40 |
| 09-Oct-2008 |
christos | branches: 1.40.14; PR/39719: Edgar Fu: block/inode typo in quotacheck(8)
|
1.39 |
| 21-Jul-2008 |
lukem | Remove the \n and tabs from the __COPYRIGHT() strings. Tweak to use a consistent format.
|
1.38 |
| 15-Feb-2007 |
christos | branches: 1.38.12; From Edgar: fix ino computation; allocate space for the superblock after we know how big it is.
|
1.37 |
| 19-Aug-2005 |
christos | branches: 1.37.4; 64 bit inode changes
|
1.36 |
| 12-Dec-2004 |
christos | PR/23971: Greg A. Woods: Fix quotacheck infinite loop with uid == UINT32_MAX. While I am there, pass WARNS=3
|
1.35 |
| 27-Mar-2004 |
dsl | fffv2 might not have FS_FLAGS_UPDATED set
|
1.34 |
| 21-Mar-2004 |
dsl | When searching for the superblock, don't pick an ffsv1 superblock from the location where we expect to find an ffsv2 superblock. It could be the first alternate for a ffsv1 filesystem with 64k blocks. Fixes part of PR kern/24809
|
1.33 |
| 05-Jan-2004 |
jmmv | Homogenize usage messages: make the 'usage' word all lowercase, as this seems to be the most common practice in our tree.
|
1.32 |
| 05-Jan-2004 |
wiz | Add -l to usage.
|
1.31 |
| 05-Jan-2004 |
christos | don't allow -l without -a
|
1.30 |
| 05-Jan-2004 |
wiz | Add -q to usage.
|
1.29 |
| 05-Jan-2004 |
christos | PR/23971: Robert Elz: Quotacheck fails when max uid is present and takes forever if there are large gaps in the uid space. It also does not work properly with the fsck preen code it uses.
|
1.28 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22366, verified by myself.
|
1.27 |
| 13-Jul-2003 |
itojun | use bounded string op
|
1.26 |
| 17-Apr-2003 |
fvdl | Skip over inodes <= ROOTINO for getnextinode(). PR 21208 by Geoff Wing.
|
1.25 |
| 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.24 |
| 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.23 |
| 10-Dec-2002 |
bouyer | Add SIGINFO support.
|
1.22 |
| 17-Aug-2001 |
lukem | branches: 1.22.2; remove third argument (`int ns') from ffs_sb_swap(), and let ffs_sb_swap() determine the endianness of the `struct fs *o' superblock from o->fs_magic and set needswap as necessary, rather than trusting the caller to get it right. invariably, almost every caller of ffs_sb_swap() was calling it with ns set to the wrong value for ns anyway! ansi KNF ffs_bswap.c declarations whilst here.
this fixes all sorts of problems when trying to use other-endian file systems, notably the kernel trying to access memory *way* off, possibly corrupting or panicing, and userland programs SEGVing and/or corrupting things (e.g, "fsck_ffs -B" to swap a file system endianness).
whilst the previous rev of ffs_bswap.c (1.10, 2000/12/23) made this problem worse, i suspect that the problem was always there and previous versions just happened not to trash things at the wrong time.
FFS_EI should now be a lot more stable.
|
1.21 |
| 19-Feb-2001 |
cgd | convert to use getprogname()
|
1.20 |
| 30-Mar-1999 |
abs | branches: 1.20.10; If -a, we do not want to pay the cost of processing every group and password entry if there are no filesystems with quotas. Speeds up boot on a large YP site without quotas considerably. If a filesystem has quotas we process /etc/fstab twice, which is very cheap in relative terms.
|
1.19 |
| 27-Aug-1998 |
ross | {} fixes from Erik Bertelsen <erik@erik-be.uni-c.dk> (PR 6047) to shut up egcs.
|
1.18 |
| 27-Jul-1998 |
mycroft | const poisoning.
|
1.17 |
| 18-Mar-1998 |
bouyer | Add support for non-native byteorder FFS. The quota file is still in host byteorder. quotacheck needs to be re-run when a FS has been moved to an architecture to another. Running quota on a non-native byteorder ffs is considered a marginal case.
|
1.16 |
| 19-Sep-1997 |
christos | Fix uninitialized variable
|
1.15 |
| 16-Sep-1997 |
lukem | * resolve conflicts from lite-2 merge * cleanup for WARNS=1
|
1.14 |
| 28-Sep-1996 |
christos | Update for newer preen interface.
|
1.13 |
| 27-Sep-1996 |
christos | This broke when preen.c moved from fsck_ffs to fsck. Update and cleanup.
|
1.12 |
| 30-Mar-1996 |
mark | Use an integer instead of a char for the getopt() return value in order to work with compilers that use unsigned chars. Compare the getopt() return value with -1 instead of EOF.
|
1.11 |
| 28-Nov-1995 |
jtc | merge in changes from 1.1 release branch
|
1.10 |
| 18-Mar-1995 |
cgd | branches: 1.10.2; convert to new RCS Id conventions; reduce my headache
|
1.9 |
| 03-Jan-1995 |
cgd | <sys/queue.h> is no longer needed.
|
1.8 |
| 18-Dec-1994 |
cgd | compile against new headers
|
1.7 |
| 23-Sep-1994 |
mycroft | Eliminate uses of some obsolete functions.
|
1.6 |
| 16-Aug-1994 |
mycroft | Fix an obvious bogon when checking multiple file systems, and use the libc version of err(3).
|
1.5 |
| 08-Jun-1994 |
mycroft | branches: 1.5.2; Update from 4.4-Lite, with local changes.
|
1.4 |
| 26-May-1994 |
cgd | pass a daddr_t rather than an off_t; forgot to commit last week.
|
1.3 |
| 01-Aug-1993 |
mycroft | Add RCS identifiers.
|
1.2 |
| 07-May-1993 |
cgd | fixe for uninitialized variables, from 386bsd patchkit patch #111
|
1.1 |
| 09-Apr-1993 |
cgd | branches: 1.1.1; ported from Net/2. (patch 111)
|
1.1.1.2 |
| 16-Sep-1997 |
lukem | imported from lite-2
|
1.1.1.1 |
| 13-Jun-1994 |
mycroft | Import 4.4-Lite version.
|
1.5.2.1 |
| 16-Aug-1994 |
mycroft | update from trunk
|
1.10.2.1 |
| 01-Nov-1995 |
jtc | Complete change from ufs -> ffs; (From Tatoku Ogaito; PR #1679)
|
1.20.10.1 |
| 25-Nov-2001 |
he | Pull up revision 1.22 (requested by lukem): Call ffs_sb_swap() with the correct arguments. Fixes problems with using other-endian file systems.
|
1.22.2.1 |
| 26-Jan-2003 |
jmc | Pull up versions 1.22-1.23 (requested by bouyer in ticket #1070) Add SIGINFO support.
|
1.37.4.1 |
| 12-Apr-2007 |
bouyer | Pull up following revision(s) (requested by jdc in ticket #562): usr.sbin/quotacheck/quotacheck.c: revision 1.38 From Edgar: fix ino computation; allocate space for the superblock after we know how big it is.
|
1.38.12.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.40.14.1 |
| 09-Feb-2011 |
bouyer | Make it build in new world. Don't attempt to update in-kernel quota, but instead warn if quotas are already on. The rc.d script runs quotacheck before quotaon so this shouldn't be a problem.
|
1.44.4.3 |
| 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.44.4.2 |
| 23-Jan-2013 |
yamt | sync with head
|
1.44.4.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.45.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.45.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.50.2.1 |
| 13-May-2023 |
martin | Pull up following revision(s) (requested by chs in ticket #160):
usr.sbin/makefs/ffs/ffs_alloc.c: revision 1.31 sbin/tunefs/tunefs.c: revision 1.58 sbin/fsck_ffs/setup.c: revision 1.105 sbin/fsck_ffs/pass5.c: revision 1.56 usr.sbin/makefs/ffs.c: revision 1.74 usr.sbin/makefs/ffs/mkfs.c: revision 1.42 usr.sbin/makefs/Makefile: revision 1.40 sys/ufs/ffs/fs.h: revision 1.71 sbin/fsdb/fsdb.c: revision 1.54 sbin/resize_ffs/resize_ffs.c: revision 1.58 sbin/fsck_ffs/pass4.c: revision 1.29 usr.sbin/makefs/ffs/ffs_extern.h: revision 1.9 sbin/newfs/mkfs.c: revision 1.133 sys/ufs/ffs/ffs_alloc.c: revision 1.172 sbin/fsck_ffs/pass1b.c: revision 1.24 usr.sbin/dumpfs/dumpfs.c: revision 1.68 sys/ufs/ffs/ffs_extern.h: revision 1.88 usr.sbin/quotacheck/quotacheck.c: revision 1.51 sys/ufs/ffs/ffs_subr.c: revision 1.54 sbin/fsck_ffs/main.c: revision 1.91 sbin/fsck_ffs/pass1.c: revision 1.63
ufs: fixed signed/unsigned bugs affecting large file systems
Apply these commits from FreeBSD: commit e870d1e6f97cc73308c11c40684b775bcfa906a2 Author: Kirk McKusick <mckusick@FreeBSD.org> Date: Wed Feb 10 20:10:35 2010 +0000 This fix corrects a problem in the file system that treats large inode numbers as negative rather than unsigned. For a default (16K block) file system, this bug began to show up at a file system size above about 16Tb. To fully handle this problem, newfs must be updated to ensure that it will never create a filesystem with more than 2^32 inodes. That patch will be forthcoming soon. Reported by: Scott Burns, John Kilburg, Bruce Evans Followup by: Jeff Roberson PR: 133980 MFC after: 2 weeks
commit 81479e688b0f643ffacd3f335b4b4bba460b769d Author: Kirk McKusick <mckusick@FreeBSD.org> Date: Thu Feb 11 18:14:53 2010 +0000 One last pass to get all the unsigned comparisons correct.
In additional to the changes from FreeBSD, this commit includes quite a few related changes to appease -Wsign-compare.
|