diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2008-09-16 11:09:26 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2008-09-16 11:09:26 +0000 |
| commit | bdb80947637137efd798dfcf47298bddb9d40413 (patch) | |
| tree | 3b5e95bdb6db8b07c4b422cc9f728b3869de1c44 /sys/gnu | |
| parent | 90446e360c09b7fff052b2ce7be524e767aaa299 (diff) | |
Notes
Diffstat (limited to 'sys/gnu')
| -rw-r--r-- | sys/gnu/fs/ext2fs/ext2_inode.c | 12 |
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 |
