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

Opened 9 years ago

Closed 9 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:

Description

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 Changed 9 years ago by Jakub Jermář

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

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

Cc: jakub@… added

comment:3 Changed 9 years ago by Martin Decky

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.