ext4, jbd2: Provide accessor function for handle credits
[linux-2.6-microblaze.git] / include / linux / jbd2.h
index df03825..727ff91 100644 (file)
@@ -1410,8 +1410,6 @@ extern int           jbd2_journal_clear_err  (journal_t *);
 extern int        jbd2_journal_bmap(journal_t *, unsigned long, unsigned long long *);
 extern int        jbd2_journal_force_commit(journal_t *);
 extern int        jbd2_journal_force_commit_nested(journal_t *);
-extern int        jbd2_journal_inode_add_write(handle_t *handle, struct jbd2_inode *inode);
-extern int        jbd2_journal_inode_add_wait(handle_t *handle, struct jbd2_inode *inode);
 extern int        jbd2_journal_inode_ranged_write(handle_t *handle,
                        struct jbd2_inode *inode, loff_t start_byte,
                        loff_t length);
@@ -1584,7 +1582,7 @@ static inline int jbd2_space_needed(journal_t *journal)
 static inline unsigned long jbd2_log_space_left(journal_t *journal)
 {
        /* Allow for rounding errors */
-       unsigned long free = journal->j_free - 32;
+       long free = journal->j_free - 32;
 
        if (journal->j_committing_transaction) {
                unsigned long committing = atomic_read(&journal->
@@ -1593,7 +1591,7 @@ static inline unsigned long jbd2_log_space_left(journal_t *journal)
                /* Transaction + control blocks */
                free -= committing + (committing >> JBD2_CONTROL_BLOCKS_SHIFT);
        }
-       return free;
+       return max_t(long, free, 0);
 }
 
 /*
@@ -1647,6 +1645,12 @@ static inline tid_t  jbd2_get_latest_transaction(journal_t *journal)
        return tid;
 }
 
+
+static inline int jbd2_handle_buffer_credits(handle_t *handle)
+{
+       return handle->h_buffer_credits;
+}
+
 #ifdef __KERNEL__
 
 #define buffer_trace_init(bh)  do {} while (0)