Lines Matching refs:sb

102 struct logicalVolIntegrityDescImpUse *udf_sb_lvidiu(struct super_block *sb)  in udf_sb_lvidiu()  argument
108 if (!UDF_SB(sb)->s_lvid_bh) in udf_sb_lvidiu()
110 lvid = (struct logicalVolIntegrityDesc *)UDF_SB(sb)->s_lvid_bh->b_data; in udf_sb_lvidiu()
136 static struct inode *udf_alloc_inode(struct super_block *sb) in udf_alloc_inode() argument
248 static int udf_sb_alloc_partition_maps(struct super_block *sb, u32 count) in udf_sb_alloc_partition_maps() argument
250 struct udf_sb_info *sbi = UDF_SB(sb); in udf_sb_alloc_partition_maps()
298 static void udf_sb_free_partitions(struct super_block *sb) in udf_sb_free_partitions() argument
300 struct udf_sb_info *sbi = UDF_SB(sb); in udf_sb_free_partitions()
313 struct super_block *sb = root->d_sb; in udf_show_options() local
314 struct udf_sb_info *sbi = UDF_SB(sb); in udf_show_options()
316 if (!UDF_QUERY_FLAG(sb, UDF_FLAG_STRICT)) in udf_show_options()
318 if (UDF_QUERY_FLAG(sb, UDF_FLAG_BLOCKSIZE_SET)) in udf_show_options()
319 seq_printf(seq, ",bs=%lu", sb->s_blocksize); in udf_show_options()
320 if (UDF_QUERY_FLAG(sb, UDF_FLAG_UNHIDE)) in udf_show_options()
322 if (UDF_QUERY_FLAG(sb, UDF_FLAG_UNDELETE)) in udf_show_options()
324 if (!UDF_QUERY_FLAG(sb, UDF_FLAG_USE_AD_IN_ICB)) in udf_show_options()
326 if (UDF_QUERY_FLAG(sb, UDF_FLAG_USE_SHORT_AD)) in udf_show_options()
328 if (UDF_QUERY_FLAG(sb, UDF_FLAG_UID_FORGET)) in udf_show_options()
330 if (UDF_QUERY_FLAG(sb, UDF_FLAG_GID_FORGET)) in udf_show_options()
332 if (UDF_QUERY_FLAG(sb, UDF_FLAG_UID_SET)) in udf_show_options()
334 if (UDF_QUERY_FLAG(sb, UDF_FLAG_GID_SET)) in udf_show_options()
342 if (UDF_QUERY_FLAG(sb, UDF_FLAG_SESSION_SET)) in udf_show_options()
344 if (UDF_QUERY_FLAG(sb, UDF_FLAG_LASTBLOCK_SET)) in udf_show_options()
604 static int udf_remount_fs(struct super_block *sb, int *flags, char *options) in udf_remount_fs() argument
607 struct udf_sb_info *sbi = UDF_SB(sb); in udf_remount_fs()
610 if (!(*flags & SB_RDONLY) && UDF_QUERY_FLAG(sb, UDF_FLAG_RW_INCOMPAT)) in udf_remount_fs()
613 sync_filesystem(sb); in udf_remount_fs()
635 if ((bool)(*flags & SB_RDONLY) == sb_rdonly(sb)) in udf_remount_fs()
639 udf_close_lvid(sb); in udf_remount_fs()
641 udf_open_lvid(sb); in udf_remount_fs()
701 static int udf_check_vsd(struct super_block *sb) in udf_check_vsd() argument
711 sbi = UDF_SB(sb); in udf_check_vsd()
712 if (sb->s_blocksize < sizeof(struct volStructDesc)) in udf_check_vsd()
715 sectorsize = sb->s_blocksize; in udf_check_vsd()
717 session_offset = (loff_t)sbi->s_session << sb->s_blocksize_bits; in udf_check_vsd()
721 (unsigned int)(sector >> sb->s_blocksize_bits), in udf_check_vsd()
722 sb->s_blocksize); in udf_check_vsd()
735 bh = udf_tread(sb, sector >> sb->s_blocksize_bits); in udf_check_vsd()
740 (sector & (sb->s_blocksize - 1))); in udf_check_vsd()
752 if (sb->s_blocksize == 4096) { in udf_check_vsd()
769 static int udf_verify_domain_identifier(struct super_block *sb, in udf_verify_domain_identifier() argument
775 udf_warn(sb, "Not OSTA UDF compliant %s descriptor.\n", dname); in udf_verify_domain_identifier()
779 udf_warn(sb, "Possibly not OSTA UDF compliant %s descriptor.\n", in udf_verify_domain_identifier()
786 if (!sb_rdonly(sb)) { in udf_verify_domain_identifier()
787 udf_warn(sb, "Descriptor for %s marked write protected." in udf_verify_domain_identifier()
795 if (!sb_rdonly(sb)) in udf_verify_domain_identifier()
797 UDF_SET_FLAG(sb, UDF_FLAG_RW_INCOMPAT); in udf_verify_domain_identifier()
801 static int udf_load_fileset(struct super_block *sb, struct fileSetDesc *fset, in udf_load_fileset() argument
806 ret = udf_verify_domain_identifier(sb, &fset->domainIdent, "file set"); in udf_load_fileset()
811 UDF_SB(sb)->s_serial_number = le16_to_cpu(fset->descTag.tagSerialNum); in udf_load_fileset()
818 static int udf_find_fileset(struct super_block *sb, in udf_find_fileset() argument
830 bh = udf_read_ptagged(sb, fileset, 0, &ident); in udf_find_fileset()
841 UDF_SB(sb)->s_partition = fileset->partitionReferenceNum; in udf_find_fileset()
842 ret = udf_load_fileset(sb, (struct fileSetDesc *)bh->b_data, root); in udf_find_fileset()
853 static int udf_load_pvoldesc(struct super_block *sb, sector_t block) in udf_load_pvoldesc() argument
866 bh = udf_read_tagged(sb, block, block, &ident); in udf_load_pvoldesc()
879 udf_disk_stamp_to_time(&UDF_SB(sb)->s_record_time, in udf_load_pvoldesc()
886 ret = udf_dstrCS0toChar(sb, outstr, 31, pvoldesc->volIdent, 32); in udf_load_pvoldesc()
888 strcpy(UDF_SB(sb)->s_volume_ident, "InvalidName"); in udf_load_pvoldesc()
892 strncpy(UDF_SB(sb)->s_volume_ident, outstr, ret); in udf_load_pvoldesc()
894 udf_debug("volIdent[] = '%s'\n", UDF_SB(sb)->s_volume_ident); in udf_load_pvoldesc()
896 ret = udf_dstrCS0toChar(sb, outstr, 127, pvoldesc->volSetIdent, 128); in udf_load_pvoldesc()
912 struct inode *udf_find_metadata_inode_efe(struct super_block *sb, in udf_find_metadata_inode_efe() argument
921 metadata_fe = udf_iget_special(sb, &addr); in udf_find_metadata_inode_efe()
924 udf_warn(sb, "metadata inode efe not found\n"); in udf_find_metadata_inode_efe()
928 udf_warn(sb, "metadata inode efe does not have short allocation descriptors!\n"); in udf_find_metadata_inode_efe()
936 static int udf_load_metadata_files(struct super_block *sb, int partition, in udf_load_metadata_files() argument
939 struct udf_sb_info *sbi = UDF_SB(sb); in udf_load_metadata_files()
953 fe = udf_find_metadata_inode_efe(sb, mdata->s_meta_file_loc, in udf_load_metadata_files()
960 fe = udf_find_metadata_inode_efe(sb, mdata->s_mirror_file_loc, in udf_load_metadata_files()
964 udf_err(sb, "Both metadata and mirror metadata inode efe can not found\n"); in udf_load_metadata_files()
984 fe = udf_iget_special(sb, &addr); in udf_load_metadata_files()
986 if (sb_rdonly(sb)) in udf_load_metadata_files()
987 udf_warn(sb, "bitmap inode efe not found but it's ok since the disc is mounted read-only\n"); in udf_load_metadata_files()
989 udf_err(sb, "bitmap inode efe not found and attempted read-write mount\n"); in udf_load_metadata_files()
1000 int udf_compute_nr_groups(struct super_block *sb, u32 partition) in udf_compute_nr_groups() argument
1002 struct udf_part_map *map = &UDF_SB(sb)->s_partmaps[partition]; in udf_compute_nr_groups()
1005 sb->s_blocksize * 8); in udf_compute_nr_groups()
1008 static struct udf_bitmap *udf_sb_alloc_bitmap(struct super_block *sb, u32 index) in udf_sb_alloc_bitmap() argument
1011 int nr_groups = udf_compute_nr_groups(sb, index); in udf_sb_alloc_bitmap()
1022 static int check_partition_desc(struct super_block *sb, in check_partition_desc() argument
1065 if (!sb_rdonly(sb)) in check_partition_desc()
1067 UDF_SET_FLAG(sb, UDF_FLAG_RW_INCOMPAT); in check_partition_desc()
1071 static int udf_fill_partdesc_info(struct super_block *sb, in udf_fill_partdesc_info() argument
1075 struct udf_sb_info *sbi = UDF_SB(sb); in udf_fill_partdesc_info()
1097 err = check_partition_desc(sb, p, map); in udf_fill_partdesc_info()
1106 if (UDF_QUERY_FLAG(sb, UDF_FLAG_RW_INCOMPAT)) in udf_fill_partdesc_info()
1118 inode = udf_iget_special(sb, &loc); in udf_fill_partdesc_info()
1131 struct udf_bitmap *bitmap = udf_sb_alloc_bitmap(sb, p_index); in udf_fill_partdesc_info()
1145 static void udf_find_vat_block(struct super_block *sb, int p_index, in udf_find_vat_block() argument
1148 struct udf_sb_info *sbi = UDF_SB(sb); in udf_find_vat_block()
1163 inode = udf_iget_special(sb, &ino); in udf_find_vat_block()
1171 static int udf_load_vat(struct super_block *sb, int p_index, int type1_index) in udf_load_vat() argument
1173 struct udf_sb_info *sbi = UDF_SB(sb); in udf_load_vat()
1179 sector_t blocks = i_size_read(sb->s_bdev->bd_inode) >> in udf_load_vat()
1180 sb->s_blocksize_bits; in udf_load_vat()
1182 udf_find_vat_block(sb, p_index, type1_index, sbi->s_last_block); in udf_load_vat()
1188 udf_find_vat_block(sb, p_index, type1_index, blocks - 1); in udf_load_vat()
1201 bh = sb_bread(sb, pos); in udf_load_vat()
1227 static int udf_load_partdesc(struct super_block *sb, sector_t block) in udf_load_partdesc() argument
1232 struct udf_sb_info *sbi = UDF_SB(sb); in udf_load_partdesc()
1238 bh = udf_read_tagged(sb, block, block, &ident); in udf_load_partdesc()
1267 ret = udf_fill_partdesc_info(sb, p, i); in udf_load_partdesc()
1292 ret = udf_fill_partdesc_info(sb, p, i); in udf_load_partdesc()
1297 ret = udf_load_metadata_files(sb, i, type1_idx); in udf_load_partdesc()
1299 udf_err(sb, "error loading MetaData partition map %d\n", in udf_load_partdesc()
1309 if (!sb_rdonly(sb)) { in udf_load_partdesc()
1313 UDF_SET_FLAG(sb, UDF_FLAG_RW_INCOMPAT); in udf_load_partdesc()
1314 ret = udf_load_vat(sb, i, type1_idx); in udf_load_partdesc()
1325 static int udf_load_sparable_map(struct super_block *sb, in udf_load_sparable_map() argument
1339 udf_err(sb, "error loading logical volume descriptor: " in udf_load_sparable_map()
1345 udf_err(sb, "error loading logical volume descriptor: " in udf_load_sparable_map()
1350 if (le32_to_cpu(spm->sizeSparingTable) > sb->s_blocksize) { in udf_load_sparable_map()
1351 udf_err(sb, "error loading logical volume descriptor: " in udf_load_sparable_map()
1359 bh = udf_read_tagged(sb, loc, loc, &ident); in udf_load_sparable_map()
1368 sb->s_blocksize) { in udf_load_sparable_map()
1379 static int udf_load_logicalvol(struct super_block *sb, sector_t block, in udf_load_logicalvol() argument
1385 struct udf_sb_info *sbi = UDF_SB(sb); in udf_load_logicalvol()
1392 bh = udf_read_tagged(sb, block, block, &ident); in udf_load_logicalvol()
1398 if (table_len > sb->s_blocksize - sizeof(*lvd)) { in udf_load_logicalvol()
1399 udf_err(sb, "error loading logical volume descriptor: " in udf_load_logicalvol()
1401 sb->s_blocksize - sizeof(*lvd)); in udf_load_logicalvol()
1406 ret = udf_verify_domain_identifier(sb, &lvd->domainIdent, in udf_load_logicalvol()
1410 ret = udf_sb_alloc_partition_maps(sb, le32_to_cpu(lvd->numPartitionMaps)); in udf_load_logicalvol()
1450 ret = udf_load_sparable_map(sb, map, in udf_load_logicalvol()
1517 udf_load_logicalvolint(sb, leea_to_cpu(lvd->integritySeqExt)); in udf_load_logicalvol()
1522 if (sb_rdonly(sb)) { in udf_load_logicalvol()
1523 UDF_SET_FLAG(sb, UDF_FLAG_RW_INCOMPAT); in udf_load_logicalvol()
1525 udf_warn(sb, "Damaged or missing LVID, forcing " in udf_load_logicalvol()
1538 static void udf_load_logicalvolint(struct super_block *sb, struct kernel_extent_ad loc) in udf_load_logicalvolint() argument
1542 struct udf_sb_info *sbi = UDF_SB(sb); in udf_load_logicalvolint()
1550 (bh = udf_read_tagged(sb, loc.extLocation, in udf_load_logicalvolint()
1560 loc.extLength -= sb->s_blocksize; in udf_load_logicalvolint()
1577 udf_warn(sb, "Too many LVID indirections (max %u), ignoring.\n", in udf_load_logicalvolint()
1586 if (parts >= sb->s_blocksize || impuselen >= sb->s_blocksize || in udf_load_logicalvolint()
1588 2 * parts * sizeof(u32) > sb->s_blocksize) { in udf_load_logicalvolint()
1589 udf_warn(sb, "Corrupted LVID (parts=%u, impuselen=%u), " in udf_load_logicalvolint()
1670 struct super_block *sb, in udf_process_sequence() argument
1700 bh = udf_read_tagged(sb, block, block, &ident); in udf_process_sequence()
1710 udf_err(sb, "too many Volume Descriptor " in udf_process_sequence()
1722 sb->s_blocksize_bits; in udf_process_sequence()
1757 udf_err(sb, "Primary Volume Descriptor not found!\n"); in udf_process_sequence()
1761 ret = udf_load_pvoldesc(sb, data.vds[VDS_POS_PRIMARY_VOL_DESC].block); in udf_process_sequence()
1766 ret = udf_load_logicalvol(sb, in udf_process_sequence()
1775 ret = udf_load_partdesc(sb, data.part_descs_loc[i].rec.block); in udf_process_sequence()
1790 static int udf_load_sequence(struct super_block *sb, struct buffer_head *bh, in udf_load_sequence() argument
1802 main_e = main_e >> sb->s_blocksize_bits; in udf_load_sequence()
1808 reserve_e = reserve_e >> sb->s_blocksize_bits; in udf_load_sequence()
1813 ret = udf_process_sequence(sb, main_s, main_e, fileset); in udf_load_sequence()
1816 udf_sb_free_partitions(sb); in udf_load_sequence()
1817 ret = udf_process_sequence(sb, reserve_s, reserve_e, fileset); in udf_load_sequence()
1819 udf_sb_free_partitions(sb); in udf_load_sequence()
1834 static int udf_check_anchor_block(struct super_block *sb, sector_t block, in udf_check_anchor_block() argument
1841 if (UDF_QUERY_FLAG(sb, UDF_FLAG_VARCONV) && in udf_check_anchor_block()
1843 i_size_read(sb->s_bdev->bd_inode) >> sb->s_blocksize_bits) in udf_check_anchor_block()
1846 bh = udf_read_tagged(sb, block, block, &ident); in udf_check_anchor_block()
1853 ret = udf_load_sequence(sb, bh, fileset); in udf_check_anchor_block()
1864 static int udf_scan_anchors(struct super_block *sb, sector_t *lastblock, in udf_scan_anchors() argument
1869 struct udf_sb_info *sbi = UDF_SB(sb); in udf_scan_anchors()
1875 ret = udf_check_anchor_block(sb, sbi->s_anchor, fileset); in udf_scan_anchors()
1886 ret = udf_check_anchor_block(sb, sbi->s_session + 256, fileset); in udf_scan_anchors()
1905 if (last[i] >= i_size_read(sb->s_bdev->bd_inode) >> in udf_scan_anchors()
1906 sb->s_blocksize_bits) in udf_scan_anchors()
1908 ret = udf_check_anchor_block(sb, last[i], fileset); in udf_scan_anchors()
1916 ret = udf_check_anchor_block(sb, last[i] - 256, fileset); in udf_scan_anchors()
1925 return udf_check_anchor_block(sb, sbi->s_session + 512, fileset); in udf_scan_anchors()
1936 static int udf_find_anchor(struct super_block *sb, in udf_find_anchor() argument
1939 struct udf_sb_info *sbi = UDF_SB(sb); in udf_find_anchor()
1943 ret = udf_scan_anchors(sb, &lastblock, fileset); in udf_find_anchor()
1948 UDF_SET_FLAG(sb, UDF_FLAG_VARCONV); in udf_find_anchor()
1951 ret = udf_scan_anchors(sb, &lastblock, fileset); in udf_find_anchor()
1957 ret = udf_scan_anchors(sb, &lastblock, fileset); in udf_find_anchor()
1960 UDF_CLEAR_FLAG(sb, UDF_FLAG_VARCONV); in udf_find_anchor()
1975 static int udf_load_vrs(struct super_block *sb, struct udf_options *uopt, in udf_load_vrs() argument
1978 struct udf_sb_info *sbi = UDF_SB(sb); in udf_load_vrs()
1982 if (!sb_set_blocksize(sb, uopt->blocksize)) { in udf_load_vrs()
1984 udf_warn(sb, "Bad block size\n"); in udf_load_vrs()
1990 nsr = udf_check_vsd(sb); in udf_load_vrs()
1993 udf_warn(sb, "No VRS found\n"); in udf_load_vrs()
2001 sbi->s_last_block = udf_get_last_block(sb); in udf_load_vrs()
2008 ret = udf_find_anchor(sb, fileset); in udf_load_vrs()
2011 udf_warn(sb, "No anchor found\n"); in udf_load_vrs()
2029 static void udf_open_lvid(struct super_block *sb) in udf_open_lvid() argument
2031 struct udf_sb_info *sbi = UDF_SB(sb); in udf_open_lvid()
2039 lvidiu = udf_sb_lvidiu(sb); in udf_open_lvid()
2049 UDF_SET_FLAG(sb, UDF_FLAG_INCONSISTENT); in udf_open_lvid()
2059 static void udf_close_lvid(struct super_block *sb) in udf_close_lvid() argument
2061 struct udf_sb_info *sbi = UDF_SB(sb); in udf_close_lvid()
2069 lvidiu = udf_sb_lvidiu(sb); in udf_close_lvid()
2082 if (!UDF_QUERY_FLAG(sb, UDF_FLAG_INCONSISTENT)) in udf_close_lvid()
2099 u64 lvid_get_unique_id(struct super_block *sb) in lvid_get_unique_id() argument
2102 struct udf_sb_info *sbi = UDF_SB(sb); in lvid_get_unique_id()
2120 udf_updated_lvid(sb); in lvid_get_unique_id()
2126 static int udf_fill_super(struct super_block *sb, void *options, int silent) in udf_fill_super() argument
2148 sb->s_fs_info = sbi; in udf_fill_super()
2168 sbi->s_session = udf_get_last_session(sb); in udf_fill_super()
2175 sb->s_op = &udf_sb_ops; in udf_fill_super()
2176 sb->s_export_op = &udf_export_ops; in udf_fill_super()
2178 sb->s_magic = UDF_SUPER_MAGIC; in udf_fill_super()
2179 sb->s_time_gran = 1000; in udf_fill_super()
2182 ret = udf_load_vrs(sb, &uopt, silent, &fileset); in udf_fill_super()
2184 uopt.blocksize = bdev_logical_block_size(sb->s_bdev); in udf_fill_super()
2186 ret = udf_load_vrs(sb, &uopt, silent, &fileset); in udf_fill_super()
2208 udf_warn(sb, "No partition found (1)\n"); in udf_fill_super()
2218 udf_sb_lvidiu(sb); in udf_fill_super()
2229 udf_err(sb, "minUDFReadRev=%x (max is %x)\n", in udf_fill_super()
2235 if (!sb_rdonly(sb)) { in udf_fill_super()
2239 UDF_SET_FLAG(sb, UDF_FLAG_RW_INCOMPAT); in udf_fill_super()
2245 UDF_SET_FLAG(sb, UDF_FLAG_USE_EXTENDED_FE); in udf_fill_super()
2247 UDF_SET_FLAG(sb, UDF_FLAG_USE_STREAMS); in udf_fill_super()
2251 udf_warn(sb, "No partition found (2)\n"); in udf_fill_super()
2258 if (!sb_rdonly(sb)) { in udf_fill_super()
2262 UDF_SET_FLAG(sb, UDF_FLAG_RW_INCOMPAT); in udf_fill_super()
2265 ret = udf_find_fileset(sb, &fileset, &rootdir); in udf_fill_super()
2267 udf_warn(sb, "No fileset found\n"); in udf_fill_super()
2279 if (!sb_rdonly(sb)) { in udf_fill_super()
2280 udf_open_lvid(sb); in udf_fill_super()
2287 inode = udf_iget(sb, &rootdir); in udf_fill_super()
2289 udf_err(sb, "Error in udf_iget, block=%u, partition=%u\n", in udf_fill_super()
2296 sb->s_root = d_make_root(inode); in udf_fill_super()
2297 if (!sb->s_root) { in udf_fill_super()
2298 udf_err(sb, "Couldn't allocate root dentry\n"); in udf_fill_super()
2302 sb->s_maxbytes = MAX_LFS_FILESIZE; in udf_fill_super()
2303 sb->s_max_links = UDF_MAX_LINKS; in udf_fill_super()
2311 udf_close_lvid(sb); in udf_fill_super()
2313 udf_sb_free_partitions(sb); in udf_fill_super()
2315 sb->s_fs_info = NULL; in udf_fill_super()
2320 void _udf_err(struct super_block *sb, const char *function, in _udf_err() argument
2331 pr_err("error (device %s): %s: %pV", sb->s_id, function, &vaf); in _udf_err()
2336 void _udf_warn(struct super_block *sb, const char *function, in _udf_warn() argument
2347 pr_warn("warning (device %s): %s: %pV", sb->s_id, function, &vaf); in _udf_warn()
2352 static void udf_put_super(struct super_block *sb) in udf_put_super() argument
2356 sbi = UDF_SB(sb); in udf_put_super()
2360 if (!sb_rdonly(sb)) in udf_put_super()
2361 udf_close_lvid(sb); in udf_put_super()
2363 udf_sb_free_partitions(sb); in udf_put_super()
2365 kfree(sb->s_fs_info); in udf_put_super()
2366 sb->s_fs_info = NULL; in udf_put_super()
2369 static int udf_sync_fs(struct super_block *sb, int wait) in udf_sync_fs() argument
2371 struct udf_sb_info *sbi = UDF_SB(sb); in udf_sync_fs()
2395 struct super_block *sb = dentry->d_sb; in udf_statfs() local
2396 struct udf_sb_info *sbi = UDF_SB(sb); in udf_statfs()
2398 u64 id = huge_encode_dev(sb->s_bdev->bd_dev); in udf_statfs()
2400 lvidiu = udf_sb_lvidiu(sb); in udf_statfs()
2402 buf->f_bsize = sb->s_blocksize; in udf_statfs()
2404 buf->f_bfree = udf_count_free(sb); in udf_statfs()
2420 static unsigned int udf_count_free_bitmap(struct super_block *sb, in udf_count_free_bitmap() argument
2434 loc.partitionReferenceNum = UDF_SB(sb)->s_partition; in udf_count_free_bitmap()
2435 bh = udf_read_ptagged(sb, &loc, 0, &ident); in udf_count_free_bitmap()
2438 udf_err(sb, "udf_count_free failed\n"); in udf_count_free_bitmap()
2442 udf_err(sb, "udf_count_free failed\n"); in udf_count_free_bitmap()
2452 u32 cur_bytes = min_t(u32, bytes, sb->s_blocksize - index); in udf_count_free_bitmap()
2458 newblock = udf_get_lb_pblock(sb, &loc, ++block); in udf_count_free_bitmap()
2459 bh = udf_tread(sb, newblock); in udf_count_free_bitmap()
2473 static unsigned int udf_count_free_table(struct super_block *sb, in udf_count_free_table() argument
2482 mutex_lock(&UDF_SB(sb)->s_alloc_mutex); in udf_count_free_table()
2491 mutex_unlock(&UDF_SB(sb)->s_alloc_mutex); in udf_count_free_table()
2496 static unsigned int udf_count_free(struct super_block *sb) in udf_count_free() argument
2499 struct udf_sb_info *sbi = UDF_SB(sb); in udf_count_free()
2532 accum += udf_count_free_bitmap(sb, in udf_count_free()
2539 accum += udf_count_free_table(sb, in udf_count_free()