Changeset View
Changeset View
Standalone View
Standalone View
sys/ufs/ffs/ffs_alloc.c
Show First 20 Lines • Show All 332 Lines • ▼ Show 20 Lines | if (bno) { | ||||
DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); | DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); | ||||
if (flags & IO_EXT) | if (flags & IO_EXT) | ||||
ip->i_flag |= IN_CHANGE; | ip->i_flag |= IN_CHANGE; | ||||
else | else | ||||
ip->i_flag |= IN_CHANGE | IN_UPDATE; | ip->i_flag |= IN_CHANGE | IN_UPDATE; | ||||
allocbuf(bp, nsize); | allocbuf(bp, nsize); | ||||
bp->b_flags |= B_DONE; | bp->b_flags |= B_DONE; | ||||
vfs_bio_bzero_buf(bp, osize, nsize - osize); | vfs_bio_bzero_buf(bp, osize, nsize - osize); | ||||
if ((bp->b_flags & (B_MALLOC | B_VMIO)) == B_VMIO) | if ((bp->b_flags & B_VMIO) != 0) | ||||
cem: Extra parens around B_VMIO can be dropped. | |||||
vfs_bio_set_valid(bp, osize, nsize - osize); | vfs_bio_set_valid(bp, osize, nsize - osize); | ||||
*bpp = bp; | *bpp = bp; | ||||
return (0); | return (0); | ||||
} | } | ||||
/* | /* | ||||
* Allocate a new disk location. | * Allocate a new disk location. | ||||
*/ | */ | ||||
if (bpref >= fs->fs_size) | if (bpref >= fs->fs_size) | ||||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | if (bno > 0) { | ||||
DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); | DIP_SET(ip, i_blocks, DIP(ip, i_blocks) + delta); | ||||
if (flags & IO_EXT) | if (flags & IO_EXT) | ||||
ip->i_flag |= IN_CHANGE; | ip->i_flag |= IN_CHANGE; | ||||
else | else | ||||
ip->i_flag |= IN_CHANGE | IN_UPDATE; | ip->i_flag |= IN_CHANGE | IN_UPDATE; | ||||
allocbuf(bp, nsize); | allocbuf(bp, nsize); | ||||
bp->b_flags |= B_DONE; | bp->b_flags |= B_DONE; | ||||
vfs_bio_bzero_buf(bp, osize, nsize - osize); | vfs_bio_bzero_buf(bp, osize, nsize - osize); | ||||
if ((bp->b_flags & (B_MALLOC | B_VMIO)) == B_VMIO) | if ((bp->b_flags & B_VMIO) != 0) | ||||
vfs_bio_set_valid(bp, osize, nsize - osize); | vfs_bio_set_valid(bp, osize, nsize - osize); | ||||
*bpp = bp; | *bpp = bp; | ||||
return (0); | return (0); | ||||
} | } | ||||
#ifdef QUOTA | #ifdef QUOTA | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
/* | /* | ||||
* Restore user's disk quota because allocation failed. | * Restore user's disk quota because allocation failed. | ||||
▲ Show 20 Lines • Show All 2,850 Lines • Show Last 20 Lines |
Extra parens around B_VMIO can be dropped.