diff options
Diffstat (limited to 'fs/xfs/xfs_iget.c')
| -rw-r--r-- | fs/xfs/xfs_iget.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/fs/xfs/xfs_iget.c b/fs/xfs/xfs_iget.c index eecc33d3751f..f01b07687faf 100644 --- a/fs/xfs/xfs_iget.c +++ b/fs/xfs/xfs_iget.c | |||
| @@ -140,27 +140,9 @@ again: | |||
| 140 | return ENOENT; | 140 | return ENOENT; |
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | /* | ||
| 144 | * There may be transactions sitting in the | ||
| 145 | * incore log buffers or being flushed to disk | ||
| 146 | * at this time. We can't clear the | ||
| 147 | * XFS_IRECLAIMABLE flag until these | ||
| 148 | * transactions have hit the disk, otherwise we | ||
| 149 | * will void the guarantee the flag provides | ||
| 150 | * xfs_iunpin() | ||
| 151 | */ | ||
| 152 | if (xfs_ipincount(ip)) { | ||
| 153 | read_unlock(&pag->pag_ici_lock); | ||
| 154 | xfs_log_force(mp, 0, | ||
| 155 | XFS_LOG_FORCE|XFS_LOG_SYNC); | ||
| 156 | XFS_STATS_INC(xs_ig_frecycle); | ||
| 157 | goto again; | ||
| 158 | } | ||
| 159 | |||
| 160 | xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); | 143 | xfs_itrace_exit_tag(ip, "xfs_iget.alloc"); |
| 161 | 144 | ||
| 162 | XFS_STATS_INC(xs_ig_found); | 145 | XFS_STATS_INC(xs_ig_found); |
| 163 | |||
| 164 | xfs_iflags_clear(ip, XFS_IRECLAIMABLE); | 146 | xfs_iflags_clear(ip, XFS_IRECLAIMABLE); |
| 165 | read_unlock(&pag->pag_ici_lock); | 147 | read_unlock(&pag->pag_ici_lock); |
| 166 | 148 | ||
