Timestamp:
11/08/12 14:41:23 (11 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, 5, master
Children:
3c1d387
Parents:
8863338
git-author:
Sebastian Huber <sebastian.huber@…> (11/08/12 14:41:23)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/13/12 08:38:03)
Message:

dosfs: Lazy update of FAT32 FS info sector

The FAT32 FS info sector contains hints for the free cluster count and
the next free cluster. The previous code read these values during mount
and replaced them with invalid values. The shutdown operation updated
them with the current values. These values are only hints. Every FAT
implementation must cope with arbitrary values. They are intended to
speed up certain operations.

Now we update the free cluster count and next free culster in the FAT32
FS info sector only during unmount or sync operations and only if the
values have changed. This avoids writes to the FS info sector and
conforms to the behaviour of Linux and Windows.

The application can force an update of these values now with the fsync()
and fdatasync() operations. Applications that only read will perform
not write operations to the FAT32 FS info sector.

The new fat_sync() function performs all non-file specific
synchronizations.

(No files)

Note: See TracChangeset for help on using the changeset viewer.