From 1cb18e1e0de4873f98c58e23e1ed133c3914272f Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 22 Sep 2012 23:45:28 +0200 Subject: Avoid waiting for disk I/O completion This improves performance quite a bit, and is not less safe. * ext2fs/dir.c (diskfs_direnter_hard, diskfs_dirremove_hard, diskfs_dirrewrite_hard): Pass diskfs_synchronous instead of 1 as wait parameter to diskfs_file_update. * ext2fs/truncate.c (diskfs_truncate): Likewise. * libdiskfs/dir-init.c (diskfs_init_dir): Likewise. * libdiskfs/dir-link.c (diskfs_S_dir_link): Likewise. * libdiskfs/dir-rename.c (diskfs_S_dir_rename): Likewise. * libdiskfs/dir-renamed.c (diskfs_rename_dir): Likewise. * libdiskfs/file-set-trans.c (diskfs_S_file_set_translator): Likewise. * libdiskfs/node-create.c (diskfs_create_node): Likewise. * libdiskfs/node-drop.c (diskfs_drop_node): Likewise. --- ext2fs/dir.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'ext2fs/dir.c') diff --git a/ext2fs/dir.c b/ext2fs/dir.c index d70dbf32..714c1b7c 100644 --- a/ext2fs/dir.c +++ b/ext2fs/dir.c @@ -690,7 +690,7 @@ diskfs_direnter_hard (struct node *dp, const char *name, struct node *np, } } - diskfs_file_update (dp, 1); + diskfs_file_update (dp, diskfs_synchronous); return 0; } @@ -727,7 +727,7 @@ diskfs_dirremove_hard (struct node *dp, struct dirstat *ds) if (dp->dn->dirents && dp->dn->dirents[ds->idx] != -1) dp->dn->dirents[ds->idx]--; - diskfs_file_update (dp, 1); + diskfs_file_update (dp, diskfs_synchronous); return 0; } @@ -753,7 +753,7 @@ diskfs_dirrewrite_hard (struct node *dp, struct node *np, struct dirstat *ds) munmap ((caddr_t) ds->mapbuf, ds->mapextent); - diskfs_file_update (dp, 1); + diskfs_file_update (dp, diskfs_synchronous); return 0; } -- cgit v1.2.3