@@ -47,7 +47,6 @@ xlog_state_get_iclog_space(
int len,
struct xlog_in_core **iclog,
struct xlog_ticket *ticket,
- int *continued_write,
int *logoffsetp);
STATIC void
xlog_state_switch_iclogs(
@@ -2209,8 +2208,7 @@ xlog_write_get_more_iclog_space(
uint32_t *log_offset,
uint32_t len,
uint32_t *record_cnt,
- uint32_t *data_cnt,
- int *contwr)
+ uint32_t *data_cnt)
{
struct xlog_in_core *iclog = *iclogp;
int error;
@@ -2224,8 +2222,8 @@ xlog_write_get_more_iclog_space(
if (error)
return error;
- error = xlog_state_get_iclog_space(log, len, &iclog,
- ticket, contwr, log_offset);
+ error = xlog_state_get_iclog_space(log, len, &iclog, ticket,
+ log_offset);
if (error)
return error;
*record_cnt = 0;
@@ -2249,8 +2247,7 @@ xlog_write_partial(
uint32_t *log_offset,
uint32_t *len,
uint32_t *record_cnt,
- uint32_t *data_cnt,
- int *contwr)
+ uint32_t *data_cnt)
{
struct xlog_in_core *iclog = *iclogp;
struct xfs_log_vec *lv = log_vector;
@@ -2284,7 +2281,7 @@ xlog_write_partial(
sizeof(struct xlog_op_header)) {
error = xlog_write_get_more_iclog_space(log, ticket,
&iclog, log_offset, *len, record_cnt,
- data_cnt, contwr);
+ data_cnt);
if (error)
return ERR_PTR(error);
ptr = iclog->ic_datap + *log_offset;
@@ -2340,7 +2337,7 @@ xlog_write_partial(
}
error = xlog_write_get_more_iclog_space(log, ticket,
&iclog, log_offset, *len, record_cnt,
- data_cnt, contwr);
+ data_cnt);
if (error)
return ERR_PTR(error);
ptr = iclog->ic_datap + *log_offset;
@@ -2438,7 +2435,6 @@ xlog_write(
{
struct xlog_in_core *iclog = NULL;
struct xfs_log_vec *lv = log_vector;
- int contwr = 0;
int record_cnt = 0;
int data_cnt = 0;
int error = 0;
@@ -2452,7 +2448,7 @@ xlog_write(
}
error = xlog_state_get_iclog_space(log, len, &iclog, ticket,
- &contwr, &log_offset);
+ &log_offset);
if (error)
return error;
@@ -2467,10 +2463,8 @@ xlog_write(
* is correctly maintained in the storage media. This will always
* fit in the iclog we have been already been passed.
*/
- if (optype & (XLOG_COMMIT_TRANS | XLOG_UNMOUNT_TRANS)) {
+ if (optype & (XLOG_COMMIT_TRANS | XLOG_UNMOUNT_TRANS))
iclog->ic_flags |= (XLOG_ICL_NEED_FLUSH | XLOG_ICL_NEED_FUA);
- ASSERT(!contwr);
- }
while (lv) {
lv = xlog_write_single(lv, ticket, iclog, &log_offset,
@@ -2480,7 +2474,7 @@ xlog_write(
ASSERT(!(optype & (XLOG_COMMIT_TRANS | XLOG_UNMOUNT_TRANS)));
lv = xlog_write_partial(log, lv, ticket, &iclog, &log_offset,
- &len, &record_cnt, &data_cnt, &contwr);
+ &len, &record_cnt, &data_cnt);
if (IS_ERR(lv)) {
error = PTR_ERR(lv);
break;
@@ -2494,7 +2488,6 @@ xlog_write(
* those writes accounted to it. Hence we do not need to update the
* iclog with the number of bytes written here.
*/
- ASSERT(!contwr || XLOG_FORCED_SHUTDOWN(log));
spin_lock(&log->l_icloglock);
xlog_state_finish_copy(log, iclog, record_cnt, 0);
if (commit_iclog) {
@@ -2898,7 +2891,6 @@ xlog_state_get_iclog_space(
int len,
struct xlog_in_core **iclogp,
struct xlog_ticket *ticket,
- int *continued_write,
int *logoffsetp)
{
int log_offset;
@@ -2974,13 +2966,10 @@ xlog_state_get_iclog_space(
* iclogs (to mark it taken), this particular iclog will release/sync
* to disk in xlog_write().
*/
- if (len <= iclog->ic_size - iclog->ic_offset) {
- *continued_write = 0;
+ if (len <= iclog->ic_size - iclog->ic_offset)
iclog->ic_offset += len;
- } else {
- *continued_write = 1;
+ else
xlog_state_switch_iclogs(log, iclog, iclog->ic_size);
- }
*iclogp = iclog;
ASSERT(iclog->ic_offset <= iclog->ic_size);