diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-09-22 23:45:28 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-09-22 23:45:28 +0200 |
commit | 1cb18e1e0de4873f98c58e23e1ed133c3914272f (patch) | |
tree | b9fe3af5854b2d82484116302ae6eb868ded864a /libdiskfs | |
parent | 015d12aaa7a63dbec0ba2230298caa7b5d802c2b (diff) |
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.
Diffstat (limited to 'libdiskfs')
-rw-r--r-- | libdiskfs/dir-init.c | 2 | ||||
-rw-r--r-- | libdiskfs/dir-link.c | 2 | ||||
-rw-r--r-- | libdiskfs/dir-rename.c | 2 | ||||
-rw-r--r-- | libdiskfs/dir-renamed.c | 2 | ||||
-rw-r--r-- | libdiskfs/file-set-trans.c | 2 | ||||
-rw-r--r-- | libdiskfs/node-create.c | 2 | ||||
-rw-r--r-- | libdiskfs/node-drop.c | 2 |
7 files changed, 7 insertions, 7 deletions
diff --git a/libdiskfs/dir-init.c b/libdiskfs/dir-init.c index 2cba3a4b..4efded07 100644 --- a/libdiskfs/dir-init.c +++ b/libdiskfs/dir-init.c @@ -63,6 +63,6 @@ diskfs_init_dir (struct node *dp, struct node *pdp, struct protid *cred) return err; } - diskfs_node_update (dp, 1); + diskfs_node_update (dp, diskfs_synchronous); return 0; } diff --git a/libdiskfs/dir-link.c b/libdiskfs/dir-link.c index 81a45b5f..82f8aeec 100644 --- a/libdiskfs/dir-link.c +++ b/libdiskfs/dir-link.c @@ -101,7 +101,7 @@ diskfs_S_dir_link (struct protid *dircred, } np->dn_stat.st_nlink++; np->dn_set_ctime = 1; - diskfs_node_update (np, 1); + diskfs_node_update (np, diskfs_synchronous); /* Attach it */ if (tnp) diff --git a/libdiskfs/dir-rename.c b/libdiskfs/dir-rename.c index 867e395d..298669be 100644 --- a/libdiskfs/dir-rename.c +++ b/libdiskfs/dir-rename.c @@ -164,7 +164,7 @@ diskfs_S_dir_rename (struct protid *fromcred, } fnp->dn_stat.st_nlink++; fnp->dn_set_ctime = 1; - diskfs_node_update (fnp, 1); + diskfs_node_update (fnp, diskfs_synchronous); if (tnp) { diff --git a/libdiskfs/dir-renamed.c b/libdiskfs/dir-renamed.c index 79381b2c..3064dbaf 100644 --- a/libdiskfs/dir-renamed.c +++ b/libdiskfs/dir-renamed.c @@ -176,7 +176,7 @@ diskfs_rename_dir (struct node *fdp, struct node *fnp, const char *fromname, } fnp->dn_stat.st_nlink++; fnp->dn_set_ctime = 1; - diskfs_node_update (fnp, 1); + diskfs_node_update (fnp, diskfs_synchronous); if (tnp) { diff --git a/libdiskfs/file-set-trans.c b/libdiskfs/file-set-trans.c index 26a19eb4..c9b2c613 100644 --- a/libdiskfs/file-set-trans.c +++ b/libdiskfs/file-set-trans.c @@ -196,7 +196,7 @@ diskfs_S_file_set_translator (struct protid *cred, if (!error) { np->dn_stat.st_mode = newmode; - diskfs_node_update (np, 1); + diskfs_node_update (np, diskfs_synchronous); } mutex_unlock (&np->lock); return error; diff --git a/libdiskfs/node-create.c b/libdiskfs/node-create.c index 4a7d108d..5b5e4639 100644 --- a/libdiskfs/node-create.c +++ b/libdiskfs/node-create.c @@ -131,7 +131,7 @@ diskfs_create_node (struct node *dir, if (S_ISDIR (mode)) err = diskfs_init_dir (np, dir, cred); - diskfs_node_update (np, 1); + diskfs_node_update (np, diskfs_synchronous); if (err) { diff --git a/libdiskfs/node-drop.c b/libdiskfs/node-drop.c index f44966ba..c3d32c96 100644 --- a/libdiskfs/node-drop.c +++ b/libdiskfs/node-drop.c @@ -78,7 +78,7 @@ diskfs_drop_node (struct node *np) np->dn_stat.st_mode = 0; np->dn_stat.st_rdev = 0; np->dn_set_ctime = np->dn_set_atime = 1; - diskfs_node_update (np, 1); + diskfs_node_update (np, diskfs_synchronous); diskfs_free_node (np, savemode); } else |