The default sectors per cluster calculated by mkdosfs are outdated, see http://technet.microsoft.com/en-us/library/cc938438.aspx.
The deviations may cause some 3rd party devices (e.g. TechniSat DVB receivers) to hang when reading mkdosfs generated file systems. --- src/mkdosfs.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/mkdosfs.c b/src/mkdosfs.c index af1e0d1..a3505b4 100644 --- a/src/mkdosfs.c +++ b/src/mkdosfs.c @@ -713,18 +713,18 @@ def_hd_params: } if (size_fat == 32) { /* For FAT32, try to do the same as M$'s format command - * (see http://www.win.tue.nl/~aeb/linux/fs/fat/fatgen103.pdf p. 20): - * fs size <= 260M: 0.5k clusters - * fs size <= 8G: 4k clusters - * fs size <= 16G: 8k clusters - * fs size > 16G: 16k clusters + * (http://technet.microsoft.com/en-us/library/cc938438.aspx): + * fs size < 8G: 4k clusters + * fs size < 16G: 8k clusters + * fs size < 32G: 16k clusters + * fs size >= 32G: 32k clusters */ unsigned long sz_mb = (blocks + (1 << (20 - BLOCK_SIZE_BITS)) - 1) >> (20 - BLOCK_SIZE_BITS); bs.cluster_size = - sz_mb > 16 * 1024 ? 32 : sz_mb > 8 * 1024 ? 16 : sz_mb > - 260 ? 8 : 1; + sz_mb >= 32 * 1024 ? 64 : sz_mb >= 16 * 1024 ? 32 : sz_mb >= + 8 * 1024 ? 16 : 8; } else { /* FAT12 and FAT16: start at 4 sectors per cluster */ bs.cluster_size = (char)4; -- 1.7.3.4 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org