1/* 2 * Interface between ext4 and JBD 3 */ 4 5#include <linux/ext4_jbd2.h> 6 7int __ext4_journal_get_undo_access(const char *where, handle_t *handle, 8 struct buffer_head *bh) 9{ 10 int err = jbd2_journal_get_undo_access(handle, bh); 11 if (err) 12 ext4_journal_abort_handle(where, __FUNCTION__, bh, handle,err); 13 return err; 14} 15 16int __ext4_journal_get_write_access(const char *where, handle_t *handle, 17 struct buffer_head *bh) 18{ 19 int err = jbd2_journal_get_write_access(handle, bh); 20 if (err) 21 ext4_journal_abort_handle(where, __FUNCTION__, bh, handle,err); 22 return err; 23} 24 25int __ext4_journal_forget(const char *where, handle_t *handle, 26 struct buffer_head *bh) 27{ 28 int err = jbd2_journal_forget(handle, bh); 29 if (err) 30 ext4_journal_abort_handle(where, __FUNCTION__, bh, handle,err); 31 return err; 32} 33 34int __ext4_journal_revoke(const char *where, handle_t *handle, 35 ext4_fsblk_t blocknr, struct buffer_head *bh) 36{ 37 int err = jbd2_journal_revoke(handle, blocknr, bh); 38 if (err) 39 ext4_journal_abort_handle(where, __FUNCTION__, bh, handle,err); 40 return err; 41} 42 43int __ext4_journal_get_create_access(const char *where, 44 handle_t *handle, struct buffer_head *bh) 45{ 46 int err = jbd2_journal_get_create_access(handle, bh); 47 if (err) 48 ext4_journal_abort_handle(where, __FUNCTION__, bh, handle,err); 49 return err; 50} 51 52int __ext4_journal_dirty_metadata(const char *where, 53 handle_t *handle, struct buffer_head *bh) 54{ 55 int err = jbd2_journal_dirty_metadata(handle, bh); 56 if (err) 57 ext4_journal_abort_handle(where, __FUNCTION__, bh, handle,err); 58 return err; 59} 60