Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102039430
D31366.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D31366.diff
View Options
Index: sys/fs/msdosfs/msdosfs_vnops.c
===================================================================
--- sys/fs/msdosfs/msdosfs_vnops.c
+++ sys/fs/msdosfs/msdosfs_vnops.c
@@ -1007,13 +1007,11 @@
if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') ||
dp == ip ||
(fcnp->cn_flags & ISDOTDOT) ||
- (tcnp->cn_flags & ISDOTDOT) ||
- (ip->de_flag & DE_RENAME)) {
+ (tcnp->cn_flags & ISDOTDOT)) {
VOP_UNLOCK(fvp);
error = EINVAL;
goto abortit;
}
- ip->de_flag |= DE_RENAME;
doingdirectory++;
}
@@ -1113,11 +1111,6 @@
if (relookup(fdvp, &fvp, fcnp) == 0)
vrele(fdvp);
if (fvp == NULL) {
- /*
- * From name has disappeared.
- */
- if (doingdirectory)
- panic("rename: lost dir entry");
if (newparent)
VOP_UNLOCK(tdvp);
vrele(tdvp);
@@ -1140,16 +1133,13 @@
* Ensure that the directory entry still exists and has not
* changed till now. If the source is a file the entry may
* have been unlinked or renamed. In either case there is
- * no further work to be done. If the source is a directory
- * then it cannot have been rmdir'ed or renamed; this is
- * prohibited by the DE_RENAME flag.
+ * no further work to be done.
*/
if (xp != ip) {
- if (doingdirectory)
- panic("rename: lost dir entry");
if (newparent)
VOP_UNLOCK(fdvp);
vrele(ap->a_fvp);
+ ip = NULL;
xp = NULL;
} else {
vrele(fvp);
@@ -1220,7 +1210,7 @@
* If we moved a directory to a new parent directory, then we must
* fixup the ".." entry in the moved directory.
*/
- if (doingdirectory && newparent) {
+ if (ip != NULL && doingdirectory && newparent) {
cn = ip->de_StartCluster;
if (cn == MSDOSFSROOT) {
/* this should never happen */
@@ -1264,7 +1254,6 @@
vput(tvp);
vput(tdvp);
out:
- ip->de_flag &= ~DE_RENAME;
vrele(fdvp);
vrele(fvp);
return (error);
@@ -1428,7 +1417,7 @@
* non-empty.)
*/
error = 0;
- if (!dosdirempty(ip) || ip->de_flag & DE_RENAME) {
+ if (!dosdirempty(ip)) {
error = ENOTEMPTY;
goto out;
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Nov 7, 8:39 PM (21 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14520329
Default Alt Text
D31366.diff (2 KB)
Attached To
Mode
D31366: msdosfs: drop DE_RENAME
Attached
Detach File
Event Timeline
Log In to Comment