Lines Matching refs:uspi
101 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; in ufs_nfs_get_inode() local
104 if (ino < UFS_ROOTINO || ino > uspi->s_ncg * uspi->s_ipg) in ufs_nfs_get_inode()
275 struct ufs_sb_private_info * uspi; in ufs_error() local
280 uspi = UFS_SB(sb)->s_uspi; in ufs_error()
281 usb1 = ubh_get_usb_first(uspi); in ufs_error()
285 ubh_mark_buffer_dirty(USPI_UBH(uspi)); in ufs_error()
309 struct ufs_sb_private_info * uspi; in ufs_panic() local
314 uspi = UFS_SB(sb)->s_uspi; in ufs_panic()
315 usb1 = ubh_get_usb_first(uspi); in ufs_panic()
319 ubh_mark_buffer_dirty(USPI_UBH(uspi)); in ufs_panic()
473 struct ufs_sb_private_info *uspi = sbi->s_uspi; in ufs_setup_cstotal() local
480 usb1 = ubh_get_usb_first(uspi); in ufs_setup_cstotal()
481 usb2 = ubh_get_usb_second(uspi); in ufs_setup_cstotal()
482 usb3 = ubh_get_usb_third(uspi); in ufs_setup_cstotal()
488 uspi->cs_total.cs_ndir = fs64_to_cpu(sb, usb2->fs_un.fs_u2.cs_ndir); in ufs_setup_cstotal()
489 uspi->cs_total.cs_nbfree = fs64_to_cpu(sb, usb2->fs_un.fs_u2.cs_nbfree); in ufs_setup_cstotal()
490 uspi->cs_total.cs_nifree = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.cs_nifree); in ufs_setup_cstotal()
491 uspi->cs_total.cs_nffree = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.cs_nffree); in ufs_setup_cstotal()
493 uspi->cs_total.cs_ndir = fs32_to_cpu(sb, usb1->fs_cstotal.cs_ndir); in ufs_setup_cstotal()
494 uspi->cs_total.cs_nbfree = fs32_to_cpu(sb, usb1->fs_cstotal.cs_nbfree); in ufs_setup_cstotal()
495 uspi->cs_total.cs_nifree = fs32_to_cpu(sb, usb1->fs_cstotal.cs_nifree); in ufs_setup_cstotal()
496 uspi->cs_total.cs_nffree = fs32_to_cpu(sb, usb1->fs_cstotal.cs_nffree); in ufs_setup_cstotal()
507 struct ufs_sb_private_info *uspi = sbi->s_uspi; in ufs_read_cylinder_structures() local
518 size = uspi->s_cssize; in ufs_read_cylinder_structures()
519 blks = (size + uspi->s_fsize - 1) >> uspi->s_fshift; in ufs_read_cylinder_structures()
524 for (i = 0; i < blks; i += uspi->s_fpb) { in ufs_read_cylinder_structures()
525 size = uspi->s_bsize; in ufs_read_cylinder_structures()
526 if (i + uspi->s_fpb > blks) in ufs_read_cylinder_structures()
527 size = (blks - i) * uspi->s_fsize; in ufs_read_cylinder_structures()
529 ubh = ubh_bread(sb, uspi->s_csaddr + i, size); in ufs_read_cylinder_structures()
545 sbi->s_ucg = kmalloc_array(uspi->s_ncg, sizeof(struct buffer_head *), in ufs_read_cylinder_structures()
549 for (i = 0; i < uspi->s_ncg; i++) in ufs_read_cylinder_structures()
555 for (i = 0; i < uspi->s_ncg; i++) { in ufs_read_cylinder_structures()
576 for (i = 0; i < uspi->s_ncg; i++) in ufs_read_cylinder_structures()
593 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; in ufs_put_cstotal() local
599 usb1 = ubh_get_usb_first(uspi); in ufs_put_cstotal()
600 usb2 = ubh_get_usb_second(uspi); in ufs_put_cstotal()
601 usb3 = ubh_get_usb_third(uspi); in ufs_put_cstotal()
606 cpu_to_fs64(sb, uspi->cs_total.cs_ndir); in ufs_put_cstotal()
608 cpu_to_fs64(sb, uspi->cs_total.cs_nbfree); in ufs_put_cstotal()
610 cpu_to_fs64(sb, uspi->cs_total.cs_nifree); in ufs_put_cstotal()
612 cpu_to_fs64(sb, uspi->cs_total.cs_nffree); in ufs_put_cstotal()
620 cpu_to_fs64(sb, uspi->cs_total.cs_ndir); in ufs_put_cstotal()
622 cpu_to_fs64(sb, uspi->cs_total.cs_nbfree); in ufs_put_cstotal()
624 cpu_to_fs64(sb, uspi->cs_total.cs_nifree); in ufs_put_cstotal()
626 cpu_to_fs64(sb, uspi->cs_total.cs_nffree); in ufs_put_cstotal()
628 usb1->fs_cstotal.cs_ndir = cpu_to_fs32(sb, uspi->cs_total.cs_ndir); in ufs_put_cstotal()
629 usb1->fs_cstotal.cs_nbfree = cpu_to_fs32(sb, uspi->cs_total.cs_nbfree); in ufs_put_cstotal()
630 usb1->fs_cstotal.cs_nifree = cpu_to_fs32(sb, uspi->cs_total.cs_nifree); in ufs_put_cstotal()
631 usb1->fs_cstotal.cs_nffree = cpu_to_fs32(sb, uspi->cs_total.cs_nffree); in ufs_put_cstotal()
633 ubh_mark_buffer_dirty(USPI_UBH(uspi)); in ufs_put_cstotal()
647 struct ufs_sb_private_info *uspi = sbi->s_uspi; in ufs_put_super_internal() local
656 size = uspi->s_cssize; in ufs_put_super_internal()
657 blks = (size + uspi->s_fsize - 1) >> uspi->s_fshift; in ufs_put_super_internal()
659 for (i = 0; i < blks; i += uspi->s_fpb) { in ufs_put_super_internal()
660 size = uspi->s_bsize; in ufs_put_super_internal()
661 if (i + uspi->s_fpb > blks) in ufs_put_super_internal()
662 size = (blks - i) * uspi->s_fsize; in ufs_put_super_internal()
664 ubh = ubh_bread(sb, uspi->s_csaddr + i, size); in ufs_put_super_internal()
678 for (i = 0; i < uspi->s_ncg; i++) in ufs_put_super_internal()
688 struct ufs_sb_private_info * uspi; in ufs_sync_fs() local
698 uspi = UFS_SB(sb)->s_uspi; in ufs_sync_fs()
699 usb1 = ubh_get_usb_first(uspi); in ufs_sync_fs()
700 usb3 = ubh_get_usb_third(uspi); in ufs_sync_fs()
763 struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi; in ufs_max_bytes() local
764 int bits = uspi->s_apbshift; in ufs_max_bytes()
773 if (res >= (MAX_LFS_FILESIZE >> uspi->s_bshift)) in ufs_max_bytes()
775 return res << uspi->s_bshift; in ufs_max_bytes()
781 struct ufs_sb_private_info * uspi; in ufs_fill_super() local
793 uspi = NULL; in ufs_fill_super()
837 uspi = kzalloc(sizeof(struct ufs_sb_private_info), GFP_KERNEL); in ufs_fill_super()
838 sbi->s_uspi = uspi; in ufs_fill_super()
839 if (!uspi) in ufs_fill_super()
841 uspi->s_dirblksize = UFS_SECTOR_SIZE; in ufs_fill_super()
853 uspi->s_fsize = block_size = 512; in ufs_fill_super()
854 uspi->s_fmask = ~(512 - 1); in ufs_fill_super()
855 uspi->s_fshift = 9; in ufs_fill_super()
856 uspi->s_sbsize = super_block_size = 1536; in ufs_fill_super()
857 uspi->s_sbbase = 0; in ufs_fill_super()
863 uspi->s_fsize = block_size = 512; in ufs_fill_super()
864 uspi->s_fmask = ~(512 - 1); in ufs_fill_super()
865 uspi->s_fshift = 9; in ufs_fill_super()
866 uspi->s_sbsize = super_block_size = 1536; in ufs_fill_super()
867 uspi->s_sbbase = 0; in ufs_fill_super()
876 uspi->s_fsize = block_size = 1024; in ufs_fill_super()
877 uspi->s_fmask = ~(1024 - 1); in ufs_fill_super()
878 uspi->s_fshift = 10; in ufs_fill_super()
879 uspi->s_sbsize = super_block_size = 2048; in ufs_fill_super()
880 uspi->s_sbbase = 0; in ufs_fill_super()
881 uspi->s_maxsymlinklen = 0; /* Not supported on disk */ in ufs_fill_super()
887 uspi->s_fsize = block_size = 1024; in ufs_fill_super()
888 uspi->s_fmask = ~(1024 - 1); in ufs_fill_super()
889 uspi->s_fshift = 10; in ufs_fill_super()
890 uspi->s_sbsize = 2048; in ufs_fill_super()
892 uspi->s_sbbase = 0; in ufs_fill_super()
893 uspi->s_maxsymlinklen = 0; /* Not supported on disk */ in ufs_fill_super()
899 uspi->s_fsize = block_size = 1024; in ufs_fill_super()
900 uspi->s_fmask = ~(1024 - 1); in ufs_fill_super()
901 uspi->s_fshift = 10; in ufs_fill_super()
902 uspi->s_sbsize = super_block_size = 2048; in ufs_fill_super()
903 uspi->s_sbbase = 0; in ufs_fill_super()
904 uspi->s_maxsymlinklen = 0; /* Not supported on disk */ in ufs_fill_super()
910 uspi->s_fsize = block_size = 1024; in ufs_fill_super()
911 uspi->s_fmask = ~(1024 - 1); in ufs_fill_super()
912 uspi->s_fshift = 10; in ufs_fill_super()
913 uspi->s_sbsize = super_block_size = 2048; in ufs_fill_super()
914 uspi->s_sbbase = 0; in ufs_fill_super()
925 uspi->s_fsize = block_size = 1024; in ufs_fill_super()
926 uspi->s_fmask = ~(1024 - 1); in ufs_fill_super()
927 uspi->s_fshift = 10; in ufs_fill_super()
928 uspi->s_sbsize = super_block_size = 2048; in ufs_fill_super()
929 uspi->s_sbbase = 0; in ufs_fill_super()
930 uspi->s_dirblksize = 1024; in ufs_fill_super()
941 uspi->s_fsize = block_size = 2048; in ufs_fill_super()
942 uspi->s_fmask = ~(2048 - 1); in ufs_fill_super()
943 uspi->s_fshift = 11; in ufs_fill_super()
944 uspi->s_sbsize = super_block_size = 2048; in ufs_fill_super()
945 uspi->s_sbbase = 0; in ufs_fill_super()
946 uspi->s_dirblksize = 1024; in ufs_fill_super()
957 uspi->s_fsize = block_size = 1024; in ufs_fill_super()
958 uspi->s_fmask = ~(1024 - 1); in ufs_fill_super()
959 uspi->s_fshift = 10; in ufs_fill_super()
960 uspi->s_sbsize = super_block_size = 2048; in ufs_fill_super()
961 uspi->s_sbbase = 0; in ufs_fill_super()
962 uspi->s_dirblksize = 1024; in ufs_fill_super()
973 uspi->s_fsize = block_size = 1024; in ufs_fill_super()
974 uspi->s_fmask = ~(1024 - 1); in ufs_fill_super()
975 uspi->s_fshift = 10; in ufs_fill_super()
976 uspi->s_sbsize = super_block_size = 2048; in ufs_fill_super()
977 uspi->s_sbbase = 0; in ufs_fill_super()
1001 ubh = ubh_bread_uspi(uspi, sb, uspi->s_sbbase + super_block_offset/block_size, super_block_size); in ufs_fill_super()
1006 usb1 = ubh_get_usb_first(uspi); in ufs_fill_super()
1007 usb2 = ubh_get_usb_second(uspi); in ufs_fill_super()
1008 usb3 = ubh_get_usb_third(uspi); in ufs_fill_super()
1011 uspi->s_postblformat = fs32_to_cpu(sb, usb3->fs_postblformat); in ufs_fill_super()
1013 (uspi->s_postblformat != UFS_42POSTBLFMT)) { in ufs_fill_super()
1019 uspi->s_postblformat == UFS_42POSTBLFMT) { in ufs_fill_super()
1029 switch ((uspi->fs_magic = fs32_to_cpu(sb, usb3->fs_magic))) { in ufs_fill_super()
1039 switch ((uspi->fs_magic = fs32_to_cpu(sb, usb3->fs_magic))) { in ufs_fill_super()
1052 && uspi->s_sbbase < 256) { in ufs_fill_super()
1053 ubh_brelse_uspi(uspi); in ufs_fill_super()
1055 uspi->s_sbbase += 8; in ufs_fill_super()
1066 uspi->s_bsize = fs32_to_cpu(sb, usb1->fs_bsize); in ufs_fill_super()
1067 uspi->s_fsize = fs32_to_cpu(sb, usb1->fs_fsize); in ufs_fill_super()
1068 uspi->s_sbsize = fs32_to_cpu(sb, usb1->fs_sbsize); in ufs_fill_super()
1069 uspi->s_fmask = fs32_to_cpu(sb, usb1->fs_fmask); in ufs_fill_super()
1070 uspi->s_fshift = fs32_to_cpu(sb, usb1->fs_fshift); in ufs_fill_super()
1072 if (!is_power_of_2(uspi->s_fsize)) { in ufs_fill_super()
1074 __func__, uspi->s_fsize); in ufs_fill_super()
1077 if (uspi->s_fsize < 512) { in ufs_fill_super()
1079 __func__, uspi->s_fsize); in ufs_fill_super()
1082 if (uspi->s_fsize > 4096) { in ufs_fill_super()
1084 __func__, uspi->s_fsize); in ufs_fill_super()
1087 if (!is_power_of_2(uspi->s_bsize)) { in ufs_fill_super()
1089 __func__, uspi->s_bsize); in ufs_fill_super()
1092 if (uspi->s_bsize < 4096) { in ufs_fill_super()
1094 __func__, uspi->s_bsize); in ufs_fill_super()
1097 if (uspi->s_bsize / uspi->s_fsize > 8) { in ufs_fill_super()
1099 __func__, uspi->s_bsize / uspi->s_fsize); in ufs_fill_super()
1102 if (uspi->s_fsize != block_size || uspi->s_sbsize != super_block_size) { in ufs_fill_super()
1103 ubh_brelse_uspi(uspi); in ufs_fill_super()
1105 block_size = uspi->s_fsize; in ufs_fill_super()
1106 super_block_size = uspi->s_sbsize; in ufs_fill_super()
1164 uspi->s_sblkno = fs32_to_cpu(sb, usb1->fs_sblkno); in ufs_fill_super()
1165 uspi->s_cblkno = fs32_to_cpu(sb, usb1->fs_cblkno); in ufs_fill_super()
1166 uspi->s_iblkno = fs32_to_cpu(sb, usb1->fs_iblkno); in ufs_fill_super()
1167 uspi->s_dblkno = fs32_to_cpu(sb, usb1->fs_dblkno); in ufs_fill_super()
1168 uspi->s_cgoffset = fs32_to_cpu(sb, usb1->fs_cgoffset); in ufs_fill_super()
1169 uspi->s_cgmask = fs32_to_cpu(sb, usb1->fs_cgmask); in ufs_fill_super()
1172 uspi->s_size = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.fs_size); in ufs_fill_super()
1173 uspi->s_dsize = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.fs_dsize); in ufs_fill_super()
1175 uspi->s_size = fs32_to_cpu(sb, usb1->fs_size); in ufs_fill_super()
1176 uspi->s_dsize = fs32_to_cpu(sb, usb1->fs_dsize); in ufs_fill_super()
1179 uspi->s_ncg = fs32_to_cpu(sb, usb1->fs_ncg); in ufs_fill_super()
1182 uspi->s_fpb = fs32_to_cpu(sb, usb1->fs_frag); in ufs_fill_super()
1183 uspi->s_minfree = fs32_to_cpu(sb, usb1->fs_minfree); in ufs_fill_super()
1184 uspi->s_bmask = fs32_to_cpu(sb, usb1->fs_bmask); in ufs_fill_super()
1185 uspi->s_fmask = fs32_to_cpu(sb, usb1->fs_fmask); in ufs_fill_super()
1186 uspi->s_bshift = fs32_to_cpu(sb, usb1->fs_bshift); in ufs_fill_super()
1187 uspi->s_fshift = fs32_to_cpu(sb, usb1->fs_fshift); in ufs_fill_super()
1188 UFSD("uspi->s_bshift = %d,uspi->s_fshift = %d", uspi->s_bshift, in ufs_fill_super()
1189 uspi->s_fshift); in ufs_fill_super()
1190 uspi->s_fpbshift = fs32_to_cpu(sb, usb1->fs_fragshift); in ufs_fill_super()
1191 uspi->s_fsbtodb = fs32_to_cpu(sb, usb1->fs_fsbtodb); in ufs_fill_super()
1193 uspi->s_csmask = fs32_to_cpu(sb, usb1->fs_csmask); in ufs_fill_super()
1194 uspi->s_csshift = fs32_to_cpu(sb, usb1->fs_csshift); in ufs_fill_super()
1195 uspi->s_nindir = fs32_to_cpu(sb, usb1->fs_nindir); in ufs_fill_super()
1196 uspi->s_inopb = fs32_to_cpu(sb, usb1->fs_inopb); in ufs_fill_super()
1197 uspi->s_nspf = fs32_to_cpu(sb, usb1->fs_nspf); in ufs_fill_super()
1198 uspi->s_npsect = ufs_get_fs_npsect(sb, usb1, usb3); in ufs_fill_super()
1199 uspi->s_interleave = fs32_to_cpu(sb, usb1->fs_interleave); in ufs_fill_super()
1200 uspi->s_trackskew = fs32_to_cpu(sb, usb1->fs_trackskew); in ufs_fill_super()
1202 if (uspi->fs_magic == UFS2_MAGIC) in ufs_fill_super()
1203 uspi->s_csaddr = fs64_to_cpu(sb, usb3->fs_un1.fs_u2.fs_csaddr); in ufs_fill_super()
1205 uspi->s_csaddr = fs32_to_cpu(sb, usb1->fs_csaddr); in ufs_fill_super()
1207 uspi->s_cssize = fs32_to_cpu(sb, usb1->fs_cssize); in ufs_fill_super()
1208 uspi->s_cgsize = fs32_to_cpu(sb, usb1->fs_cgsize); in ufs_fill_super()
1209 uspi->s_ntrak = fs32_to_cpu(sb, usb1->fs_ntrak); in ufs_fill_super()
1210 uspi->s_nsect = fs32_to_cpu(sb, usb1->fs_nsect); in ufs_fill_super()
1211 uspi->s_spc = fs32_to_cpu(sb, usb1->fs_spc); in ufs_fill_super()
1212 uspi->s_ipg = fs32_to_cpu(sb, usb1->fs_ipg); in ufs_fill_super()
1213 uspi->s_fpg = fs32_to_cpu(sb, usb1->fs_fpg); in ufs_fill_super()
1214 uspi->s_cpc = fs32_to_cpu(sb, usb2->fs_un.fs_u1.fs_cpc); in ufs_fill_super()
1215 uspi->s_contigsumsize = fs32_to_cpu(sb, usb3->fs_un2.fs_44.fs_contigsumsize); in ufs_fill_super()
1216 uspi->s_qbmask = ufs_get_fs_qbmask(sb, usb3); in ufs_fill_super()
1217 uspi->s_qfmask = ufs_get_fs_qfmask(sb, usb3); in ufs_fill_super()
1218 uspi->s_nrpos = fs32_to_cpu(sb, usb3->fs_nrpos); in ufs_fill_super()
1219 uspi->s_postbloff = fs32_to_cpu(sb, usb3->fs_postbloff); in ufs_fill_super()
1220 uspi->s_rotbloff = fs32_to_cpu(sb, usb3->fs_rotbloff); in ufs_fill_super()
1222 uspi->s_root_blocks = mul_u64_u32_div(uspi->s_dsize, in ufs_fill_super()
1223 uspi->s_minfree, 100); in ufs_fill_super()
1224 if (uspi->s_minfree <= 5) { in ufs_fill_super()
1225 uspi->s_time_to_space = ~0ULL; in ufs_fill_super()
1226 uspi->s_space_to_time = 0; in ufs_fill_super()
1229 uspi->s_time_to_space = (uspi->s_root_blocks / 2) + 1; in ufs_fill_super()
1230 uspi->s_space_to_time = mul_u64_u32_div(uspi->s_dsize, in ufs_fill_super()
1231 uspi->s_minfree - 2, 100) - 1; in ufs_fill_super()
1237 uspi->s_fpbmask = uspi->s_fpb - 1; in ufs_fill_super()
1239 uspi->s_apbshift = uspi->s_bshift - 3; in ufs_fill_super()
1241 uspi->s_apbshift = uspi->s_bshift - 2; in ufs_fill_super()
1243 uspi->s_2apbshift = uspi->s_apbshift * 2; in ufs_fill_super()
1244 uspi->s_3apbshift = uspi->s_apbshift * 3; in ufs_fill_super()
1245 uspi->s_apb = 1 << uspi->s_apbshift; in ufs_fill_super()
1246 uspi->s_2apb = 1 << uspi->s_2apbshift; in ufs_fill_super()
1247 uspi->s_3apb = 1 << uspi->s_3apbshift; in ufs_fill_super()
1248 uspi->s_apbmask = uspi->s_apb - 1; in ufs_fill_super()
1249 uspi->s_nspfshift = uspi->s_fshift - UFS_SECTOR_BITS; in ufs_fill_super()
1250 uspi->s_nspb = uspi->s_nspf << uspi->s_fpbshift; in ufs_fill_super()
1251 uspi->s_inopf = uspi->s_inopb >> uspi->s_fpbshift; in ufs_fill_super()
1252 uspi->s_bpf = uspi->s_fsize << 3; in ufs_fill_super()
1253 uspi->s_bpfshift = uspi->s_fshift + 3; in ufs_fill_super()
1254 uspi->s_bpfmask = uspi->s_bpf - 1; in ufs_fill_super()
1257 uspi->s_maxsymlinklen = in ufs_fill_super()
1260 if (uspi->fs_magic == UFS2_MAGIC) in ufs_fill_super()
1264 if (uspi->s_maxsymlinklen > maxsymlen) { in ufs_fill_super()
1266 "fast symlink size (%u)\n", uspi->s_maxsymlinklen); in ufs_fill_super()
1267 uspi->s_maxsymlinklen = maxsymlen; in ufs_fill_super()
1296 ubh_brelse_uspi (uspi); in ufs_fill_super()
1297 kfree (uspi); in ufs_fill_super()
1310 struct ufs_sb_private_info * uspi; in ufs_remount() local
1318 uspi = UFS_SB(sb)->s_uspi; in ufs_remount()
1320 usb1 = ubh_get_usb_first(uspi); in ufs_remount()
1321 usb3 = ubh_get_usb_third(uspi); in ufs_remount()
1359 ubh_mark_buffer_dirty (USPI_UBH(uspi)); in ufs_remount()
1415 struct ufs_sb_private_info *uspi= UFS_SB(sb)->s_uspi; in ufs_statfs() local
1426 buf->f_blocks = uspi->s_dsize; in ufs_statfs()
1427 buf->f_bfree = ufs_freefrags(uspi); in ufs_statfs()
1428 buf->f_ffree = uspi->cs_total.cs_nifree; in ufs_statfs()
1430 buf->f_bavail = (buf->f_bfree > uspi->s_root_blocks) in ufs_statfs()
1431 ? (buf->f_bfree - uspi->s_root_blocks) : 0; in ufs_statfs()
1432 buf->f_files = uspi->s_ncg * uspi->s_ipg; in ufs_statfs()