Module Name: src
Committed By: riastradh
Date: Sat Sep 5 02:55:39 UTC 2020
Modified Files:
src/sys/ufs/lfs: lfs_vnops.c ulfs_lookup.c
src/sys/ufs/ufs: ufs_lookup.c ufs_vnops.c
src/tests/fs/vfs: t_renamerace.c
Log Message:
Revert "ufs: Prevent mkdir from choking on deleted directories."
This change made no sense and should not have been committed.
To generate a diff of this commit:
cvs rdiff -u -r1.334 -r1.335 src/sys/ufs/lfs/lfs_vnops.c
cvs rdiff -u -r1.45 -r1.46 src/sys/ufs/lfs/ulfs_lookup.c
cvs rdiff -u -r1.154 -r1.155 src/sys/ufs/ufs/ufs_lookup.c
cvs rdiff -u -r1.257 -r1.258 src/sys/ufs/ufs/ufs_vnops.c
cvs rdiff -u -r1.39 -r1.40 src/tests/fs/vfs/t_renamerace.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/ufs/lfs/lfs_vnops.c
diff -u src/sys/ufs/lfs/lfs_vnops.c:1.334 src/sys/ufs/lfs/lfs_vnops.c:1.335
--- src/sys/ufs/lfs/lfs_vnops.c:1.334 Sat Sep 5 02:47:48 2020
+++ src/sys/ufs/lfs/lfs_vnops.c Sat Sep 5 02:55:38 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: lfs_vnops.c,v 1.334 2020/09/05 02:47:48 riastradh Exp $ */
+/* $NetBSD: lfs_vnops.c,v 1.335 2020/09/05 02:55:38 riastradh Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
@@ -125,7 +125,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.334 2020/09/05 02:47:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.335 2020/09/05 02:55:38 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@@ -991,13 +991,6 @@ lfs_mkdir(void *v)
*ap->a_vpp = NULL;
goto out;
}
- if (VTOI(*ap->a_vpp)->i_size == 0) {
- /* directory has been rmdir'd */
- vput(*ap->a_vpp);
- *ap->a_vpp = NULL;
- error = ENOENT;
- goto out;
- }
tvp = *ap->a_vpp;
MARK_VNODE(tvp);
Index: src/sys/ufs/lfs/ulfs_lookup.c
diff -u src/sys/ufs/lfs/ulfs_lookup.c:1.45 src/sys/ufs/lfs/ulfs_lookup.c:1.46
--- src/sys/ufs/lfs/ulfs_lookup.c:1.45 Sat Sep 5 02:47:48 2020
+++ src/sys/ufs/lfs/ulfs_lookup.c Sat Sep 5 02:55:38 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ulfs_lookup.c,v 1.45 2020/09/05 02:47:48 riastradh Exp $ */
+/* $NetBSD: ulfs_lookup.c,v 1.46 2020/09/05 02:55:38 riastradh Exp $ */
/* from NetBSD: ufs_lookup.c,v 1.135 2015/07/11 11:04:48 mlelstv */
/*
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ulfs_lookup.c,v 1.45 2020/09/05 02:47:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ulfs_lookup.c,v 1.46 2020/09/05 02:55:38 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_lfs.h"
@@ -522,7 +522,6 @@ found:
results->ulr_offset + LFS_DIRSIZ(fs, ep);
DIP_ASSIGN(dp, size, dp->i_size);
dp->i_state |= IN_CHANGE | IN_UPDATE;
- uvm_vnp_setsize(vdp, dp->i_size);
}
brelse(bp, 0);
@@ -847,7 +846,6 @@ ulfs_direnter(struct vnode *dvp, const s
dp->i_size = ulr->ulr_offset + ulr->ulr_count;
DIP_ASSIGN(dp, size, dp->i_size);
dp->i_state |= IN_CHANGE | IN_UPDATE;
- uvm_vnp_setsize(dvp, dp->i_size);
}
/*
* Get the block containing the space for the new directory entry.
Index: src/sys/ufs/ufs/ufs_lookup.c
diff -u src/sys/ufs/ufs/ufs_lookup.c:1.154 src/sys/ufs/ufs/ufs_lookup.c:1.155
--- src/sys/ufs/ufs/ufs_lookup.c:1.154 Sat Sep 5 02:47:48 2020
+++ src/sys/ufs/ufs/ufs_lookup.c Sat Sep 5 02:55:39 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ufs_lookup.c,v 1.154 2020/09/05 02:47:48 riastradh Exp $ */
+/* $NetBSD: ufs_lookup.c,v 1.155 2020/09/05 02:55:39 riastradh Exp $ */
/*
* Copyright (c) 1989, 1993
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_lookup.c,v 1.154 2020/09/05 02:47:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_lookup.c,v 1.155 2020/09/05 02:55:39 riastradh Exp $");
#ifdef _KERNEL_OPT
#include "opt_ffs.h"
@@ -667,7 +667,6 @@ found:
dp->i_size = newisize;
DIP_ASSIGN(dp, size, dp->i_size);
dp->i_flag |= IN_CHANGE | IN_UPDATE;
- uvm_vnp_setsize(vdp, dp->i_size);
UFS_WAPBL_UPDATE(vdp, NULL, NULL, UPDATE_DIROP);
}
brelse(bp, 0);
@@ -957,7 +956,6 @@ ufs_dircompact(struct vnode *dvp, const
dp->i_size = ulr->ulr_offset + ulr->ulr_count;
DIP_ASSIGN(dp, size, dp->i_size);
dp->i_flag |= IN_CHANGE | IN_UPDATE;
- uvm_vnp_setsize(dvp, dp->i_size);
UFS_WAPBL_UPDATE(dvp, NULL, NULL, UPDATE_DIROP);
}
/*
Index: src/sys/ufs/ufs/ufs_vnops.c
diff -u src/sys/ufs/ufs/ufs_vnops.c:1.257 src/sys/ufs/ufs/ufs_vnops.c:1.258
--- src/sys/ufs/ufs/ufs_vnops.c:1.257 Sat Sep 5 02:47:48 2020
+++ src/sys/ufs/ufs/ufs_vnops.c Sat Sep 5 02:55:39 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: ufs_vnops.c,v 1.257 2020/09/05 02:47:48 riastradh Exp $ */
+/* $NetBSD: ufs_vnops.c,v 1.258 2020/09/05 02:55:39 riastradh Exp $ */
/*-
* Copyright (c) 2008, 2020 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.257 2020/09/05 02:47:48 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.258 2020/09/05 02:55:39 riastradh Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ffs.h"
@@ -1253,13 +1253,6 @@ ufs_mkdir(void *v)
*ap->a_vpp = NULL;
goto out;
}
- if (VTOI(*ap->a_vpp)->i_size == 0) {
- /* directory has been rmdir'd */
- vput(*ap->a_vpp);
- *ap->a_vpp = NULL;
- error = ENOENT;
- goto out;
- }
error = UFS_WAPBL_BEGIN(ap->a_dvp->v_mount);
if (error) {
vput(*ap->a_vpp);
Index: src/tests/fs/vfs/t_renamerace.c
diff -u src/tests/fs/vfs/t_renamerace.c:1.39 src/tests/fs/vfs/t_renamerace.c:1.40
--- src/tests/fs/vfs/t_renamerace.c:1.39 Sat Sep 5 02:47:49 2020
+++ src/tests/fs/vfs/t_renamerace.c Sat Sep 5 02:55:39 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: t_renamerace.c,v 1.39 2020/09/05 02:47:49 riastradh Exp $ */
+/* $NetBSD: t_renamerace.c,v 1.40 2020/09/05 02:55:39 riastradh Exp $ */
/*
* Modified for rump and atf from a program supplied
@@ -248,6 +248,8 @@ renamerace_cycle(const atf_tc_t *tc, con
atf_tc_skip("directories not supported by file system");
if (FSTYPE_RUMPFS(tc))
atf_tc_skip("rename not supported by file system");
+ if (FSTYPE_P2K_FFS(tc))
+ atf_tc_expect_fail("assertion \"vp->v_size == ip->i_size\" failed");
if (FSTYPE_PUFFS(tc))
atf_tc_expect_fail("assertion \"dfd\" failed");
if (FSTYPE_NFS(tc))