From: OGAWA Hirofumi Use the synchronous updates, in order to guarantee that the writing to a disk is completeing when a system call returns. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton --- 25-akpm/fs/msdos/namei.c | 5 ++++- 25-akpm/fs/vfat/namei.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff -puN fs/msdos/namei.c~fat-use-synchronous-update-for fs/msdos/namei.c --- 25/fs/msdos/namei.c~fat-use-synchronous-update-for Sun Mar 6 17:13:31 2005 +++ 25-akpm/fs/msdos/namei.c Sun Mar 6 17:13:31 2005 @@ -278,7 +278,10 @@ static int msdos_add_entry(struct inode return err; dir->i_ctime = dir->i_mtime = *ts; - mark_inode_dirty(dir); + if (IS_DIRSYNC(dir)) + (void)fat_sync_inode(dir); + else + mark_inode_dirty(dir); return 0; } diff -puN fs/vfat/namei.c~fat-use-synchronous-update-for fs/vfat/namei.c --- 25/fs/vfat/namei.c~fat-use-synchronous-update-for Sun Mar 6 17:13:31 2005 +++ 25-akpm/fs/vfat/namei.c Sun Mar 6 17:13:31 2005 @@ -684,7 +684,10 @@ static int vfat_add_entry(struct inode * /* update timestamp */ dir->i_ctime = dir->i_mtime = dir->i_atime = *ts; - mark_inode_dirty(dir); + if (IS_DIRSYNC(dir)) + (void)fat_sync_inode(dir); + else + mark_inode_dirty(dir); cleanup: kfree(slots); return err; _