|
|
| version 1.222, 2006/10/16 15:39:47 | version 1.223, 2006/11/07 14:39:38 |
|---|---|
| Line 215 again: | Line 215 again: |
| * If INEW is set this inode is being set up | * If INEW is set this inode is being set up |
| * we need to pause and try again. | * we need to pause and try again. |
| */ | */ |
| if (ip->i_flags & XFS_INEW) { | if (xfs_iflags_test(ip, XFS_INEW)) { |
| read_unlock(&ih->ih_lock); | read_unlock(&ih->ih_lock); |
| delay(1); | delay(1); |
| XFS_STATS_INC(xs_ig_frecycle); | XFS_STATS_INC(xs_ig_frecycle); |
| Line 230 again: | Line 230 again: |
| * on its way out of the system, | * on its way out of the system, |
| * we need to pause and try again. | * we need to pause and try again. |
| */ | */ |
| if (ip->i_flags & XFS_IRECLAIM) { | if (xfs_iflags_test(ip, XFS_IRECLAIM)) { |
| read_unlock(&ih->ih_lock); | read_unlock(&ih->ih_lock); |
| delay(1); | delay(1); |
| XFS_STATS_INC(xs_ig_frecycle); | XFS_STATS_INC(xs_ig_frecycle); |
| Line 243 again: | Line 243 again: |
| XFS_STATS_INC(xs_ig_found); | XFS_STATS_INC(xs_ig_found); |
| spin_lock(&ip->i_flags_lock); | xfs_iflags_clear(ip, XFS_IRECLAIMABLE); |
| ip->i_flags &= ~XFS_IRECLAIMABLE; | |
| spin_unlock(&ip->i_flags_lock); | |
| version = ih->ih_version; | version = ih->ih_version; |
| read_unlock(&ih->ih_lock); | read_unlock(&ih->ih_lock); |
| xfs_ihash_promote(ih, ip, version); | xfs_ihash_promote(ih, ip, version); |
| Line 299 finish_inode: | Line 297 finish_inode: |
| if (lock_flags != 0) | if (lock_flags != 0) |
| xfs_ilock(ip, lock_flags); | xfs_ilock(ip, lock_flags); |
| spin_lock(&ip->i_flags_lock); | xfs_iflags_clear(ip, XFS_ISTALE); |
| ip->i_flags &= ~XFS_ISTALE; | |
| spin_unlock(&ip->i_flags_lock); | |
| vn_trace_exit(vp, "xfs_iget.found", | vn_trace_exit(vp, "xfs_iget.found", |
| (inst_t *)__return_address); | (inst_t *)__return_address); |
| goto return_ip; | goto return_ip; |
| Line 371 finish_inode: | Line 366 finish_inode: |
| ih->ih_next = ip; | ih->ih_next = ip; |
| ip->i_udquot = ip->i_gdquot = NULL; | ip->i_udquot = ip->i_gdquot = NULL; |
| ih->ih_version++; | ih->ih_version++; |
| spin_lock(&ip->i_flags_lock); | xfs_iflags_set(ip, XFS_INEW); |
| ip->i_flags |= XFS_INEW; | |
| spin_unlock(&ip->i_flags_lock); | |
| write_unlock(&ih->ih_lock); | write_unlock(&ih->ih_lock); |
| /* | /* |
| Line 625 xfs_iput_new(xfs_inode_t *ip, | Line 617 xfs_iput_new(xfs_inode_t *ip, |
| vn_trace_entry(vp, "xfs_iput_new", (inst_t *)__return_address); | vn_trace_entry(vp, "xfs_iput_new", (inst_t *)__return_address); |
| if ((ip->i_d.di_mode == 0)) { | if ((ip->i_d.di_mode == 0)) { |
| ASSERT(!(ip->i_flags & XFS_IRECLAIMABLE)); | ASSERT(!xfs_iflags_test(ip, XFS_IRECLAIMABLE)); |
| vn_mark_bad(vp); | vn_mark_bad(vp); |
| } | } |
| if (inode->i_state & I_NEW) | if (inode->i_state & I_NEW) |