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