|
|
| version 1.236, 2007/10/01 15:55:30 | version 1.237, 2007/11/02 05:12:07 |
|---|---|
| Line 140 again: | Line 140 again: |
| return ENOENT; | return ENOENT; |
| } | } |
| /* | |
| * There may be transactions sitting in the | |
| * incore log buffers or being flushed to disk | |
| * at this time. We can't clear the | |
| * XFS_IRECLAIMABLE flag until these | |
| * transactions have hit the disk, otherwise we | |
| * will void the guarantee the flag provides | |
| * xfs_iunpin() | |
| */ | |
| if (xfs_ipincount(ip)) { | |
| read_unlock(&pag->pag_ici_lock); | |
| xfs_log_force(mp, 0, | |
| XFS_LOG_FORCE|XFS_LOG_SYNC); | |
| XFS_STATS_INC(xs_ig_frecycle); | |
| goto again; | |
| } | |
| xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); | xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); |
| XFS_STATS_INC(xs_ig_found); | XFS_STATS_INC(xs_ig_found); |
| xfs_iflags_clear(ip, XFS_IRECLAIMABLE); | xfs_iflags_clear(ip, XFS_IRECLAIMABLE); |
| read_unlock(&pag->pag_ici_lock); | read_unlock(&pag->pag_ici_lock); |