/* Check whether there is an anchor block in the given block and load Volume Descriptor Sequence if so.  */
static int udf_check_anchor_block(struct super_block *sb, sector_t block, struct kernel_lb_addr *fileset)
/* Check whether there is an anchor block in the given block and load Volume Descriptor Sequence if so.  */
static int udf_check_anchor_block(struct super_block *sb, sector_t block, struct kernel_lb_addr *fileset)
{
	struct buffer_head *bh;
	uint16_t ident;
	int ret;
	if (UDF_QUERY_FLAG(sb, UDF_FLAG_VARCONV) &&
	    udf_fixed_to_variable(block) >=
	    sb->s_bdev->bd_inode->i_size >> sb->s_blocksize_bits)
		return 0;
	bh = udf_read_tagged(sb, block, block, &ident);
	if (!bh)
		return 0;
	if (ident != TAG_IDENT_AVDP) {
		brelse(bh);
		return 0;
	}
	ret = udf_load_sequence(sb, bh, fileset);
	brelse(bh);
	return ret;
}