Ticket #59 (closed enhancement: fixed)

Opened 3 years ago

Last modified 9 months ago

FAT server improvement: FAT12, FAT32, FAT64

Reported by: 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 jermar) (diff)

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

comment:1 Changed 3 years ago by jermar

  • Keywords fs, fat added
  • Cc jakub@… added

comment:2 Changed 3 years ago by jermar

  • Component set to fs/fat

comment:3 Changed 2 years ago by jermar

  • Keywords fat, suggestion added; fat removed

comment:4 Changed 16 months ago by jermar

  • Milestone changed from 0.5.0 to 0.5.1

comment:5 Changed 15 months ago by jermar

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

comment:6 Changed 15 months ago by jermar

  • Description modified (diff)

comment:7 Changed 9 months ago by jermar

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in mainline,1186.

Note: See TracTickets for help on using tickets.