Opened 14 years ago

Closed 14 years ago

#251 closed defect (fixed)

FAT driver somehow limits multiple access to a file

Reported by: Martin Decky Owned by:
Priority: major Milestone: 0.4.3
Component: helenos/fs/fat Version: mainline
Keywords: Cc: jakub@…
Blocker for: Depends on:
See also:


As the klog task stores the kernel log output to a file /log/klog, a strange behaviour can be observed if the /log/klog is stored on a FAT filesystem.

Although the klog uses both fflush() and fsync() to flush all possible buffers, the size of the /log/klog file never actually grows beyond 3072 bytes and it is not possible to read more data from it than 3072 bytes via other tasks (such as "cat" command or edit).

It is questionable whether this is really a bug or somehow an expected behaviour given the fact FAT was probably not designed for parallel access from multiple tasks, but there should be probably some way except using fclose()/close() to force consistent view of the file.

The root cause of this issue is probably not in libc and VFS, since replacing FAT with tmpfs solves it.

Change History (3)

comment:1 by Jakub Jermář, 14 years ago

I am wondering how much free space is there left in the root file system wher /log/klog is stored.

comment:2 by Jakub Jermář, 14 years ago

Cc: jakub@… added

comment:3 by Martin Decky, 14 years ago

Resolution: fixed
Status: newclosed

Well, stupid me. This was no issue in the code, the FAT filesystem RAM disk was just created with just a small amount of free space. This is fixed in mainline,623.

Note: See TracTickets for help on using tickets.