Lines Matching refs:sbi
41 struct sysv_sb_info *sbi = SYSV_SB(sb); in sv_sb_fic_inode() local
43 if (sbi->s_bh1 == sbi->s_bh2) in sv_sb_fic_inode()
44 return &sbi->s_sb_fic_inodes[i]; in sv_sb_fic_inode()
49 return (sysv_ino_t*)(sbi->s_sbd1 + offset); in sv_sb_fic_inode()
51 return (sysv_ino_t*)(sbi->s_sbd2 + offset); in sv_sb_fic_inode()
58 struct sysv_sb_info *sbi = SYSV_SB(sb); in sysv_raw_inode() local
60 int block = sbi->s_firstinodezone + sbi->s_block_base; in sysv_raw_inode()
62 block += (ino-1) >> sbi->s_inodes_per_block_bits; in sysv_raw_inode()
67 return res + ((ino-1) & sbi->s_inodes_per_block_1); in sysv_raw_inode()
72 struct sysv_sb_info *sbi = SYSV_SB(sb); in refill_free_cache() local
81 while (ino <= sbi->s_ninodes) { in refill_free_cache()
84 if (i == sbi->s_fic_size) in refill_free_cache()
87 if ((ino++ & sbi->s_inodes_per_block_1) == 0) { in refill_free_cache()
103 struct sysv_sb_info *sbi = SYSV_SB(sb); in sysv_free_inode() local
111 if (ino <= SYSV_ROOT_INO || ino > sbi->s_ninodes) { in sysv_free_inode()
121 mutex_lock(&sbi->s_lock); in sysv_free_inode()
122 count = fs16_to_cpu(sbi, *sbi->s_sb_fic_count); in sysv_free_inode()
123 if (count < sbi->s_fic_size) { in sysv_free_inode()
124 *sv_sb_fic_inode(sb,count++) = cpu_to_fs16(sbi, ino); in sysv_free_inode()
125 *sbi->s_sb_fic_count = cpu_to_fs16(sbi, count); in sysv_free_inode()
127 fs16_add(sbi, sbi->s_sb_total_free_inodes, 1); in sysv_free_inode()
131 mutex_unlock(&sbi->s_lock); in sysv_free_inode()
138 struct sysv_sb_info *sbi = SYSV_SB(sb); in sysv_new_inode() local
150 mutex_lock(&sbi->s_lock); in sysv_new_inode()
151 count = fs16_to_cpu(sbi, *sbi->s_sb_fic_count); in sysv_new_inode()
156 mutex_unlock(&sbi->s_lock); in sysv_new_inode()
162 *sbi->s_sb_fic_count = cpu_to_fs16(sbi, count); in sysv_new_inode()
163 fs16_add(sbi, sbi->s_sb_total_free_inodes, -1); in sysv_new_inode()
166 inode->i_ino = fs16_to_cpu(sbi, ino); in sysv_new_inode()
177 mutex_unlock(&sbi->s_lock); in sysv_new_inode()
183 struct sysv_sb_info *sbi = SYSV_SB(sb); in sysv_count_free_inodes() local
188 mutex_lock(&sbi->s_lock); in sysv_count_free_inodes()
190 sb_count = fs16_to_cpu(sbi, *sbi->s_sb_total_free_inodes); in sysv_count_free_inodes()
201 while (ino <= sbi->s_ninodes) { in sysv_count_free_inodes()
204 if ((ino++ & sbi->s_inodes_per_block_1) == 0) { in sysv_count_free_inodes()
216 mutex_unlock(&sbi->s_lock); in sysv_count_free_inodes()
224 *sbi->s_sb_total_free_inodes = cpu_to_fs16(SYSV_SB(sb), count); in sysv_count_free_inodes()