int nblocks = EXT3_DATA_TRANS_BLOCKS;
void *handle;
+ LASSERT(current->journal_info == NULL);
+
switch(op) {
case FSFILT_OP_CREATE_LOG:
nblocks += EXT3_INDEX_EXTRA_TRANS_BLOCKS+EXT3_DATA_TRANS_BLOCKS;
handle = journal_start(EXT3_JOURNAL(inode), nblocks);
unlock_kernel();
+ if (!IS_ERR(handle))
+ LASSERT(current->journal_info == handle);
return handle;
}
lock_kernel();
handle = journal_start(journal, needed);
unlock_kernel();
- if (IS_ERR(handle))
+ if (IS_ERR(handle)) {
CERROR("can't get handle for %d credits: rc = %ld\n", needed,
PTR_ERR(handle));
- else
+ } else {
LASSERT(handle->h_buffer_credits >= needed);
+ LASSERT(current->journal_info == handle);
+ }
RETURN(handle);
}
int rc;
handle_t *handle = h;
+ LASSERT(current->journal_info == handle);
if (force_sync)
handle->h_sync = 1; /* recovery likes this */
rc = journal_stop(handle);
unlock_kernel();
+ LASSERT(current->journal_info == NULL);
return rc;
}