/* %-EROFS - Read only filesystem (for create mode)  */
int nilfs_mdt_get_block(struct inode *inode, unsigned long blkoff, int create, void(*init_block)(struct inode *, struct buffer_head *, void *), struct buffer_head **out_bh)
/* %-EROFS - Read only filesystem (for create mode)  */
int nilfs_mdt_get_block(struct inode *inode, unsigned long blkoff, int create, void(*init_block)(struct inode *, struct buffer_head *, void *), struct buffer_head **out_bh)
{
	int ret;
 retry:
	ret = nilfs_mdt_read_block(inode, blkoff, !create, out_bh);
	if (!create || ret != -ENOENT)
		return ret;
	ret = nilfs_mdt_create_block(inode, blkoff, out_bh, init_block);
	if (unlikely(ret == -EEXIST)) {
		goto retry;
	}
	return ret;
}