fs: vfat: reduce the worst case latencies

When a block partition is mounted with FAT file system
and MS_DIRSYNC option is used, some file system operations
like create, rename shall sleep in caller's context until
all the metadata have been committed to the non-volatile memory.
Since this operation is blocking call for user context,
the WRITE_SYNC option must be used instead of WRITE
(async operation) which incur inherent latencies while
flushing the meta-data corresponding to directory entries

Change-Id: I41c514889873a39d564271db0a421e6c66e5ae33
Signed-off-by: xiaogang <xiaogang@codeaurora.org>
This commit is contained in:
xiaogang
2013-06-18 19:52:50 -07:00
committed by Gerrit - the friendly Code Review server
parent c03d8fea08
commit 418a8e6985
+1 -1
View File
@@ -271,7 +271,7 @@ int fat_sync_bhs(struct buffer_head **bhs, int nr_bhs)
int i, err = 0;
for (i = 0; i < nr_bhs; i++)
write_dirty_buffer(bhs[i], WRITE);
write_dirty_buffer(bhs[i], WRITE_SYNC);
for (i = 0; i < nr_bhs; i++) {
wait_on_buffer(bhs[i]);