Re: [PATCH] fat: Relax checks for sector size and media type

From: Pali RohÃr
Date: Mon Sep 03 2018 - 04:04:27 EST


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