summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-10-04libquota: use ext2_loff_t instead of loff_tTheodore Ts'o3-12/+16
The type loff_t is not portable. Use ext2_loff_t which handles this for us. Cc: Aditya Kali <adityakali@google.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-04libquota: remove get_qf_name()Theodore Ts'o5-22/+8
The get_qf_name() function used PATH_MAX, which is non-portable. Worse, it blindly assumed that PATH_MAX was the size of the buffer passed to it --- which in the one and only place where it was used in libquota, was a buffer declared to a fixed size 256 bytes. Fix this by simply getting rid of the function altogether. Cc: Aditya Kali <adityakali@google.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-04libquota: clean up some gcc -Wall warningsTheodore Ts'o9-65/+29
Remove unused variables, places where 'return' was used with no value in a non-void function, missing function declarations, etc. Don't assume that all systems have quotactl(), and use <sys/quota.h> if it exists to define the quotactl interfaces. One of the unused variables also got rid of a non-portable use of PATH_MAX. Cc: Aditya Kali <adityakali@google.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-04libquota: remove get_qf_path()Theodore Ts'o2-20/+0
This function isn't used anywhere, so remove it. It also uses PATH_MAX which is not portable. Cc: Aditya Kali <adityakali@google.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-04e2fsck: make the signal catcher more portable, take 2Theodore Ts'o1-0/+18
One table got missed when adding #ifdef's so that e2fsck/sigcatcher.c would compile on non-Linux systems. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-04Update debian/changelog for an interim releaseTheodore Ts'o1-0/+10
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03libext2fs: fix bad cast which causes problems for file systems > 512EBTheodore Ts'o1-1/+1
If the number of block groups exceeds 2**32, a bad cast would lead to a bogus "Not enough space to build proposed filesystem while setting up superblock" failure. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03Add "big" and "huge" types to mke2fs.confTheodore Ts'o2-0/+12
mke2fs attempts to use the "big" and "huge" types, and now that mke2fs will complain if there are file system types which are undefined, let's add definitions for them. Thanks to Richard Jones for reporting this problem. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03po: rebuild the .gmo files if they are missing or out of dateTheodore Ts'o1-1/+1
This makes life easier to support patch updates for Debian when we are getting lots of updates of .po files, since the .gmo files are binary files that we don't really need to worry about. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03e2fsprogs: Fix thinko in ext2fs_initialize bigalloc caseEric Sandeen1-1/+1
Surely we should be setting s_clusters_per_group, not s_blocks_per_group, to EXT2_MAX_CLUSTERS_PER_GROUP here. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03libext2fs: move #include "ext2fs.h" from crc32c_defs.h to crc32c.cTheodore Ts'o2-17/+17
The byte swap functions which are defined in ext2fs.h are only needed by crc32.c, and not by gen_crc32ctable.c. The gen_crc32ctable program needs to be compiled on the host OS, where ext2fs.h may not be present. So move the use of the header function to crc32c.c, to avoid compilation problems. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03resize2fs: fix on-line resizingTheodore Ts'o1-4/+12
On-line resizing has been broken in the 1.42 series for two reasons: (a) the call to the new EXT4_IOC_RESIZE_FS ioctl checked for ENOTTY to indicate that the ioctl does not exist, when in fact EINVAL is what is returned if the ioctl doesn't exist. (b) resize2fs was passing in a pointer to a 64-bit value, when the ioctl expected a 32-bit value. This was OK on little-endian systems, but it wouldn't work at all on big-endian systems. Fix both problems. Addresses-Debian-Bug: #451388 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03libext2fs, libquota: fix some makefile dependency issuesTheodore Ts'o2-9/+18
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-03e2fsprogs: include headers for open() in ext2fs.hEric Sandeen1-0/+3
ext2fs.h now calls open() so it should include the headers needed for this system call as well. Addresses-Red-Hat-Bugzilla: #742147 Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-10-02po: update fr.po (from translationproject.org)Samuel Thibault2-3/+3
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-10-02po: update de.po (from translationproject.org)Philipp Thomas2-11/+10
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-10-01Update for e2fsprogs 1.42-WIP-1001 releaseTheodore Ts'o3-5/+61
2011-10-01debian: avoid installing source.lintian-overridesTheodore Ts'o1-1/+3
This avoids lintian errors if we try to rebuild the package since source.lintian-overrides ends up getting installed in debian/source/usr/src/lintian/overrides/source, which then gets dropped in the diff file. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30Update e2fsprogs.pot file for translatorsTheodore Ts'o1-1009/+1265
2011-09-30e2fsck: avoid unnecessary reboots in some cases when checking the root fsTheodore Ts'o4-19/+9
If e2fsck modifies certain superblock fields which the kernel doesn't look at, mark the superblock as dirty without marking the file system as changed. This will avoid e2fsck signalling the init scripts that a reboot is necessary. This is safe, because the kernel doesn't actually look at these superblock fields. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30filefrag: fix an off by one error in when printing the next expected blockTheodore Ts'o1-5/+5
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30filefrag: Display the number of contiguous, not physical, extentsTheodore Ts'o1-6/+3
From a bug report filed by Ibragimov Rinat: When filefrag uses FIEMAP ioctl its logic differs for ordinary and verbose (-v) modes. ext4 returns extent on every 32768 block so on large files it is possible that `filefrag large-file' tells about 4 extents while `filefrag -v large-file' finds only one. Also when I tried to use generic_block_fiemap function to add FIEMAP for reiserfs, every block was reported as a new extent resulting in thousands "extents" for continuous files. I think filefrag should merge adjacent extents even when -v is not specified. Addresses-Debian-Bug: #631498 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30mke2fs.conf.5: clarify the man page regarding boolean relationsTheodore Ts'o1-5/+10
Explain more clearly how boolean relations in the mke2fs.conf file are parsed, and which config parameters are in fact boolean relations. Addresses-Debian-Bug: #634883 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30libext2fs: Always swab the MMP block on big-endian systems machinesDarrick J. Wong1-9/+6
The MMP code in libext2fs tries to gate MMP block swab'ing with this test: if (fs->super->s_magic == ext2fs_swab16(EXT2_SUPER_MAGIC)) However, EXT2FS_ENABLE_SWAPFS never seems to be defined anywhere (all possible existed, the field fs->super->s_magic is always in host byteorder, so the test always fails. So, we can change the #ifdef to WORDS_BIGENDIAN (which is conditionally defined on BE platforms) and get rid of the broken if test. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30e2fsck: zero ctx->fs after freeing fs when restarting due to MMPDarrick J. Wong1-0/+1
If MMP is enabled and e2fsck determines that it needs to restart itself on account of various MMP conditions, it will close the current fs and jump back to the start of fs checking. However, closing fs also frees it, which means that we need to set ctx->fs to NULL to prevent subsequent open code from accessing the old deleted pointer. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30libext2fs: Fix various bugs from the metadata checksum integrationDarrick J. Wong3-13/+11
Fix several minor errors in structure definitions, the byteswap code, and Makefiles that result from merging the crc32c and initial parts of the metadata checksumming patchset. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-30e2fsck: simplify binary search in ea_refcount.cTheodore Ts'o1-26/+0
Remove the interpolation search in ea_refcount. The added complexity isn't worth the speed up. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-28debian: add hurd-specific mke2fs.conf fileTheodore Ts'o2-0/+40
Addresses-Debian-Bug: #629355 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-28mke2fs: set s_max_mnt_count to -1 by defaultTheodore Ts'o3-4/+10
If the enable_periodic_fsck option is false in /etc/mke2fs.conf (which is also the default), s_max_mnt_count needs to be set to -1, instead of 0. Kernels newer than 3.0 will interpret 0 to disable periodic checks, but older kernels will print a warning message on each mount, which will annoy users. Addresses-Debian-Bug: #632637 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-28e2fsck: make the signal catcher more portableTheodore Ts'o1-0/+142
All of the signals which the signal catcher tries to interpret aren't necessarily defined on all systems. So add #ifdef's to protect various signals to avoid compilation failures on non-x86 platforms. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-28libext2fs: use ext2fs byte swap functions for portabilityTheodore Ts'o1-4/+5
The functions htole32(), le32toh(), be32toh(), htobe32() aren't defined in all environments. Use the ext2fs byte swap functions for portability. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-28libquota: use ext2fs byte swapping functions for portabilityTheodore Ts'o4-65/+69
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-28e2fsck: check for invalid bad block inodeTheodore Ts'o7-0/+38
In some cases the bad block inode gets corrupted. If it looks insane, offer to clear it before trying to interpret it does more harm than good. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-25debian: don't bomb out if DEB_BUILD_OPTIONS contains nostripTheodore Ts'o1-0/+2
The debugging packages will contain no debugging symbols (since they are in the unstripped executables and libraries) but at least the build won't crash. Addresses-Debian-Bug: #627535 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-25Update for e2fsprogs 1.42-WIP-0925 releaseTheodore Ts'o3-4/+31
2011-09-25Add spd_readdir.c to the contrib directoryTheodore Ts'o1-0/+389
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-25debian: update e2fslibs.symbols to include newly added symbolsTheodore Ts'o1-0/+9
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-25debian/copyright: update the debian copyright fileTheodore Ts'o4-55/+77
Fix up the debian/copyright file so it contains the full information of the licenses used by all of the libraries. Also use a single copyright file for e2fsprogs and e2fslibs, to make sure they are kept in sync. Addresses-Debian-Bug: #614662 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-25debugfs: initialize inode to 0 in list_dir_proc() if no inode nrEric Sandeen1-3/+6
If (!ino), the inode will be uninitialized when we print it in the PARSE_OPT case. So do the same as the LONG_OPT case, and memset it to 0 if (!ino). Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-09-25e2fsck: regression tests for INCOMPAT_MMP featureAndreas Dilger13-3/+292
Add tests for the MMP feature - creating a filesystem with mke2fs and MMP enabled, enable/disable MMP with tune2fs, disabling the e2fsck MMP flag with tune2fs after a failed e2fsck, and e2fsck checking and fixing a corrupt MMP block. The MMP tests need to be run from a real disk, not tmpfs, because tmpfs doesn't support O_DIRECT reads, which MMP uses to ensure that reads from the MMP block are not filled from the page cache. Using a local disk does not slow down the tests noticably, since they wait to detect if the MMP block is being modified. Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-25ext2fs: add multi-mount protection (INCOMPAT_MMP)Andreas Dilger30-79/+1166
Multi-mount protection is feature that allows mke2fs, e2fsck, and others to detect if the filesystem is mounted on a remote node (on SAN disks) and avoid corrupting the filesystem. For e2fsprogs this means that it checks the MMP block to see if the filesystem is in use, and marks the filesystem busy while e2fsck is running on the system. This is useful on SAN disks that are shared between high-availability servers, or accessible by multiple nodes that aren't in HA pairs. MMP isn't intended to serve as a primary HA exclusion mechanism, but as a failsafe to protect against user, software, or hardware errors. There is no requirement that e2fsck updates the MMP block at regular intervals, but e2fsck does this occasionally to provide useful information to the sysadmin in case of a detected conflict. For the kernel (since Linux 3.0) MMP adds a "heartbeat" mechanism to periodically write to disk (every few seconds by default) to notify other nodes that the filesystem is still in use and unsafe to modify. Originally-by: Kalpak Shah <kalpak@clusterfs.com> Signed-off-by: Johann Lombardi <johann@whamcloud.com> Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-09-24tune2fs: miscellaneous whitespace fixupsAndreas Dilger1-6/+6
Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-24tune2fs: kill external journal if device not foundAndreas Dilger2-2/+32
Continue to remove the external journal device even if the device cannot be found. Add a test to verify that the journal device/UUID are actually removed from the superblock. It isn't possible to use a real journal device for testing without loopback devices and such (it must be a block device) and this would invite complexity and failures in the regression test. Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-24misc: quiet minor compiler errorsAndreas Dilger8-31/+35
Several compiler errors are quieted: - zero-length gnu_printf format string - unused variable - uninitalized variable (though it isn't actually used for anything) - fixed a bug in ext2fs_stat() if stat64() does not exist Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-09-24libext2fs: add flag to ext2fs_flush() and ext2fs_close() to avoid fsyncRichard W.M. Jones3-3/+25
This adds new APIs: ext2fs_flush2 and ext2fs_close2 which take an extra 'int flags' parameter. This allows us to pass in an EXT2_FLAG_FLUSH_NO_SYNC flag which avoids fsync'ing the filesystem when closing it. For the case we have in mind where we are just constructing a throwaway ext2 filesystem in a file in order to boot a VM, this saves over 5 seconds during the boot process and avoids many unnecessary disk writes. Existing code using ext2fs_flush and ext2fs_close remains unaffected by this change. Signed-off-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-09-20e2fsck.8: fix spelling mistake in man pageTheodore Ts'o1-1/+1
Addresses-Debian-Bug: #642193 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-19libquota: only build a static libraryTheodore Ts'o6-77/+24
Since the libquota library has namespace contamination issues, don't build a shared library and link against it statically. Don't include it as part of the Debian packages. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-18debian: add support for multiarchTheodore Ts'o23-66/+113
Enhance the debian build rules so it will create multiarch compliant packages on those distributions that have support for it. Also remove e2initrd-helper from the e2fsprogs package since no one uses it any more. Also update the debian policy standards version to 3.9.2. Addresses-Debian-Bug: #632169 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-18Shorten compile commands run by the build systemTheodore Ts'o268-790/+1969
The DEFS line in MCONFIG had gotten so long that it exceeded 4k, and this was starting to cause some tools heartburn. It also made "make V=1" almost useless, since trying to following the individual commands run by make was lost in the noise of all of the defines. So fix this by putting the configure-generated defines in lib/config.h and the directory pathnames to lib/dirpaths.h. In addition, clean up some vestigal defines in configure.in and in the Makefiles to further shorten the cc command lines. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-16mke2fs: free tdb_dir string if it came from the profileEric Sandeen1-2/+9
if tdb_dir points to a string allocated from profile_get_string, it should be freed again before we exit. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>