int nilfs_mdt_get_block(struct inode *inode, unsigned long blkoff, int create,
#include <linux/buffer_head.h>
#include <linux/writeback.h>
#include <linux/backing-dev.h>
#include <trace/events/nilfs2.h>
#define NILFS_MDT_MAX_RA_BLOCKS (16 - 1)
nilfs_mdt_insert_new_block(struct inode *inode, unsigned long block,
void (*init_block)(struct inode *,
struct buffer_head *, void *))
struct nilfs_inode_info *ii = NILFS_I(inode);
ret = nilfs_bmap_insert(ii->i_bmap, block, (unsigned long)bh);
kaddr = kmap_atomic(bh->b_page);
memset(kaddr + bh_offset(bh), 0, i_blocksize(inode));
init_block(inode, bh, kaddr);
flush_dcache_page(bh->b_page);
nilfs_mdt_mark_dirty(inode);
trace_nilfs2_mdt_insert_new_block(inode, inode->i_ino, block);