Loading fs/ufs/inode.c +6 −2 Original line number Original line Diff line number Diff line Loading @@ -1324,12 +1324,16 @@ static void __ufs_truncate_blocks(struct inode *inode) ufs_trunc_tindirect(inode, 0); ufs_trunc_tindirect(inode, 0); break; break; case 3: case 3: ufs_trunc_dindirect(inode, DIRECT_BLOCK - UFS_IND_BLOCK - uspi->s_apb, ufs_trunc_dindirect(inode, (offsets[1] << uspi->s_apbshift) + offsets[2], ufs_get_direct_data_ptr(uspi, ufsi, UFS_DIND_BLOCK)); ufs_get_direct_data_ptr(uspi, ufsi, UFS_DIND_BLOCK)); ufs_trunc_tindirect(inode, 0); ufs_trunc_tindirect(inode, 0); break; break; case 4: case 4: ufs_trunc_tindirect(inode, DIRECT_BLOCK - UFS_NDADDR - uspi->s_apb - uspi->s_2apb); ufs_trunc_tindirect(inode, (offsets[1] << uspi->s_2apbshift) + (offsets[2] << uspi->s_apbshift) + offsets[3]); } } ufsi->i_lastfrag = DIRECT_FRAGMENT; ufsi->i_lastfrag = DIRECT_FRAGMENT; mutex_unlock(&ufsi->truncate_mutex); mutex_unlock(&ufsi->truncate_mutex); Loading Loading
fs/ufs/inode.c +6 −2 Original line number Original line Diff line number Diff line Loading @@ -1324,12 +1324,16 @@ static void __ufs_truncate_blocks(struct inode *inode) ufs_trunc_tindirect(inode, 0); ufs_trunc_tindirect(inode, 0); break; break; case 3: case 3: ufs_trunc_dindirect(inode, DIRECT_BLOCK - UFS_IND_BLOCK - uspi->s_apb, ufs_trunc_dindirect(inode, (offsets[1] << uspi->s_apbshift) + offsets[2], ufs_get_direct_data_ptr(uspi, ufsi, UFS_DIND_BLOCK)); ufs_get_direct_data_ptr(uspi, ufsi, UFS_DIND_BLOCK)); ufs_trunc_tindirect(inode, 0); ufs_trunc_tindirect(inode, 0); break; break; case 4: case 4: ufs_trunc_tindirect(inode, DIRECT_BLOCK - UFS_NDADDR - uspi->s_apb - uspi->s_2apb); ufs_trunc_tindirect(inode, (offsets[1] << uspi->s_2apbshift) + (offsets[2] << uspi->s_apbshift) + offsets[3]); } } ufsi->i_lastfrag = DIRECT_FRAGMENT; ufsi->i_lastfrag = DIRECT_FRAGMENT; mutex_unlock(&ufsi->truncate_mutex); mutex_unlock(&ufsi->truncate_mutex); Loading