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: |
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 by , 14 years ago
comment:2 by , 14 years ago
Cc: | added |
---|
comment:3 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
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.
I am wondering how much free space is there left in the root file system wher /log/klog is stored.