diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 13:31:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 13:31:42 -0400 |
commit | 5619a693965b291315685bdfe01a0246ebd7e41e (patch) | |
tree | 80a9869814d601a3d5fb439d6c6e4d6c7d6865e4 /fs/xfs/xfs_log.c | |
parent | 37be944a0270402f9cda291a930b0286f6dc92f5 (diff) | |
parent | 9e4c109ac822395e0aae650e4e3c9e4903f6602f (diff) |
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
* 'for-linus' of git://oss.sgi.com/xfs/xfs: (69 commits)
xfs: add AIL pushing tracepoints
xfs: put in missed fix for merge problem
xfs: do not flush data workqueues in xfs_flush_buftarg
xfs: remove XFS_bflush
xfs: remove xfs_buf_target_name
xfs: use xfs_ioerror_alert in xfs_buf_iodone_callbacks
xfs: clean up xfs_ioerror_alert
xfs: clean up buffer allocation
xfs: remove buffers from the delwri list in xfs_buf_stale
xfs: remove XFS_BUF_STALE and XFS_BUF_SUPER_STALE
xfs: remove XFS_BUF_SET_VTYPE and XFS_BUF_SET_VTYPE_REF
xfs: remove XFS_BUF_FINISH_IOWAIT
xfs: remove xfs_get_buftarg_list
xfs: fix buffer flushing during unmount
xfs: optimize fsync on directories
xfs: reduce the number of log forces from tail pushing
xfs: Don't allocate new buffers on every call to _xfs_buf_find
xfs: simplify xfs_trans_ijoin* again
xfs: unlock the inode before log force in xfs_change_file_space
xfs: unlock the inode before log force in xfs_fs_nfs_commit_metadata
...
Diffstat (limited to 'fs/xfs/xfs_log.c')
-rw-r--r-- | fs/xfs/xfs_log.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 3a8d4f66d702..2758a6277c52 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c | |||
@@ -880,8 +880,8 @@ xlog_iodone(xfs_buf_t *bp) | |||
880 | */ | 880 | */ |
881 | if (XFS_TEST_ERROR((xfs_buf_geterror(bp)), l->l_mp, | 881 | if (XFS_TEST_ERROR((xfs_buf_geterror(bp)), l->l_mp, |
882 | XFS_ERRTAG_IODONE_IOERR, XFS_RANDOM_IODONE_IOERR)) { | 882 | XFS_ERRTAG_IODONE_IOERR, XFS_RANDOM_IODONE_IOERR)) { |
883 | xfs_ioerror_alert("xlog_iodone", l->l_mp, bp, XFS_BUF_ADDR(bp)); | 883 | xfs_buf_ioerror_alert(bp, __func__); |
884 | XFS_BUF_STALE(bp); | 884 | xfs_buf_stale(bp); |
885 | xfs_force_shutdown(l->l_mp, SHUTDOWN_LOG_IO_ERROR); | 885 | xfs_force_shutdown(l->l_mp, SHUTDOWN_LOG_IO_ERROR); |
886 | /* | 886 | /* |
887 | * This flag will be propagated to the trans-committed | 887 | * This flag will be propagated to the trans-committed |
@@ -1047,7 +1047,7 @@ xlog_alloc_log(xfs_mount_t *mp, | |||
1047 | xlog_get_iclog_buffer_size(mp, log); | 1047 | xlog_get_iclog_buffer_size(mp, log); |
1048 | 1048 | ||
1049 | error = ENOMEM; | 1049 | error = ENOMEM; |
1050 | bp = xfs_buf_get_empty(log->l_iclog_size, mp->m_logdev_targp); | 1050 | bp = xfs_buf_alloc(mp->m_logdev_targp, 0, log->l_iclog_size, 0); |
1051 | if (!bp) | 1051 | if (!bp) |
1052 | goto out_free_log; | 1052 | goto out_free_log; |
1053 | bp->b_iodone = xlog_iodone; | 1053 | bp->b_iodone = xlog_iodone; |
@@ -1247,7 +1247,7 @@ xlog_bdstrat( | |||
1247 | 1247 | ||
1248 | if (iclog->ic_state & XLOG_STATE_IOERROR) { | 1248 | if (iclog->ic_state & XLOG_STATE_IOERROR) { |
1249 | xfs_buf_ioerror(bp, EIO); | 1249 | xfs_buf_ioerror(bp, EIO); |
1250 | XFS_BUF_STALE(bp); | 1250 | xfs_buf_stale(bp); |
1251 | xfs_buf_ioend(bp, 0); | 1251 | xfs_buf_ioend(bp, 0); |
1252 | /* | 1252 | /* |
1253 | * It would seem logical to return EIO here, but we rely on | 1253 | * It would seem logical to return EIO here, but we rely on |
@@ -1387,9 +1387,9 @@ xlog_sync(xlog_t *log, | |||
1387 | */ | 1387 | */ |
1388 | XFS_BUF_WRITE(bp); | 1388 | XFS_BUF_WRITE(bp); |
1389 | 1389 | ||
1390 | if ((error = xlog_bdstrat(bp))) { | 1390 | error = xlog_bdstrat(bp); |
1391 | xfs_ioerror_alert("xlog_sync", log->l_mp, bp, | 1391 | if (error) { |
1392 | XFS_BUF_ADDR(bp)); | 1392 | xfs_buf_ioerror_alert(bp, "xlog_sync"); |
1393 | return error; | 1393 | return error; |
1394 | } | 1394 | } |
1395 | if (split) { | 1395 | if (split) { |
@@ -1423,9 +1423,9 @@ xlog_sync(xlog_t *log, | |||
1423 | /* account for internal log which doesn't start at block #0 */ | 1423 | /* account for internal log which doesn't start at block #0 */ |
1424 | XFS_BUF_SET_ADDR(bp, XFS_BUF_ADDR(bp) + log->l_logBBstart); | 1424 | XFS_BUF_SET_ADDR(bp, XFS_BUF_ADDR(bp) + log->l_logBBstart); |
1425 | XFS_BUF_WRITE(bp); | 1425 | XFS_BUF_WRITE(bp); |
1426 | if ((error = xlog_bdstrat(bp))) { | 1426 | error = xlog_bdstrat(bp); |
1427 | xfs_ioerror_alert("xlog_sync (split)", log->l_mp, | 1427 | if (error) { |
1428 | bp, XFS_BUF_ADDR(bp)); | 1428 | xfs_buf_ioerror_alert(bp, "xlog_sync (split)"); |
1429 | return error; | 1429 | return error; |
1430 | } | 1430 | } |
1431 | } | 1431 | } |