diff options
Diffstat (limited to 'fs/xfs/xfs_bmap_util.c')
-rw-r--r-- | fs/xfs/xfs_bmap_util.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c index 5887e41c0323..82e0dab46ee5 100644 --- a/fs/xfs/xfs_bmap_util.c +++ b/fs/xfs/xfs_bmap_util.c | |||
@@ -287,6 +287,7 @@ xfs_bmapi_allocate( | |||
287 | INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker); | 287 | INIT_WORK_ONSTACK(&args->work, xfs_bmapi_allocate_worker); |
288 | queue_work(xfs_alloc_wq, &args->work); | 288 | queue_work(xfs_alloc_wq, &args->work); |
289 | wait_for_completion(&done); | 289 | wait_for_completion(&done); |
290 | destroy_work_on_stack(&args->work); | ||
290 | return args->result; | 291 | return args->result; |
291 | } | 292 | } |
292 | 293 | ||
@@ -1187,7 +1188,12 @@ xfs_zero_remaining_bytes( | |||
1187 | XFS_BUF_UNWRITE(bp); | 1188 | XFS_BUF_UNWRITE(bp); |
1188 | XFS_BUF_READ(bp); | 1189 | XFS_BUF_READ(bp); |
1189 | XFS_BUF_SET_ADDR(bp, xfs_fsb_to_db(ip, imap.br_startblock)); | 1190 | XFS_BUF_SET_ADDR(bp, xfs_fsb_to_db(ip, imap.br_startblock)); |
1190 | xfsbdstrat(mp, bp); | 1191 | |
1192 | if (XFS_FORCED_SHUTDOWN(mp)) { | ||
1193 | error = XFS_ERROR(EIO); | ||
1194 | break; | ||
1195 | } | ||
1196 | xfs_buf_iorequest(bp); | ||
1191 | error = xfs_buf_iowait(bp); | 1197 | error = xfs_buf_iowait(bp); |
1192 | if (error) { | 1198 | if (error) { |
1193 | xfs_buf_ioerror_alert(bp, | 1199 | xfs_buf_ioerror_alert(bp, |
@@ -1200,7 +1206,12 @@ xfs_zero_remaining_bytes( | |||
1200 | XFS_BUF_UNDONE(bp); | 1206 | XFS_BUF_UNDONE(bp); |
1201 | XFS_BUF_UNREAD(bp); | 1207 | XFS_BUF_UNREAD(bp); |
1202 | XFS_BUF_WRITE(bp); | 1208 | XFS_BUF_WRITE(bp); |
1203 | xfsbdstrat(mp, bp); | 1209 | |
1210 | if (XFS_FORCED_SHUTDOWN(mp)) { | ||
1211 | error = XFS_ERROR(EIO); | ||
1212 | break; | ||
1213 | } | ||
1214 | xfs_buf_iorequest(bp); | ||
1204 | error = xfs_buf_iowait(bp); | 1215 | error = xfs_buf_iowait(bp); |
1205 | if (error) { | 1216 | if (error) { |
1206 | xfs_buf_ioerror_alert(bp, | 1217 | xfs_buf_ioerror_alert(bp, |