require '_h2ph_pre.ph';

unless(defined(&_LINUX_EXT3_JBD_H)) {
    eval 'sub _LINUX_EXT3_JBD_H () {1;}' unless defined(&_LINUX_EXT3_JBD_H);
    require 'linux/fs.ph';
    require 'linux/jbd.ph';
    require 'linux/ext3_fs.ph';
    eval 'sub EXT3_JOURNAL {
        local($inode) = @_;
	    eval q(( &EXT3_SB(($inode)-> &i_sb)-> &s_journal));
    }' unless defined(&EXT3_JOURNAL);
    eval 'sub EXT3_SINGLEDATA_TRANS_BLOCKS () {8;}' unless defined(&EXT3_SINGLEDATA_TRANS_BLOCKS);
    eval 'sub EXT3_DATA_TRANS_BLOCKS () {(3*  &EXT3_SINGLEDATA_TRANS_BLOCKS - 2);}' unless defined(&EXT3_DATA_TRANS_BLOCKS);
    eval 'sub EXT3_DELETE_TRANS_BLOCKS () {(2*  &EXT3_DATA_TRANS_BLOCKS + 64);}' unless defined(&EXT3_DELETE_TRANS_BLOCKS);
    eval 'sub EXT3_MAX_TRANS_DATA () {64;}' unless defined(&EXT3_MAX_TRANS_DATA);
    eval 'sub EXT3_RESERVE_TRANS_BLOCKS () {12;}' unless defined(&EXT3_RESERVE_TRANS_BLOCKS);
    eval 'sub ext3_journal_get_undo_access {
        local($handle, $bh) = @_;
	    eval q( &__ext3_journal_get_undo_access( &__FUNCTION__, ($handle), ($bh)));
    }' unless defined(&ext3_journal_get_undo_access);
    eval 'sub ext3_journal_get_write_access {
        local($handle, $bh) = @_;
	    eval q( &__ext3_journal_get_write_access( &__FUNCTION__, ($handle), ($bh)));
    }' unless defined(&ext3_journal_get_write_access);
    eval 'sub ext3_journal_dirty_data {
        local($handle, $bh, $async) = @_;
	    eval q( &__ext3_journal_dirty_data( &__FUNCTION__, ($handle), ($bh), ($async)));
    }' unless defined(&ext3_journal_dirty_data);
    eval 'sub ext3_journal_revoke {
        local($handle, $blocknr, $bh) = @_;
	    eval q( &__ext3_journal_revoke( &__FUNCTION__, ($handle), ($blocknr), ($bh)));
    }' unless defined(&ext3_journal_revoke);
    eval 'sub ext3_journal_get_create_access {
        local($handle, $bh) = @_;
	    eval q( &__ext3_journal_get_create_access( &__FUNCTION__, ($handle), ($bh)));
    }' unless defined(&ext3_journal_get_create_access);
    eval 'sub ext3_journal_dirty_metadata {
        local($handle, $bh) = @_;
	    eval q( &__ext3_journal_dirty_metadata( &__FUNCTION__, ($handle), ($bh)));
    }' unless defined(&ext3_journal_dirty_metadata);
    eval 'sub ext3_journal_stop {
        local($handle, $inode) = @_;
	    eval q( &__ext3_journal_stop( &__FUNCTION__, ($handle), ($inode)));
    }' unless defined(&ext3_journal_stop);
}
1;
