summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1995-03-17 16:47:12 +0000
committerMichael I. Bushnell <mib@gnu.org>1995-03-17 16:47:12 +0000
commit8769fd8a6473b061e99d7dfd5b860fb040761094 (patch)
treec18c544b671b6a2e61af1e780792fc7a77c18766 /libdiskfs
parent8ca0d23d1f1483212317f85d986b6a0e275108c5 (diff)
(diskfs_S_dir_rmdir): Repair implementation of diskfs_syncronous.
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/dir-rmdir.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/libdiskfs/dir-rmdir.c b/libdiskfs/dir-rmdir.c
index 5e3407d8..959864e4 100644
--- a/libdiskfs/dir-rmdir.c
+++ b/libdiskfs/dir-rmdir.c
@@ -68,19 +68,16 @@ diskfs_S_dir_rmdir (struct protid *dircred,
}
error = diskfs_dirremove (dnp, ds);
- if (diskfs_synchronous)
- diskfs_node_update (dnp, 1);
-
if (!error)
{
np->dn_stat.st_nlink--;
np->dn_set_ctime = 1;
+ diskfs_clear_directory (np, dnp, dircred);
if (diskfs_synchronous)
- diskfs_node_update (np, 1);
+ diskfs_file_update (np, 1);
}
-
- if (!error)
- diskfs_clear_directory (np, dnp, dircred);
+ if (diskfs_synchronous)
+ diskfs_file_update (dnp, 1);
diskfs_nput (np);
mutex_unlock (&dnp->lock);