X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fjbd%2Fcheckpoint.c;h=3f5102b069dbef82e1c3f17f443f00f9b986bb1e;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=5a97e346bd95a247c12f0edcc5b33d1b065d6419;hpb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;p=linux-2.6.git diff --git a/fs/jbd/checkpoint.c b/fs/jbd/checkpoint.c index 5a97e346b..3f5102b06 100644 --- a/fs/jbd/checkpoint.c +++ b/fs/jbd/checkpoint.c @@ -24,7 +24,7 @@ #include /* - * Unlink a buffer from a transaction. + * Unlink a buffer from a transaction. * * Called with j_list_lock held. */ @@ -85,7 +85,7 @@ void __log_wait_for_space(journal_t *journal) 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 @@ -98,7 +98,7 @@ void __log_wait_for_space(journal_t *journal) log_do_checkpoint(journal); spin_lock(&journal->j_state_lock); } - up(&journal->j_checkpoint_sem); + mutex_unlock(&journal->j_checkpoint_mutex); } } @@ -117,10 +117,10 @@ static void jbd_sync_bh(journal_t *journal, struct buffer_head *bh) } /* - * 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 @@ -204,7 +204,7 @@ __flush_batch(journal_t *journal, struct buffer_head **bhs, int *batch_count) int i; spin_unlock(&journal->j_list_lock); - ll_rw_block(WRITE, *batch_count, bhs); + ll_rw_block(SWRITE, *batch_count, bhs); spin_lock(&journal->j_list_lock); for (i = 0; i < *batch_count; i++) { struct buffer_head *bh = bhs[i]; @@ -276,7 +276,7 @@ static int __flush_buffer(journal_t *journal, struct journal_head *jh, * * 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. */ @@ -360,7 +360,7 @@ int log_do_checkpoint(journal_t *journal) /* * 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); @@ -518,7 +518,7 @@ out: * 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.