On Monday 03 September 2018 17:01:03 OGAWA Hirofumi wrote: > Pali Rohár <pali.rohar@xxxxxxxxx> writes: > > >> Just relaxing validation doesn't work. The block layer doesn't support > >> smaller than 512, and lager than PAGE_SIZE. (And in specification, fat > >> doesn't support lager than 4096.) > > > > Hi! I just sent this patch for discussion, with links to (now open > > source) Windows implementation. I guess that Windows driver > > implementation is more "authoritative" then Microsoft's own > > specification. It is known that Windows implementation does not match > > Microsoft specification. > > > > I know at least 3 FAT specifications (MS EFI FAT, MS/SD card FAT, > > ECMA-107) and you are right that Microsoft's one does not allow sector > > sizes larger then 4096. > > > > If there is limitation by block layer, then: > > > > 1) Why we do not check for PAGE_SIZE? > > That source seems to check power_of_2(size) and 128 <= size <= > 4096. Rather why do you want to support larger than 4096? Or I'm missing > something? I looked into (Linux) mkfs.fat and it supports formatting disk also with sector size > 4096. Therefore I thought it may be good idea for ability to mount and use it (on Linux). I could check what other operating system would do with FAT sector size larger then 4096. > > 2) Is check in fat driver really needed (if block layer checks it)? > > Yes, isolating block layer error and fat format error to be better error > report. Ok. -- Pali Rohár pali.rohar@xxxxxxxxx