Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/vfs_vnops.c
Show First 20 Lines • Show All 3,137 Lines • ▼ Show 20 Lines | #endif | ||||
*/ | */ | ||||
blksize = MAX(holein, holeout); | blksize = MAX(holein, holeout); | ||||
/* Clip len to end at an exact multiple of hole size. */ | /* Clip len to end at an exact multiple of hole size. */ | ||||
if (blksize > 1) { | if (blksize > 1) { | ||||
rem = *inoffp % blksize; | rem = *inoffp % blksize; | ||||
if (rem > 0) | if (rem > 0) | ||||
rem = blksize - rem; | rem = blksize - rem; | ||||
if (len - rem > blksize) | if (len > rem && len - rem > blksize) | ||||
len = savlen = rounddown(len - rem, blksize) + rem; | len = savlen = rounddown(len - rem, blksize) + rem; | ||||
} | } | ||||
if (blksize <= 1) | if (blksize <= 1) | ||||
blksize = MAX(invp->v_mount->mnt_stat.f_iosize, | blksize = MAX(invp->v_mount->mnt_stat.f_iosize, | ||||
outvp->v_mount->mnt_stat.f_iosize); | outvp->v_mount->mnt_stat.f_iosize); | ||||
if (blksize < 4096) | if (blksize < 4096) | ||||
blksize = 4096; | blksize = 4096; | ||||
▲ Show 20 Lines • Show All 299 Lines • Show Last 20 Lines |