#include <linux/journal-head.h>
#include <linux/stddef.h>
#include <linux/bit_spinlock.h>
-#include <linux/mutex.h>
-#include <linux/timer.h>
-
#include <asm/semaphore.h>
#endif
* @j_wait_checkpoint: Wait queue to trigger checkpointing
* @j_wait_commit: Wait queue to trigger commit
* @j_wait_updates: Wait queue to wait for updates to complete
- * @j_checkpoint_mutex: Mutex for locking against concurrent checkpoints
+ * @j_checkpoint_sem: Semaphore for locking against concurrent checkpoints
* @j_head: Journal head - identifies the first unused block in the journal
* @j_tail: Journal tail - identifies the oldest still-used block in the
* journal.
int j_barrier_count;
/* The barrier lock itself */
- struct mutex j_barrier;
+ struct semaphore j_barrier;
/*
* Transactions: The current running transaction...
wait_queue_head_t j_wait_updates;
/* Semaphore for locking against concurrent checkpoints */
- struct mutex j_checkpoint_mutex;
+ struct semaphore j_checkpoint_sem;
/*
* Journal head: identifies the first unused block in the journal.
unsigned long j_commit_interval;
/* The timer used to wakeup the commit thread: */
- struct timer_list j_commit_timer;
+ struct timer_list *j_commit_timer;
/*
* The revoke table: maintains the list of revoked blocks in the
extern void journal_release_buffer (handle_t *, struct buffer_head *);
extern int journal_forget (handle_t *, struct buffer_head *);
extern void journal_sync_buffer (struct buffer_head *);
-extern void journal_invalidatepage(journal_t *,
+extern int journal_invalidatepage(journal_t *,
struct page *, unsigned long);
extern int journal_try_to_free_buffers(journal_t *, struct page *, gfp_t);
extern int journal_stop(handle_t *);