Align all data structures (reserved sectors, FATs, root directory for
FAT12/16) to an even multiple of the cluster size. This means that if
the partition is aligned, so will all clusters be. This adds
significant performance for anything where the physical sector size is
larger than the logical sector size, e.g. flash media or large-sector
hard disks.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Firstly, packed attribute is added to the structure so that extension
is guarranteed to immediately follow name for the cross-name-extension
reads to succeed.
Secondly, writes into dir_entry->name that span through the extension as
well are split into two, so that FORTIFY_SOURCE's bound checking does
not abort dosfsck. There also was an off-by-one error in auto_rename()'s
sprintf().
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
If an orphan chain that linked to cluster 1 was reclaimed to a file,
deletion of the file would result in a filesystem panic.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
This patch reorganizes heap memory usage by dosfsck and mkdosfs
to support limited-memory embedded systems - in particular, those
based on Xilinx's Microblaze processor. It also adds a few comments.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
* FAT16 filesystems with 65525 clusters or more will be rejected
(Before, this was not tested for. Up to 65535 clusters were accepted
as good).
* For FAT32 filesystems with less than 65525 a warning message will be
output.
Macro MSDOS_FAT12 is now replaced by FAT12_THRESHOLD to make it
consistent with the definition in mkdosfs and to remove the dependency
on the kernel version.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
<vapier@gentoo.org> to improve Makefile:
* Respect user settings #157785/#157786 by Diego Petteno.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Robin H. Johnson <robbat2@gentoo.org> to fix double count of files
during verification:
* Don't double-count n_files during a verification pass.
Bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=99845
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
<vapier@gentoo.org> to fix generation of filesystems on 256meg devices:
* Fix generation of FAT filesystems on devices that are 256meg in size
Patch by Ulrich Mueller and accepted upstream
http://bugs.gentoo.org/112504
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Gajdos <pgajdos@suse.cz> to add sector size warning:
* added warning for creation msdos on filesystem with sector size
greater than 4096 [fate#303325]
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
<lnussel@suse.de> to fix handling of zero heads and sectors:
* the HDIO_GETGEO ioctl works on device mapper devices but returns
zero heads and sectors. Therefore let's a) assume dummy values in
that case in mkdosfs and b) don't consider such fat file systems as
invalid in dosfsck. The Linux kernel accepts them anyways.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>