summaryrefslogtreecommitdiff
path: root/sys/gnu
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2008-09-16 11:09:26 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2008-09-16 11:09:26 +0000
commitbdb80947637137efd798dfcf47298bddb9d40413 (patch)
tree3b5e95bdb6db8b07c4b422cc9f728b3869de1c44 /sys/gnu
parent90446e360c09b7fff052b2ce7be524e767aaa299 (diff)
Notes
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 04a9d46300ce..086f73957976 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