dosfstools: update to v4.0
[openwrt/staging/chunkeey.git] / tools / dosfstools / patches / 0001-mkfs-Default-to-64-32-heads-sectors-for-targets-smal.patch
diff --git a/tools/dosfstools/patches/0001-mkfs-Default-to-64-32-heads-sectors-for-targets-smal.patch b/tools/dosfstools/patches/0001-mkfs-Default-to-64-32-heads-sectors-for-targets-smal.patch
new file mode 100644 (file)
index 0000000..09e7320
--- /dev/null
@@ -0,0 +1,39 @@
+From 1e76e5778a1885452939a79d9145b80634a5b023 Mon Sep 17 00:00:00 2001
+From: Andreas Bombe <aeb@debian.org>
+Date: Wed, 11 May 2016 03:44:58 +0200
+Subject: [PATCH] mkfs: Default to 64/32 heads/sectors for targets smaller than
+ 512 MB
+
+This may put defaults in certain use cases a little bit more in line
+with the old defaults in versions up to 3.0.28. It has mostly aesthetic
+value in most cases.
+
+Signed-off-by: Andreas Bombe <aeb@debian.org>
+---
+ src/mkfs.fat.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/mkfs.fat.c b/src/mkfs.fat.c
+index 8a320fd..bad492b 100644
+--- a/src/mkfs.fat.c
++++ b/src/mkfs.fat.c
+@@ -519,6 +519,16 @@ static void establish_params(struct device_info *info)
+     unsigned int cluster_size = 4;  /* starting point for FAT12 and FAT16 */
+     int def_root_dir_entries = 512;
++    if (info->size < 512 * 1024 * 1024) {
++      /*
++       * These values are more or less meaningless, but we can at least
++       * use less extreme values for smaller filesystems where the large
++       * dummy values signifying LBA only access are not needed.
++       */
++      sec_per_track = 32;
++      heads = 64;
++    }
++
+     if (info->type != TYPE_FIXED) {
+       /* enter default parameters for floppy disks if the size matches */
+       switch (info->size / 1024) {
+-- 
+2.1.4
+