/* Returns: The disk address for the block or 0 on hole or error  */
static sector_t gfs2_bmap(struct address_space *mapping, sector_t lblock)
/* Returns: The disk address for the block or 0 on hole or error  */
static sector_t gfs2_bmap(struct address_space *mapping, sector_t lblock)
{
	struct gfs2_inode *ip = GFS2_I(mapping->host);
	struct gfs2_holder i_gh;
	sector_t dblock = 0;
	int error;
	error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh);
	if (error)
		return 0;
	if (!gfs2_is_stuffed(ip))
		dblock = generic_block_bmap(mapping, lblock, gfs2_block_map);
	gfs2_glock_dq_uninit(&i_gh);
	return dblock;
}