|
|
| version 1.685, 2006/10/18 15:42:10 | version 1.686, 2006/11/07 14:39:38 |
|---|---|
| Line 3844 xfs_reclaim( | Line 3844 xfs_reclaim( |
| XFS_MOUNT_ILOCK(mp); | XFS_MOUNT_ILOCK(mp); |
| vn_bhv_remove(VN_BHV_HEAD(vp), XFS_ITOBHV(ip)); | vn_bhv_remove(VN_BHV_HEAD(vp), XFS_ITOBHV(ip)); |
| list_add_tail(&ip->i_reclaim, &mp->m_del_inodes); | list_add_tail(&ip->i_reclaim, &mp->m_del_inodes); |
| spin_lock(&ip->i_flags_lock); | xfs_iflags_set(ip, XFS_IRECLAIMABLE); |
| ip->i_flags |= XFS_IRECLAIMABLE; | |
| spin_unlock(&ip->i_flags_lock); | |
| XFS_MOUNT_IUNLOCK(mp); | XFS_MOUNT_IUNLOCK(mp); |
| } | } |
| return 0; | return 0; |
| Line 3872 xfs_finish_reclaim( | Line 3870 xfs_finish_reclaim( |
| */ | */ |
| write_lock(&ih->ih_lock); | write_lock(&ih->ih_lock); |
| spin_lock(&ip->i_flags_lock); | spin_lock(&ip->i_flags_lock); |
| if ((ip->i_flags & XFS_IRECLAIM) || | if (__xfs_iflags_test(ip, XFS_IRECLAIM) || |
| (!(ip->i_flags & XFS_IRECLAIMABLE) && vp == NULL)) { | (!__xfs_iflags_test(ip, XFS_IRECLAIMABLE) && vp == NULL)) { |
| spin_unlock(&ip->i_flags_lock); | spin_unlock(&ip->i_flags_lock); |
| write_unlock(&ih->ih_lock); | write_unlock(&ih->ih_lock); |
| if (locked) { | if (locked) { |
| Line 3882 xfs_finish_reclaim( | Line 3880 xfs_finish_reclaim( |
| } | } |
| return 1; | return 1; |
| } | } |
| ip->i_flags |= XFS_IRECLAIM; | __xfs_iflags_set(ip, XFS_IRECLAIM); |
| spin_unlock(&ip->i_flags_lock); | spin_unlock(&ip->i_flags_lock); |
| write_unlock(&ih->ih_lock); | write_unlock(&ih->ih_lock); |