Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 10 years ago

Closed 8 years ago

#59 closed enhancement (fixed)

FAT server improvement: FAT12, FAT32, FAT64

Reported by: Martin Decky Owned by:
Priority: minor Milestone: 0.5.0
Component: helenos/fs/fat Version: mainline
Keywords: fs, fat, gsoc11 Cc: jakub@…
Blocker for: Depends on:
See also: #58

Description (last modified by Jakub Jermář)

Implement support for FAT12, FAT32 and FAT64 file system formats in HelenOS.

Details
Extend the FAT file system server and the associated utilities such as mkfat and mkfat.py to support variants of FAT other than the currently supported FAT16. Notably FAT12 and FAT32, perhaps also FAT64 (ExFAT). In case of FAT12, the change will be rather straightforward as it should be sufficient to make the current FAT server understand the 12-bit file allocation table. In case of FAT32, it may become necessary to reconsider the current approach of assigning file system node indices due to much larger maximum number of files that can be stored on FAT32. The effort needed to support FAT64 may be equal to writing the entire file system server from scratch.
What Gains and Benefits will this bring?
The current FAT file system server cannot deal with file systems formatted as FAT12, FAT32 or even FAT64. Especially the FAT32 format can be commonly found on contemporary removable media such as flash disks. By improving support for other FAT formats, HelenOS will be able to mount them and access data stored on them.
Difficulty
Depending on the chosen variant, this project's difficulty may range from easy (FAT12), to medium (FAT32) to hard (FAT64). The FAT64 variant can be made easier if only read-only support is to be delivered.
Required skills
A successful applicant will have good skills of programming in the C language and also the ability to program in a multi-server environment, which includes communicating using HelenOS IPC. Familiarity with any variant of FAT is an advantage.
Documentation
Possible mentors
HelenOS Core Team, Jakub Jermar

Change History (7)

comment:1 Changed 10 years ago by Jakub Jermář

Cc: jakub@… added
Keywords: fs fat added

comment:2 Changed 10 years ago by Jakub Jermář

Component: fs/fat

comment:3 Changed 10 years ago by Jakub Jermář

Keywords: suggestion added

comment:4 Changed 9 years ago by Jakub Jermář

Milestone: 0.5.00.5.1

comment:5 Changed 8 years ago by Jakub Jermář

Description: modified (diff)
Keywords: gsoc11 added; suggestion removed
See also: #58
Summary: FAT driver improvement: FAT12, FAT32, FAT64FAT server improvement: FAT12, FAT32, FAT64

comment:6 Changed 8 years ago by Jakub Jermář

Description: modified (diff)

comment:7 Changed 8 years ago by Jakub Jermář

Resolution: fixed
Status: newclosed

Fixed in mainline,1186.

Note: See TracTickets for help on using tickets.