Opened 5 years ago

Closed 2 years ago

#15 closed enhancement (worksforme)

Support of 64KB clusters (Like WinNT)

Reported by: Valery V. Sedletski Owned by: Valery V. Sedletski
Priority: Feedback Pending Milestone: Future
Component: IFS Version:
Severity: high Keywords: fat32, ifs, cluster, big
Cc:

Description

WinNT supports big 64KB (128 sectors) clusters, which fat32.ifs did not supported. Fat32format seems to support 128 sectors per cluster (so, the new FORMAT should support it too). So, we will try to extend other parts to understand these.

Change History (6)

comment:1 Changed 4 years ago by diver

Milestone: Future
Severity: high

comment:2 Changed 3 years ago by Valery V. Sedletski

Last edited 3 years ago by Valery V. Sedletski (previous) (diff)

comment:3 Changed 3 years ago by Valery V. Sedletski

Starting from r208, I added support for reading/writing clusters by smaller subcluster blocks. The size of block is determined as min(ClusterSize?, 32768). So, if ClusterSize? <= 32768, then cluster size == block size. If cluster size is bigger, it still reads by 32 KB blocks. This allows for better support of big 64 KB clusters on FAT32, without allocating a buffer of 64 KB, which is the solution for a 16-bit IFS driver. Also, this allows supporting up to 32 MB clusters in exFAT in the future. So far, it looks that problems, introduced by older 64 KB clusters support code, are gone. Also, starting from r209, #25 should be fixed too.

Please see http://trac.netlabs.org/fat32/ for latest r210 binaries.

comment:4 Changed 3 years ago by Valery V. Sedletski

Priority: majorFeedback Pending

comment:5 Changed 3 years ago by Valery V. Sedletski

Updated to r212. Here is infinite loop is fixed, when adding a directory entry in case of block=cluster=8 KB and 1st cluster is completely filled (128th directory entry).

Last edited 3 years ago by Valery V. Sedletski (previous) (diff)

comment:6 Changed 2 years ago by Valery V. Sedletski

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.