AFS_DIR_BLOCK_SIZE
iter_base += AFS_DIR_BLOCK_SIZE;
progress += AFS_DIR_BLOCK_SIZE;
len -= AFS_DIR_BLOCK_SIZE;
((u8 *)block)[AFS_DIR_BLOCK_SIZE - 1] = 0;
if (WARN_ON_ONCE(progress % AFS_DIR_BLOCK_SIZE ||
len % AFS_DIR_BLOCK_SIZE))
iter_base += AFS_DIR_BLOCK_SIZE;
len -= AFS_DIR_BLOCK_SIZE;
if (i_size < AFS_DIR_BLOCK_SIZE)
if (i_size > AFS_DIR_BLOCK_SIZE * 1024) {
blknum = ctx->pos / AFS_DIR_BLOCK_SIZE;
if (WARN_ON_ONCE(progress % AFS_DIR_BLOCK_SIZE ||
len % AFS_DIR_BLOCK_SIZE)) {
progress % AFS_DIR_BLOCK_SIZE,
len % AFS_DIR_BLOCK_SIZE);
ctx->dir_ctx->pos = round_up(ctx->dir_ctx->pos, AFS_DIR_BLOCK_SIZE);
iter_base += AFS_DIR_BLOCK_SIZE;
len -= AFS_DIR_BLOCK_SIZE;
iov_iter_advance(&iter, round_down(dir_ctx->pos, AFS_DIR_BLOCK_SIZE));
size_t blpos = block * AFS_DIR_BLOCK_SIZE;
size_t blend = (block + 1) * AFS_DIR_BLOCK_SIZE, fpos = iter->fpos;
if (i_size > AFS_DIR_BLOCK_SIZE * AFS_DIR_MAX_BLOCKS ||
(i_size & (AFS_DIR_BLOCK_SIZE - 1))) {
nr_blocks = i_size / AFS_DIR_BLOCK_SIZE;
afs_set_i_size(vnode, (b + 1) * AFS_DIR_BLOCK_SIZE);
i_size = AFS_DIR_BLOCK_SIZE;
if (i_size < AFS_DIR_BLOCK_SIZE ||
i_size > AFS_DIR_BLOCK_SIZE * AFS_DIR_MAX_BLOCKS ||
(i_size & (AFS_DIR_BLOCK_SIZE - 1))) {
if (i_size < AFS_DIR_BLOCK_SIZE) {
nr_blocks = i_size / AFS_DIR_BLOCK_SIZE;
if (i_size != AFS_DIR_BLOCK_SIZE) {
nblocks = umin(i_size / AFS_DIR_BLOCK_SIZE, AFS_DIR_MAX_BLOCKS);
size_t blpos = block * AFS_DIR_BLOCK_SIZE;
size_t blend = (block + 1) * AFS_DIR_BLOCK_SIZE, fpos = iter->fpos;
#define AFS_DIR_BLOCKS_PER_PAGE (PAGE_SIZE / AFS_DIR_BLOCK_SIZE)