SCCS-vsn: sys/ufs/lfs/lfs_inode.c 7.57
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)lfs_inode.c 7.56 (Berkeley) %G%
+ * @(#)lfs_inode.c 7.57 (Berkeley) %G%
*/
#include <sys/param.h>
*/
#include <sys/param.h>
#define UPDATE_SEGUSE \
if (lastseg != -1) { \
LFS_SEGENTRY(sup, fs, lastseg, sup_bp); \
#define UPDATE_SEGUSE \
if (lastseg != -1) { \
LFS_SEGENTRY(sup, fs, lastseg, sup_bp); \
- sup->su_nbytes -= fs->lfs_bsize * num; \
+ sup->su_nbytes -= num << fs->lfs_bshift; \
LFS_UBWRITE(sup_bp); \
blocksreleased += num; \
}
LFS_UBWRITE(sup_bp); \
blocksreleased += num; \
}
SEGDEC;
ip->i_ib[off] = 0;
}
SEGDEC;
ip->i_ib[off] = 0;
}
+ if (lbn == lastblock || lbn <= NDADDR)
--lbn;
else {
lbn -= NINDIR(fs);
--lbn;
else {
lbn -= NINDIR(fs);