summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2004-12-02 10:09:33 +0000
committerphk <phk@FreeBSD.org>2004-12-02 10:09:33 +0000
commitde7e56a8ab384f77102dc0ac1394692c4e0b8686 (patch)
tree6bdcded3e316e88d9e784a37ef5c9842e664474e
parent8628145ec693adeb5a01cf3b610834e715fb6da4 (diff)
downloadFreeBSD-src-de7e56a8ab384f77102dc0ac1394692c4e0b8686.zip
FreeBSD-src-de7e56a8ab384f77102dc0ac1394692c4e0b8686.tar.gz
Remove the de_devvp and stop VREF'ing it for every vnode we create.
-rw-r--r--sys/fs/msdosfs/denode.h1
-rw-r--r--sys/fs/msdosfs/msdosfs_denode.c7
-rw-r--r--sys/fs/msdosfs/msdosfs_vnops.c4
3 files changed, 1 insertions, 11 deletions
diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h
index dfe7960..4339794 100644
--- a/sys/fs/msdosfs/denode.h
+++ b/sys/fs/msdosfs/denode.h
@@ -138,7 +138,6 @@ struct denode {
struct denode *de_next; /* Hash chain forward */
struct denode **de_prev; /* Hash chain back */
struct vnode *de_vnode; /* addr of vnode we are part of */
- struct vnode *de_devvp; /* vnode of blk dev we live on */
u_long de_flag; /* flag bits */
struct cdev *de_dev; /* device where direntry lives */
u_long de_dirclust; /* cluster of the directory file containing this entry */
diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c
index 6fa4a44..1642ed7 100644
--- a/sys/fs/msdosfs/msdosfs_denode.c
+++ b/sys/fs/msdosfs/msdosfs_denode.c
@@ -258,7 +258,6 @@ deget(pmp, dirclust, diroffset, depp)
nvp->v_data = ldep;
ldep->de_vnode = nvp;
ldep->de_flag = 0;
- ldep->de_devvp = 0;
ldep->de_dev = dev;
ldep->de_dirclust = dirclust;
ldep->de_diroffset = diroffset;
@@ -372,8 +371,6 @@ deget(pmp, dirclust, diroffset, depp)
} else
nvp->v_type = VREG;
ldep->de_modrev = init_va_filerev();
- ldep->de_devvp = pmp->pm_devvp;
- VREF(ldep->de_devvp);
*depp = ldep;
return (0);
}
@@ -646,10 +643,6 @@ msdosfs_reclaim(ap)
/*
* Purge old data structures associated with the denode.
*/
- if (dep->de_devvp) {
- vrele(dep->de_devvp);
- dep->de_devvp = 0;
- }
#if 0 /* XXX */
dep->de_flag = 0;
#endif
diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c
index c735647..3e2e41d 100644
--- a/sys/fs/msdosfs/msdosfs_vnops.c
+++ b/sys/fs/msdosfs/msdosfs_vnops.c
@@ -182,7 +182,6 @@ msdosfs_create(ap)
ndirent.de_StartCluster = 0;
ndirent.de_FileSize = 0;
ndirent.de_dev = pdep->de_dev;
- ndirent.de_devvp = pdep->de_devvp;
ndirent.de_pmp = pdep->de_pmp;
ndirent.de_flag = DE_ACCESS | DE_CREATE | DE_UPDATE;
getnanotime(&ts);
@@ -1356,7 +1355,6 @@ msdosfs_mkdir(ap)
ndirent.de_StartCluster = newcluster;
ndirent.de_FileSize = 0;
ndirent.de_dev = pdep->de_dev;
- ndirent.de_devvp = pdep->de_devvp;
error = createde(&ndirent, pdep, &dep, cnp);
if (error)
goto bad;
@@ -1747,7 +1745,7 @@ msdosfs_bmap(ap)
int error;
if (ap->a_bop != NULL)
- *ap->a_bop = &dep->de_devvp->v_bufobj;
+ *ap->a_bop = &dep->de_pmp->pm_devvp->v_bufobj;
if (ap->a_bnp == NULL)
return (0);
if (ap->a_runp) {
OpenPOWER on IntegriCloud