summaryrefslogtreecommitdiff
path: root/libdiskfs/dir-rename.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/dir-rename.c')
-rw-r--r--libdiskfs/dir-rename.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libdiskfs/dir-rename.c b/libdiskfs/dir-rename.c
index 11841332..a8a7760f 100644
--- a/libdiskfs/dir-rename.c
+++ b/libdiskfs/dir-rename.c
@@ -68,6 +68,21 @@ diskfs_S_dir_rename (struct protid *fromcred,
}
err = diskfs_rename_dir (fdp, fnp, fromname, tdp, toname, fromcred,
tocred);
+ if (diskfs_synchronous)
+ {
+ mutex_lock (&fdp->lock);
+ diskfs_file_update (fdp, 1);
+ mutex_unlock (&fdp->lock);
+
+ mutex_lock (&fnp->lock);
+ diskfs_file_update (fnp, 1);
+ mutex_unlock (&fnp->lock);
+
+ mutex_lock (&tdp->lock);
+ diskfs_file_update (tdp, 1);
+ mutex_unlock (&tdp->lock);
+ }
+
diskfs_nrele (fnp);
mutex_unlock (&renamedirlock);
if (!err)