From e27b047ccfb23e516cf557c7e12da1d281edac81 Mon Sep 17 00:00:00 2001
From: Dmitrij Tejblum
Date: Sun, 13 Sep 1998 15:39:01 +0000
Subject: [PATCH] Fix a bug related to renaming in root directory. This bug
reported by Cejka Rudolf on freebsd-current in
Messaage-Id <199807141023.MAA09803@kazi.dcse.fee.vutbr.cz>.
Reviewed by: bde
---
sys/fs/msdosfs/msdosfs_vnops.c | 6 ++++--
sys/msdosfs/msdosfs_vnops.c | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c
index 80fe8048c1a..c8923601b85 100644
--- a/sys/fs/msdosfs/msdosfs_vnops.c
+++ b/sys/fs/msdosfs/msdosfs_vnops.c
@@ -1,4 +1,4 @@
-/* $Id: msdosfs_vnops.c,v 1.74 1998/07/04 20:45:36 julian Exp $ */
+/* $Id: msdosfs_vnops.c,v 1.75 1998/07/11 07:45:50 bde Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */
/*-
@@ -1226,7 +1226,9 @@ abortit:
VOP_UNLOCK(fvp, 0, p);
goto bad;
}
- if (ip->de_dirclust != MSDOSFSROOT)
+ if (ip->de_dirclust == MSDOSFSROOT)
+ ip->de_diroffset = to_diroffset;
+ else
ip->de_diroffset = to_diroffset & pmp->pm_crbomask;
}
reinsert(ip);
diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c
index 80fe8048c1a..c8923601b85 100644
--- a/sys/msdosfs/msdosfs_vnops.c
+++ b/sys/msdosfs/msdosfs_vnops.c
@@ -1,4 +1,4 @@
-/* $Id: msdosfs_vnops.c,v 1.74 1998/07/04 20:45:36 julian Exp $ */
+/* $Id: msdosfs_vnops.c,v 1.75 1998/07/11 07:45:50 bde Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */
/*-
@@ -1226,7 +1226,9 @@ abortit:
VOP_UNLOCK(fvp, 0, p);
goto bad;
}
- if (ip->de_dirclust != MSDOSFSROOT)
+ if (ip->de_dirclust == MSDOSFSROOT)
+ ip->de_diroffset = to_diroffset;
+ else
ip->de_diroffset = to_diroffset & pmp->pm_crbomask;
}
reinsert(ip);