summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/dosfs/fat_file.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-05-09 14:33:51 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-05-11 13:58:43 +0200
commit86ef0df976faf1b060347a07744814458aa42619 (patch)
treed001b836005d059b5aa11cf541093f5027c50d28 /cpukit/libfs/src/dosfs/fat_file.h
parentlibblock: Add RTEMS_BLKIO_PURGEDEV (diff)
downloadrtems-86ef0df976faf1b060347a07744814458aa42619.tar.bz2
dosfs: Remove fat_file_datasync()
The fat_file_datasync() read every cluster of the file into the cache and then synchronized it step-by-step. For unmodified buffers this is a non-operation. For modified buffers this will wake-up the swapout task which performs then a single buffer write operation. This is usually quite inefficient. Firstly we do single buffer writes, secondly we may perform a lot of unnecessary read operations (for huge files this is really bad), and thirdly this leads likely to cache evictions. The synchronization procedure is replaced by a simple rtems_bdbuf_sync_dev(). This has the side-effect that also buffers not related to the file are synchronized, but since the modified list is normally short this should be acceptable.
Diffstat (limited to 'cpukit/libfs/src/dosfs/fat_file.h')
-rw-r--r--cpukit/libfs/src/dosfs/fat_file.h5
1 files changed, 0 insertions, 5 deletions
diff --git a/cpukit/libfs/src/dosfs/fat_file.h b/cpukit/libfs/src/dosfs/fat_file.h
index 30614c8f46..3a338a59ea 100644
--- a/cpukit/libfs/src/dosfs/fat_file.h
+++ b/cpukit/libfs/src/dosfs/fat_file.h
@@ -168,11 +168,6 @@ fat_file_truncate(rtems_filesystem_mount_table_entry_t *mt_entry,
uint32_t new_length);
int
-fat_file_datasync(rtems_filesystem_mount_table_entry_t *mt_entry,
- fat_file_fd_t *fat_fd);
-
-
-int
fat_file_ioctl(rtems_filesystem_mount_table_entry_t *mt_entry,
fat_file_fd_t *fat_fd,
int cmd,