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? > 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. -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>