diff options
Diffstat (limited to 'fs/xfs/xfs_trans.c')
-rw-r--r-- | fs/xfs/xfs_trans.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c index 66b849358e62..f73e358bae8d 100644 --- a/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c | |||
@@ -236,19 +236,20 @@ xfs_trans_alloc( | |||
236 | uint type) | 236 | uint type) |
237 | { | 237 | { |
238 | xfs_wait_for_freeze(mp, SB_FREEZE_TRANS); | 238 | xfs_wait_for_freeze(mp, SB_FREEZE_TRANS); |
239 | return _xfs_trans_alloc(mp, type); | 239 | return _xfs_trans_alloc(mp, type, KM_SLEEP); |
240 | } | 240 | } |
241 | 241 | ||
242 | xfs_trans_t * | 242 | xfs_trans_t * |
243 | _xfs_trans_alloc( | 243 | _xfs_trans_alloc( |
244 | xfs_mount_t *mp, | 244 | xfs_mount_t *mp, |
245 | uint type) | 245 | uint type, |
246 | uint memflags) | ||
246 | { | 247 | { |
247 | xfs_trans_t *tp; | 248 | xfs_trans_t *tp; |
248 | 249 | ||
249 | atomic_inc(&mp->m_active_trans); | 250 | atomic_inc(&mp->m_active_trans); |
250 | 251 | ||
251 | tp = kmem_zone_zalloc(xfs_trans_zone, KM_SLEEP); | 252 | tp = kmem_zone_zalloc(xfs_trans_zone, memflags); |
252 | tp->t_magic = XFS_TRANS_MAGIC; | 253 | tp->t_magic = XFS_TRANS_MAGIC; |
253 | tp->t_type = type; | 254 | tp->t_type = type; |
254 | tp->t_mountp = mp; | 255 | tp->t_mountp = mp; |
@@ -795,7 +796,7 @@ _xfs_trans_commit( | |||
795 | int sync; | 796 | int sync; |
796 | #define XFS_TRANS_LOGVEC_COUNT 16 | 797 | #define XFS_TRANS_LOGVEC_COUNT 16 |
797 | xfs_log_iovec_t log_vector_fast[XFS_TRANS_LOGVEC_COUNT]; | 798 | xfs_log_iovec_t log_vector_fast[XFS_TRANS_LOGVEC_COUNT]; |
798 | void *commit_iclog; | 799 | struct xlog_in_core *commit_iclog; |
799 | int shutdown; | 800 | int shutdown; |
800 | 801 | ||
801 | commit_lsn = -1; | 802 | commit_lsn = -1; |
@@ -980,9 +981,8 @@ shut_us_down: | |||
980 | */ | 981 | */ |
981 | if (sync) { | 982 | if (sync) { |
982 | if (!error) { | 983 | if (!error) { |
983 | error = _xfs_log_force(mp, commit_lsn, | 984 | error = _xfs_log_force_lsn(mp, commit_lsn, |
984 | XFS_LOG_FORCE | XFS_LOG_SYNC, | 985 | XFS_LOG_SYNC, log_flushed); |
985 | log_flushed); | ||
986 | } | 986 | } |
987 | XFS_STATS_INC(xs_trans_sync); | 987 | XFS_STATS_INC(xs_trans_sync); |
988 | } else { | 988 | } else { |
@@ -1120,7 +1120,7 @@ xfs_trans_fill_vecs( | |||
1120 | tp->t_header.th_num_items = nitems; | 1120 | tp->t_header.th_num_items = nitems; |
1121 | log_vector->i_addr = (xfs_caddr_t)&tp->t_header; | 1121 | log_vector->i_addr = (xfs_caddr_t)&tp->t_header; |
1122 | log_vector->i_len = sizeof(xfs_trans_header_t); | 1122 | log_vector->i_len = sizeof(xfs_trans_header_t); |
1123 | XLOG_VEC_SET_TYPE(log_vector, XLOG_REG_TYPE_TRANSHDR); | 1123 | log_vector->i_type = XLOG_REG_TYPE_TRANSHDR; |
1124 | } | 1124 | } |
1125 | 1125 | ||
1126 | 1126 | ||