aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_bmap_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_bmap_util.c')
-rw-r--r--fs/xfs/xfs_bmap_util.c15
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,