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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux