#include <linux/slab.h>
/*
- * Unlink a buffer from a transaction.
+ * Unlink a buffer from a transaction.
*
* Called with j_list_lock held.
*/
if (journal->j_flags & JFS_ABORT)
return;
spin_unlock(&journal->j_state_lock);
- down(&journal->j_checkpoint_sem);
+ mutex_lock(&journal->j_checkpoint_mutex);
/*
* Test again, another process may have checkpointed while we
log_do_checkpoint(journal);
spin_lock(&journal->j_state_lock);
}
- up(&journal->j_checkpoint_sem);
+ mutex_unlock(&journal->j_checkpoint_mutex);
}
}
}
/*
- * Clean up a transaction's checkpoint list.
+ * Clean up a transaction's checkpoint list.
*
* We wait for any pending IO to complete and make sure any clean
- * buffers are removed from the transaction.
+ * buffers are removed from the transaction.
*
* Return 1 if we performed any actions which might have destroyed the
* checkpoint. (journal_remove_checkpoint() deletes the transaction when
*
* However, we _do_ take into account the amount requested so that once
* the IO has been queued, we can return as soon as enough of it has
- * completed to disk.
+ * completed to disk.
*
* The journal should be locked before calling this function.
*/
/*
* We have walked the whole transaction list without
* finding anything to write to disk. We had better be
- * able to make some progress or we are in trouble.
+ * able to make some progress or we are in trouble.
*/
cleanup_ret = __cleanup_transaction(journal, transaction);
J_ASSERT(drop_count != 0 || cleanup_ret != 0);
* transaction need to be maintained on the transaction's checkpoint
* list until they have been rewritten, at which point this function is
* called to remove the buffer from the existing transaction's
- * checkpoint list.
+ * checkpoint list.
*
* This function is called with the journal locked.
* This function is called with j_list_lock held.