Lines Matching refs:uspi

101 	struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi;
104 if (ino < UFS_ROOTINO || ino > (u64)uspi->s_ncg * uspi->s_ipg)
274 struct ufs_sb_private_info * uspi;
279 uspi = UFS_SB(sb)->s_uspi;
280 usb1 = ubh_get_usb_first(uspi);
284 ubh_mark_buffer_dirty(USPI_UBH(uspi));
308 struct ufs_sb_private_info * uspi;
313 uspi = UFS_SB(sb)->s_uspi;
314 usb1 = ubh_get_usb_first(uspi);
318 ubh_mark_buffer_dirty(USPI_UBH(uspi));
472 struct ufs_sb_private_info *uspi = sbi->s_uspi;
479 usb1 = ubh_get_usb_first(uspi);
480 usb2 = ubh_get_usb_second(uspi);
481 usb3 = ubh_get_usb_third(uspi);
487 uspi->cs_total.cs_ndir = fs64_to_cpu(sb, usb2->fs_un.fs_u2.cs_ndir);
488 uspi->cs_total.cs_nbfree = fs64_to_cpu(sb, usb2->fs_un.fs_u2.cs_nbfree);
489 uspi->cs_total.cs_nifree = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.cs_nifree);
490 uspi->cs_total.cs_nffree = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.cs_nffree);
492 uspi->cs_total.cs_ndir = fs32_to_cpu(sb, usb1->fs_cstotal.cs_ndir);
493 uspi->cs_total.cs_nbfree = fs32_to_cpu(sb, usb1->fs_cstotal.cs_nbfree);
494 uspi->cs_total.cs_nifree = fs32_to_cpu(sb, usb1->fs_cstotal.cs_nifree);
495 uspi->cs_total.cs_nffree = fs32_to_cpu(sb, usb1->fs_cstotal.cs_nffree);
506 struct ufs_sb_private_info *uspi = sbi->s_uspi;
517 size = uspi->s_cssize;
518 blks = (size + uspi->s_fsize - 1) >> uspi->s_fshift;
523 for (i = 0; i < blks; i += uspi->s_fpb) {
524 size = uspi->s_bsize;
525 if (i + uspi->s_fpb > blks)
526 size = (blks - i) * uspi->s_fsize;
528 ubh = ubh_bread(sb, uspi->s_csaddr + i, size);
544 sbi->s_ucg = kmalloc_array(uspi->s_ncg, sizeof(struct buffer_head *),
548 for (i = 0; i < uspi->s_ncg; i++)
554 for (i = 0; i < uspi->s_ncg; i++) {
575 for (i = 0; i < uspi->s_ncg; i++)
592 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi;
598 usb1 = ubh_get_usb_first(uspi);
599 usb2 = ubh_get_usb_second(uspi);
600 usb3 = ubh_get_usb_third(uspi);
605 cpu_to_fs64(sb, uspi->cs_total.cs_ndir);
607 cpu_to_fs64(sb, uspi->cs_total.cs_nbfree);
609 cpu_to_fs64(sb, uspi->cs_total.cs_nifree);
611 cpu_to_fs64(sb, uspi->cs_total.cs_nffree);
619 cpu_to_fs64(sb, uspi->cs_total.cs_ndir);
621 cpu_to_fs64(sb, uspi->cs_total.cs_nbfree);
623 cpu_to_fs64(sb, uspi->cs_total.cs_nifree);
625 cpu_to_fs64(sb, uspi->cs_total.cs_nffree);
627 usb1->fs_cstotal.cs_ndir = cpu_to_fs32(sb, uspi->cs_total.cs_ndir);
628 usb1->fs_cstotal.cs_nbfree = cpu_to_fs32(sb, uspi->cs_total.cs_nbfree);
629 usb1->fs_cstotal.cs_nifree = cpu_to_fs32(sb, uspi->cs_total.cs_nifree);
630 usb1->fs_cstotal.cs_nffree = cpu_to_fs32(sb, uspi->cs_total.cs_nffree);
632 ubh_mark_buffer_dirty(USPI_UBH(uspi));
646 struct ufs_sb_private_info *uspi = sbi->s_uspi;
655 size = uspi->s_cssize;
656 blks = (size + uspi->s_fsize - 1) >> uspi->s_fshift;
658 for (i = 0; i < blks; i += uspi->s_fpb) {
659 size = uspi->s_bsize;
660 if (i + uspi->s_fpb > blks)
661 size = (blks - i) * uspi->s_fsize;
663 ubh = ubh_bread(sb, uspi->s_csaddr + i, size);
677 for (i = 0; i < uspi->s_ncg; i++)
687 struct ufs_sb_private_info * uspi;
697 uspi = UFS_SB(sb)->s_uspi;
698 usb1 = ubh_get_usb_first(uspi);
699 usb3 = ubh_get_usb_third(uspi);
762 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi;
763 int bits = uspi->s_apbshift;
772 if (res >= (MAX_LFS_FILESIZE >> uspi->s_bshift))
774 return res << uspi->s_bshift;
780 struct ufs_sb_private_info * uspi;
792 uspi = NULL;
836 uspi = kzalloc(sizeof(struct ufs_sb_private_info), GFP_KERNEL);
837 sbi->s_uspi = uspi;
838 if (!uspi)
840 uspi->s_dirblksize = UFS_SECTOR_SIZE;
852 uspi->s_fsize = block_size = 512;
853 uspi->s_fmask = ~(512 - 1);
854 uspi->s_fshift = 9;
855 uspi->s_sbsize = super_block_size = 1536;
856 uspi->s_sbbase = 0;
862 uspi->s_fsize = block_size = 512;
863 uspi->s_fmask = ~(512 - 1);
864 uspi->s_fshift = 9;
865 uspi->s_sbsize = super_block_size = 1536;
866 uspi->s_sbbase = 0;
875 uspi->s_fsize = block_size = 1024;
876 uspi->s_fmask = ~(1024 - 1);
877 uspi->s_fshift = 10;
878 uspi->s_sbsize = super_block_size = 2048;
879 uspi->s_sbbase = 0;
880 uspi->s_maxsymlinklen = 0; /* Not supported on disk */
886 uspi->s_fsize = block_size = 1024;
887 uspi->s_fmask = ~(1024 - 1);
888 uspi->s_fshift = 10;
889 uspi->s_sbsize = 2048;
891 uspi->s_sbbase = 0;
892 uspi->s_maxsymlinklen = 0; /* Not supported on disk */
898 uspi->s_fsize = block_size = 1024;
899 uspi->s_fmask = ~(1024 - 1);
900 uspi->s_fshift = 10;
901 uspi->s_sbsize = super_block_size = 2048;
902 uspi->s_sbbase = 0;
903 uspi->s_maxsymlinklen = 0; /* Not supported on disk */
909 uspi->s_fsize = block_size = 1024;
910 uspi->s_fmask = ~(1024 - 1);
911 uspi->s_fshift = 10;
912 uspi->s_sbsize = super_block_size = 2048;
913 uspi->s_sbbase = 0;
924 uspi->s_fsize = block_size = 1024;
925 uspi->s_fmask = ~(1024 - 1);
926 uspi->s_fshift = 10;
927 uspi->s_sbsize = super_block_size = 2048;
928 uspi->s_sbbase = 0;
929 uspi->s_dirblksize = 1024;
940 uspi->s_fsize = block_size = 2048;
941 uspi->s_fmask = ~(2048 - 1);
942 uspi->s_fshift = 11;
943 uspi->s_sbsize = super_block_size = 2048;
944 uspi->s_sbbase = 0;
945 uspi->s_dirblksize = 1024;
956 uspi->s_fsize = block_size = 1024;
957 uspi->s_fmask = ~(1024 - 1);
958 uspi->s_fshift = 10;
959 uspi->s_sbsize = super_block_size = 2048;
960 uspi->s_sbbase = 0;
961 uspi->s_dirblksize = 1024;
972 uspi->s_fsize = block_size = 1024;
973 uspi->s_fmask = ~(1024 - 1);
974 uspi->s_fshift = 10;
975 uspi->s_sbsize = super_block_size = 2048;
976 uspi->s_sbbase = 0;
1000 ubh = ubh_bread_uspi(uspi, sb, uspi->s_sbbase + super_block_offset/block_size, super_block_size);
1005 usb1 = ubh_get_usb_first(uspi);
1006 usb2 = ubh_get_usb_second(uspi);
1007 usb3 = ubh_get_usb_third(uspi);
1010 uspi->s_postblformat = fs32_to_cpu(sb, usb3->fs_postblformat);
1012 (uspi->s_postblformat != UFS_42POSTBLFMT)) {
1018 uspi->s_postblformat == UFS_42POSTBLFMT) {
1028 switch ((uspi->fs_magic = fs32_to_cpu(sb, usb3->fs_magic))) {
1038 switch ((uspi->fs_magic = fs32_to_cpu(sb, usb3->fs_magic))) {
1051 && uspi->s_sbbase < 256) {
1052 ubh_brelse_uspi(uspi);
1054 uspi->s_sbbase += 8;
1065 uspi->s_bsize = fs32_to_cpu(sb, usb1->fs_bsize);
1066 uspi->s_fsize = fs32_to_cpu(sb, usb1->fs_fsize);
1067 uspi->s_sbsize = fs32_to_cpu(sb, usb1->fs_sbsize);
1068 uspi->s_fmask = fs32_to_cpu(sb, usb1->fs_fmask);
1069 uspi->s_fshift = fs32_to_cpu(sb, usb1->fs_fshift);
1071 if (!is_power_of_2(uspi->s_fsize)) {
1073 __func__, uspi->s_fsize);
1076 if (uspi->s_fsize < 512) {
1078 __func__, uspi->s_fsize);
1081 if (uspi->s_fsize > 4096) {
1083 __func__, uspi->s_fsize);
1086 if (!is_power_of_2(uspi->s_bsize)) {
1088 __func__, uspi->s_bsize);
1091 if (uspi->s_bsize < 4096) {
1093 __func__, uspi->s_bsize);
1096 if (uspi->s_bsize / uspi->s_fsize > 8) {
1098 __func__, uspi->s_bsize / uspi->s_fsize);
1101 if (uspi->s_fsize != block_size || uspi->s_sbsize != super_block_size) {
1102 ubh_brelse_uspi(uspi);
1104 block_size = uspi->s_fsize;
1105 super_block_size = uspi->s_sbsize;
1163 uspi->s_sblkno = fs32_to_cpu(sb, usb1->fs_sblkno);
1164 uspi->s_cblkno = fs32_to_cpu(sb, usb1->fs_cblkno);
1165 uspi->s_iblkno = fs32_to_cpu(sb, usb1->fs_iblkno);
1166 uspi->s_dblkno = fs32_to_cpu(sb, usb1->fs_dblkno);
1167 uspi->s_cgoffset = fs32_to_cpu(sb, usb1->fs_cgoffset);
1168 uspi->s_cgmask = fs32_to_cpu(sb, usb1->fs_cgmask);
1171 uspi->s_size = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.fs_size);
1172 uspi->s_dsize = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.fs_dsize);
1174 uspi->s_size = fs32_to_cpu(sb, usb1->fs_size);
1175 uspi->s_dsize = fs32_to_cpu(sb, usb1->fs_dsize);
1178 uspi->s_ncg = fs32_to_cpu(sb, usb1->fs_ncg);
1181 uspi->s_fpb = fs32_to_cpu(sb, usb1->fs_frag);
1182 uspi->s_minfree = fs32_to_cpu(sb, usb1->fs_minfree);
1183 uspi->s_bmask = fs32_to_cpu(sb, usb1->fs_bmask);
1184 uspi->s_fmask = fs32_to_cpu(sb, usb1->fs_fmask);
1185 uspi->s_bshift = fs32_to_cpu(sb, usb1->fs_bshift);
1186 uspi->s_fshift = fs32_to_cpu(sb, usb1->fs_fshift);
1187 UFSD("uspi->s_bshift = %d,uspi->s_fshift = %d", uspi->s_bshift,
1188 uspi->s_fshift);
1189 uspi->s_fpbshift = fs32_to_cpu(sb, usb1->fs_fragshift);
1190 uspi->s_fsbtodb = fs32_to_cpu(sb, usb1->fs_fsbtodb);
1192 uspi->s_csmask = fs32_to_cpu(sb, usb1->fs_csmask);
1193 uspi->s_csshift = fs32_to_cpu(sb, usb1->fs_csshift);
1194 uspi->s_nindir = fs32_to_cpu(sb, usb1->fs_nindir);
1195 uspi->s_inopb = fs32_to_cpu(sb, usb1->fs_inopb);
1196 uspi->s_nspf = fs32_to_cpu(sb, usb1->fs_nspf);
1197 uspi->s_npsect = ufs_get_fs_npsect(sb, usb1, usb3);
1198 uspi->s_interleave = fs32_to_cpu(sb, usb1->fs_interleave);
1199 uspi->s_trackskew = fs32_to_cpu(sb, usb1->fs_trackskew);
1201 if (uspi->fs_magic == UFS2_MAGIC)
1202 uspi->s_csaddr = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.fs_csaddr);
1204 uspi->s_csaddr = fs32_to_cpu(sb, usb1->fs_csaddr);
1206 uspi->s_cssize = fs32_to_cpu(sb, usb1->fs_cssize);
1207 uspi->s_cgsize = fs32_to_cpu(sb, usb1->fs_cgsize);
1208 uspi->s_ntrak = fs32_to_cpu(sb, usb1->fs_ntrak);
1209 uspi->s_nsect = fs32_to_cpu(sb, usb1->fs_nsect);
1210 uspi->s_spc = fs32_to_cpu(sb, usb1->fs_spc);
1211 uspi->s_ipg = fs32_to_cpu(sb, usb1->fs_ipg);
1212 uspi->s_fpg = fs32_to_cpu(sb, usb1->fs_fpg);
1213 uspi->s_cpc = fs32_to_cpu(sb, usb2->fs_un.fs_u1.fs_cpc);
1214 uspi->s_contigsumsize = fs32_to_cpu(sb, usb3->fs_un2.fs_44.fs_contigsumsize);
1215 uspi->s_qbmask = ufs_get_fs_qbmask(sb, usb3);
1216 uspi->s_qfmask = ufs_get_fs_qfmask(sb, usb3);
1217 uspi->s_nrpos = fs32_to_cpu(sb, usb3->fs_nrpos);
1218 uspi->s_postbloff = fs32_to_cpu(sb, usb3->fs_postbloff);
1219 uspi->s_rotbloff = fs32_to_cpu(sb, usb3->fs_rotbloff);
1221 uspi->s_root_blocks = mul_u64_u32_div(uspi->s_dsize,
1222 uspi->s_minfree, 100);
1223 if (uspi->s_minfree <= 5) {
1224 uspi->s_time_to_space = ~0ULL;
1225 uspi->s_space_to_time = 0;
1228 uspi->s_time_to_space = (uspi->s_root_blocks / 2) + 1;
1229 uspi->s_space_to_time = mul_u64_u32_div(uspi->s_dsize,
1230 uspi->s_minfree - 2, 100) - 1;
1236 uspi->s_fpbmask = uspi->s_fpb - 1;
1238 uspi->s_apbshift = uspi->s_bshift - 3;
1240 uspi->s_apbshift = uspi->s_bshift - 2;
1242 uspi->s_2apbshift = uspi->s_apbshift * 2;
1243 uspi->s_3apbshift = uspi->s_apbshift * 3;
1244 uspi->s_apb = 1 << uspi->s_apbshift;
1245 uspi->s_2apb = 1 << uspi->s_2apbshift;
1246 uspi->s_3apb = 1 << uspi->s_3apbshift;
1247 uspi->s_apbmask = uspi->s_apb - 1;
1248 uspi->s_nspfshift = uspi->s_fshift - UFS_SECTOR_BITS;
1249 uspi->s_nspb = uspi->s_nspf << uspi->s_fpbshift;
1250 uspi->s_inopf = uspi->s_inopb >> uspi->s_fpbshift;
1251 uspi->s_bpf = uspi->s_fsize << 3;
1252 uspi->s_bpfshift = uspi->s_fshift + 3;
1253 uspi->s_bpfmask = uspi->s_bpf - 1;
1256 uspi->s_maxsymlinklen =
1259 if (uspi->fs_magic == UFS2_MAGIC)
1263 if (uspi->s_maxsymlinklen > maxsymlen) {
1265 "fast symlink size (%u)\n", uspi->s_maxsymlinklen);
1266 uspi->s_maxsymlinklen = maxsymlen;
1295 ubh_brelse_uspi (uspi);
1296 kfree (uspi);
1309 struct ufs_sb_private_info * uspi;
1317 uspi = UFS_SB(sb)->s_uspi;
1319 usb1 = ubh_get_usb_first(uspi);
1320 usb3 = ubh_get_usb_third(uspi);
1358 ubh_mark_buffer_dirty (USPI_UBH(uspi));
1414 struct ufs_sb_private_info *uspi= UFS_SB(sb)->s_uspi;
1425 buf->f_blocks = uspi->s_dsize;
1426 buf->f_bfree = ufs_freefrags(uspi);
1427 buf->f_ffree = uspi->cs_total.cs_nifree;
1429 buf->f_bavail = (buf->f_bfree > uspi->s_root_blocks)
1430 ? (buf->f_bfree - uspi->s_root_blocks) : 0;
1431 buf->f_files = uspi->s_ncg * uspi->s_ipg;