summaryrefslogtreecommitdiffstats
path: root/sys/gnu
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2008-09-16 11:09:26 +0000
committerkib <kib@FreeBSD.org>2008-09-16 11:09:26 +0000
commit039c5da1b25fe16e767d26bf96a871642f599a7f (patch)
tree3b5e95bdb6db8b07c4b422cc9f728b3869de1c44 /sys/gnu
parentad287e3d61bd9ac5dc16f705f511e471510755c4 (diff)
downloadFreeBSD-src-039c5da1b25fe16e767d26bf96a871642f599a7f.zip
FreeBSD-src-039c5da1b25fe16e767d26bf96a871642f599a7f.tar.gz
Garbage-collect vn_write_suspend_wait().
Suggested and reviewed by: tegge Tested by: pho MFC after: 1 month
Diffstat (limited to 'sys/gnu')
-rw-r--r--sys/gnu/fs/ext2fs/ext2_inode.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_inode.c b/sys/gnu/fs/ext2fs/ext2_inode.c
index 04a9d46..086f739 100644
--- a/sys/gnu/fs/ext2fs/ext2_inode.c
+++ b/sys/gnu/fs/ext2fs/ext2_inode.c
@@ -481,7 +481,6 @@ ext2_inactive(ap)
if (ip->i_mode == 0)
goto out;
if (ip->i_nlink <= 0) {
- (void) vn_write_suspend_wait(vp, NULL, V_WAIT);
error = ext2_truncate(vp, (off_t)0, 0, NOCRED, td);
ip->i_rdev = 0;
mode = ip->i_mode;
@@ -489,15 +488,8 @@ ext2_inactive(ap)
ip->i_flag |= IN_CHANGE | IN_UPDATE;
ext2_vfree(vp, ip->i_number, mode);
}
- if (ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) {
- if ((ip->i_flag & (IN_CHANGE | IN_UPDATE | IN_MODIFIED)) == 0 &&
- vn_write_suspend_wait(vp, NULL, V_NOWAIT)) {
- ip->i_flag &= ~IN_ACCESS;
- } else {
- (void) vn_write_suspend_wait(vp, NULL, V_WAIT);
- ext2_update(vp, 0);
- }
- }
+ if (ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE))
+ ext2_update(vp, 0);
out:
/*
* If we are done with the inode, reclaim it
OpenPOWER on IntegriCloud