diff options
| author | Conrad Meyer <[email protected]> | 2014-06-06 14:36:37 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2014-06-06 16:08:10 -0700 |
| commit | 190a8843ded231638d0e7ae7d8ca6a712472d114 (patch) | |
| tree | 30e99192bc39f30584197eab47b119478d8dfe37 /tools/perf/scripts/python | |
| parent | a19189e5535ed8fd191d8989fc39da1637cfa224 (diff) | |
fs/fat/: add support for DOS 1.x formatted volumes
Add structure for parsed BPB information, struct fat_bios_param_block,
and move all of the deserialization and validation logic from
fat_fill_super() into fat_read_bpb().
Add a 'dos1xfloppy' mount option to infer DOS 2.x BIOS Parameter Block
defaults from block device geometry for ancient floppies and floppy
images, as a fall-back from the default BPB parsing logic.
When fat_read_bpb() finds an invalid FAT filesystem and dos1xfloppy is
set, fall back to fat_read_static_bpb(). fat_read_static_bpb()
validates that the entire BPB is zero, and that the floppy has a
DOS-style 8086 code bootstrapping header. Then it fills in default BPB
values from media size and a table.[0]
Media size is assumed to be static for archaic FAT volumes. See also:
[1].
Fixes kernel.org bug #42617.
[0]: https://en.wikipedia.org/wiki/File_Allocation_Table#Exceptions
[1]: http://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html
[[email protected]: fix missed error code]
Signed-off-by: Conrad Meyer <[email protected]>
Acked-by: OGAWA Hirofumi <[email protected]>
Signed-off-by: OGAWA Hirofumi <[email protected]>
Tested-by: Alan Cox <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions