@@ -43,7 +43,6 @@ void ufs_free_fragments(struct inode *inode, u64 fragment, unsigned count)
43
43
struct ufs_cg_private_info * ucpi ;
44
44
struct ufs_cylinder_group * ucg ;
45
45
unsigned cgno , bit , end_bit , bbase , blkmap , i ;
46
- u64 blkno ;
47
46
48
47
sb = inode -> i_sb ;
49
48
uspi = UFS_SB (sb )-> s_uspi ;
@@ -94,13 +93,12 @@ void ufs_free_fragments(struct inode *inode, u64 fragment, unsigned count)
94
93
/*
95
94
* Trying to reassemble free fragments into block
96
95
*/
97
- blkno = ufs_fragstoblks (bbase );
98
96
if (ubh_isblockset (uspi , ucpi , bbase )) {
99
97
fs32_sub (sb , & ucg -> cg_cs .cs_nffree , uspi -> s_fpb );
100
98
uspi -> cs_total .cs_nffree -= uspi -> s_fpb ;
101
99
fs32_sub (sb , & UFS_SB (sb )-> fs_cs (cgno ).cs_nffree , uspi -> s_fpb );
102
100
if ((UFS_SB (sb )-> s_flags & UFS_CG_MASK ) == UFS_CG_44BSD )
103
- ufs_clusteracct (sb , ucpi , blkno , 1 );
101
+ ufs_clusteracct (sb , ucpi , bbase , 1 );
104
102
fs32_add (sb , & ucg -> cg_cs .cs_nbfree , 1 );
105
103
uspi -> cs_total .cs_nbfree ++ ;
106
104
fs32_add (sb , & UFS_SB (sb )-> fs_cs (cgno ).cs_nbfree , 1 );
@@ -139,7 +137,6 @@ void ufs_free_blocks(struct inode *inode, u64 fragment, unsigned count)
139
137
struct ufs_cg_private_info * ucpi ;
140
138
struct ufs_cylinder_group * ucg ;
141
139
unsigned overflow , cgno , bit , end_bit , i ;
142
- u64 blkno ;
143
140
144
141
sb = inode -> i_sb ;
145
142
uspi = UFS_SB (sb )-> s_uspi ;
@@ -181,14 +178,13 @@ void ufs_free_blocks(struct inode *inode, u64 fragment, unsigned count)
181
178
}
182
179
183
180
for (i = bit ; i < end_bit ; i += uspi -> s_fpb ) {
184
- blkno = ufs_fragstoblks (i );
185
181
if (ubh_isblockset (uspi , ucpi , i )) {
186
182
ufs_error (sb , "ufs_free_blocks" , "freeing free fragment" );
187
183
}
188
184
ubh_setblock (uspi , ucpi , i );
189
185
inode_sub_bytes (inode , uspi -> s_fpb << uspi -> s_fshift );
190
186
if ((UFS_SB (sb )-> s_flags & UFS_CG_MASK ) == UFS_CG_44BSD )
191
- ufs_clusteracct (sb , ucpi , blkno , 1 );
187
+ ufs_clusteracct (sb , ucpi , i , 1 );
192
188
193
189
fs32_add (sb , & ucg -> cg_cs .cs_nbfree , 1 );
194
190
uspi -> cs_total .cs_nbfree ++ ;
@@ -698,7 +694,7 @@ static u64 ufs_alloccg_block(struct inode *inode,
698
694
struct super_block * sb ;
699
695
struct ufs_sb_private_info * uspi ;
700
696
struct ufs_cylinder_group * ucg ;
701
- u64 result , blkno ;
697
+ u64 result ;
702
698
703
699
UFSD ("ENTER, goal %llu\n" , (unsigned long long )goal );
704
700
@@ -729,10 +725,9 @@ static u64 ufs_alloccg_block(struct inode *inode,
729
725
gotit :
730
726
if (!try_add_frags (inode , uspi -> s_fpb ))
731
727
return 0 ;
732
- blkno = ufs_fragstoblks (result );
733
728
ubh_clrblock (uspi , ucpi , result );
734
729
if ((UFS_SB (sb )-> s_flags & UFS_CG_MASK ) == UFS_CG_44BSD )
735
- ufs_clusteracct (sb , ucpi , blkno , -1 );
730
+ ufs_clusteracct (sb , ucpi , result , -1 );
736
731
737
732
fs32_sub (sb , & ucg -> cg_cs .cs_nbfree , 1 );
738
733
uspi -> cs_total .cs_nbfree -- ;
@@ -863,12 +858,12 @@ static u64 ufs_bitmap_search(struct super_block *sb,
863
858
}
864
859
865
860
static void ufs_clusteracct (struct super_block * sb ,
866
- struct ufs_cg_private_info * ucpi , unsigned blkno , int cnt )
861
+ struct ufs_cg_private_info * ucpi , unsigned frag , int cnt )
867
862
{
868
- struct ufs_sb_private_info * uspi ;
863
+ struct ufs_sb_private_info * uspi = UFS_SB ( sb ) -> s_uspi ;
869
864
int i , start , end , forw , back ;
865
+ unsigned blkno = ufs_fragstoblks (frag );
870
866
871
- uspi = UFS_SB (sb )-> s_uspi ;
872
867
if (uspi -> s_contigsumsize <= 0 )
873
868
return ;
874
869
0 commit comments