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-05-28 15:38:17 +08:00 committed by Stephen Boyd
parent b952b8b91f
commit 6cfea18fb4

View file

@ -278,7 +278,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]);