folio_size
size_t sz = folio_size(folio) - offset;
folio_size(folio));
__cpuc_flush_dcache_area(folio_address(folio), folio_size(folio));
folio_size(folio));
flush_dcache_range(addr, addr + folio_size(folio));
__flush_dcache(start, start + folio_size(folio));
flush_icache_range(start, start + folio_size(folio));
lend = lstart + folio_size(folio) - 1;
__flush_purge_region(folio_address(folio), folio_size(folio));
folio_size(folio));
folio_size(folio));
len = min_t(sector_t, folio_size(zero_folio),
size_t fsize = folio_size(folios[cur_folio]);
return folio_size(page_folio(pg)) >= SZ_2M;
BUG_ON(to > folio_size(folio));
to = folio_size(folio);
folio_zero_segment(folio, to, folio_size(folio));
err = affs_do_read_folio_ofs(folio, folio_size(folio), 1);
const int part = eb->folio_size - oif; \
const int part = eb->folio_size - oif; \
ASSERT(dest_pgoff + destlen <= folio_size(dest_folio) && destlen <= sectorsize);
u64 folio_sz = folio_size(folio);
cur += folio_size(folio);
page_end = (pg_index << PAGE_SHIFT) + folio_size(folio) - 1;
zeros = folio_size(folio) - zero_offset;
const int unit_size = eb->folio_size;
ordered = btrfs_lookup_ordered_range(inode, lock_start, folio_size(folio));
const u64 end = start + folio_size(folio) - 1;
folio_size(folio) - zero_offset);
const u64 end = start + folio_size(folio) - 1;
ASSERT(start >= folio_start && start + len <= folio_start + folio_size(folio));
ASSERT(start >= folio_start && start < folio_start + folio_size(folio));
const u64 page_end = page_start + folio_size(folio) - 1;
const u64 folio_end = folio_start + folio_size(folio);
start, len, folio_start, folio_size(folio));
folio_invalidate(folio, 0, folio_size(folio));
folio_zero_range(folio, pg_offset, folio_size(folio) - pg_offset);
folio_size(folio), bio_ctrl, i_size);
u64 end = start + folio_size(folio) - 1;
u64 end = start + folio_size(folio) - 1;
u64 end = start + folio_size(folio) - 1;
if (folio_size(existing_folio) != eb->folio_size) {
eb->folio_size = folio_size(eb->folios[i]);
const int unit_size = eb->folio_size;
const int unit_size = eb->folio_size;
const int unit_size = eb->folio_size;
const int unit_size = eb->folio_size;
const int unit_size = eb->folio_size;
const int unit_size = src->folio_size;
const int unit_size = dst->folio_size;
const int unit_size = dst->folio_size;
btrfs_folio_set_lock(fs_info, folio, folio_pos(folio), folio_size(folio));
eb->folio_size = PAGE_SIZE;
ASSERT(pg_offset + size <= folio_size(folio));
ASSERT(eb->folio_size);
return start & (eb->folio_size - 1);
u32 folio_size;
size_t fsize = folio_size(folio);
page_end = page_start + folio_size(folio) - 1;
if (page_start + folio_size(folio) > size)
folio_zero_range(folio, zero_start, folio_size(folio) - zero_start);
return folio_size(folio) >> fs_info->sectorsize_bits;
folio_size(async_chunk->locked_folio) - 1;
folio_size(folio));
btrfs_delalloc_release_extents(inode, folio_size(folio));
page_start, folio_size(folio),
folio_size(folio), !ret);
btrfs_folio_set_checked(fs_info, folio, folio_pos(folio), folio_size(folio));
ASSERT(offset_in_folio(folio, paddr) + blocksize <= folio_size(folio));
folio_size(folio), NULL);
u64 page_end = page_start + folio_size(folio) - 1;
if (!(offset == 0 && length == folio_size(folio))) {
btrfs_folio_clear_checked(fs_info, folio, folio_pos(folio), folio_size(folio));
ASSERT(folio_size(fi.folio) == min_folio_size);
folio_zero_range(last_folio, foffset, folio_size(last_folio) - foffset);
const u32 fsize = folio_size(*out_folio);
folio_size(cur_folio) - offset_in_folio(cur_folio, *cur_in));
ASSERT(folio_size(fi.folio) == btrfs_min_folio_size(fs_info));
ASSERT(foffset <= folio_size(data_folios[findex]));
if (foffset == folio_size(data_folios[findex])) {
folio_end = folio_start + folio_size(folio) - 1;
folio_start, folio_size(folio))) {
ASSERT(offset_in_folio(folio, offset) + fs_info->sectorsize <= folio_size(folio));
cur_len = min_t(unsigned int, end - cur, folio_size(folio) - pg_offset);
start, len, folio_pos(folio), folio_size(folio));
bfs = btrfs_alloc_folio_state(fs_info, folio_size(folio), type);
return fs_info->sectorsize < folio_size(folio);
copy_length = min(folio_size(folio) - offset,
if (!bio_add_folio(bio, out_folio, folio_size(out_folio), 0)) {
if (!bio_add_folio(bio, out_folio, folio_size(out_folio), 0)) {
ASSERT(cur_len <= folio_size(out_folio));
ASSERT(folio_size(fi.folio) == min_folio_size);
ASSERT(folio_size(fi.folio) == min_folio_size);
if (!bio_add_folio(bio, out_folio, folio_size(out_folio), 0)) {
if (!bio_add_folio(bio, out_folio, folio_size(out_folio), 0)) {
ASSERT(folio_size(fi.folio) == min_folio_size);
BUG_ON(offset >= folio_size(folio));
BUG_ON(stop > folio_size(folio) || stop < length);
if (length == folio_size(folio))
BUG_ON(to > folio_size(folio));
to = min(folio_size(folio) - from, count);
if (from < blocksize && to > folio_size(folio) - blocksize)
end = folio_size(folio);
folio_size(folio));
offset = folio_size(folio);
folio_invalidate(folio, 0, folio_size(folio));
ceph_wbc->len += folio_size(folio);
if (offset != 0 || length != folio_size(folio)) {
if (off + folio_size(folio) <= size)
len = folio_size(folio);
if (len > folio_size(folio))
len = folio_size(folio);
loff_t len = folio_size(folio);
folio_invalidate(folio, 0, folio_size(folio));
WARN_ON_ONCE(len > folio_size(folio));
folio_size(folio), inode);
folio->index, 0, folio_size(folio),
unsigned int cur = 0, end = folio_size(folio), len, attached = 0;
folio_pos(folio), folio_size(folio));
folio_pos(folio), folio_size(folio));
folio_pos(folio), folio_size(folio));
unsigned int end = folio_size(folio), split = 0, cur, pgs;
DBG_BUGON(stop > folio_size(folio) || stop < length);
if (offset == 0 && stop == folio_size(folio))
unsigned limit = folio_size(folio);
kaddr += folio_size(folio) - reclen;
folio_zero_segment(folio, 0, folio_size(folio));
BUG_ON(to > folio_size(folio));
WARN_ON_ONCE(blocksize > folio_size(folio));
folio_size(folio));
mpd->start_pos += folio_size(folio);
len = folio_size(folio);
size_t len = folio_size(folio);
if (offset == 0 && length == folio_size(folio))
folio_size(folio) - offset);
len = folio_size(folio);
len = folio_size(folio);
blocks_per_folio = folio_size(folio) / blocksize;
WARN_ON_ONCE(folio_size(folio) < sb->s_blocksize);
WARN_ON_ONCE(folio_size(folio) < sb->s_blocksize);
move_len = umin(folio_pos(folio[0]) + folio_size(folio[0]) - orig_pos,
folio_pos(folio[1]) + folio_size(folio[1]) - donor_pos);
if (len < folio_size(folio))
folio_zero_segment(folio, len, folio_size(folio));
blocks_per_folio = folio_size(folio) >> blkbits;
folio_size(folio));
folio_size(folio));
folio_zero_segment(folio, offset, folio_size(folio));
folio_address(cfolio), folio_size(folio));
if (!bio_add_folio(io->bio, bio_folio, folio_size(bio_folio), 0)) {
folio_size(fio->folio));
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_segment(folio, offset, folio_size(folio));
if (len == folio_size(folio) || folio_test_uptodate(folio))
folio_zero_segment(folio, len, folio_size(folio));
folio_zero_segment(folio, 0, folio_size(folio));
(offset || length != folio_size(folio)))
if (offset || length != folio_size(folio))
bio_add_folio_nofail(bio, data_folio, folio_size(data_folio), 0);
bio_add_folio_nofail(bio, folio, folio_size(folio), 0);
bio_add_folio(*bio, folio, folio_size(folio), 0)) {
wbc_account_cgroup_owner(fio->io_wbc, folio, folio_size(folio));
folio_zero_segment(folio, offset, folio_size(folio));
folio_zero_segment(folio, offset, folio_size(folio));
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_segment(folio, MAX_INLINE_DATA(inode), folio_size(folio));
tocopy = min(folio_size(folio) - offset, toread);
if (!bio_add_folio(bio, folio, folio_size(folio), 0))
if (cs->len != folio_size(oldfolio))
size = folio_size(folio);
nr_bytes = min(num, folio_size(folio) - folio_offset);
(nr_bytes == folio_size(folio) || file_size == end)) {
folio_zero_segment(folio, nr_bytes, folio_size(folio));
nr_bytes = min(folio_size(folio) - folio_offset, num);
struct fuse_folio_desc desc = { .length = folio_size(folio) - 1 };
if (count >= folio_size(folio) - offset)
count -= folio_size(folio) - offset;
bytes = min(folio_size(folio) - folio_offset, num);
if (offset == folio_size(folio))
if (tmp == folio_size(folio))
gfs2_trans_add_databufs(ip->i_gl, folio, 0, folio_size(folio));
size += folio_size(fbatch->folios[i]);
chunk = min(size - copied, folio_size(folio) - offset);
int partial_page = (offset || length < folio_size(folio));
folio_size(folio));
memset(kaddr + dsize, 0, folio_size(folio) - dsize);
if (size - pos < folio_size(folio))
length = folio_size(folio);
if (off == folio_size(folio))
len = min_t(size_t, folio_size(folio), sb->s_blocksize);
folio_zero_range(folio, 0, folio_size(folio));
size = folio_size(folio);
size_t count = folio_size(folio);
if (!folio_test_uptodate(folio) && err == folio_size(folio))
atomic_set(&ifs->write_bytes_pending, folio_size(folio));
folio_zero_segment(folio, poff, folio_size(folio));
u64 end_pos = pos + folio_size(folio);
trace_iomap_writeback_folio(inode, pos, folio_size(folio));
iomap_clear_range_dirty(folio, 0, folio_size(folio));
size_t bytes_not_submitted = folio_size(folio) -
size_t plen = min_t(loff_t, folio_size(folio) - poff, length);
iomap_set_range_uptodate(folio, offset, folio_size(folio) - offset);
ifs->read_bytes_pending = folio_size(folio);
ifs->read_bytes_pending -= folio_size(folio) - bytes_submitted;
size_t folio_len = folio_size(folio);
.len = folio_size(folio),
count = min(folio_size(folio) - from, count);
folio_size(folio));
if (offset == 0 && len == folio_size(folio)) {
size_t len = folio_size(folio);
size_t fsize = folio_size(folio);
int nr_vecs = max(1, i_blocksize(inode) / folio_size(zero_folio));
unsigned int io_len = min(len, folio_size(zero_folio));
int partial_page = (offset || length < folio_size(folio));
BUG_ON(stop > folio_size(folio) || stop < length);
xlen = (folio_size(folio) - offset) >> inode->i_blkbits;
BUG_ON(offset || length < folio_size(folio));
folio_zero_range(folio, 0, folio_size(folio));
if (!folio_test_uptodate(folio) && (len != folio_size(folio))) {
from + len, folio_size(folio));
memset(kaddr, 0, folio_size(folio));
const unsigned blocks_per_folio = folio_size(folio) >> blkbits;
folio_zero_segment(folio, first_hole << blkbits, folio_size(folio));
const unsigned blocks_per_folio = folio_size(folio) >> blkbits;
length = folio_size(folio);
folio_zero_segment(folio, length, folio_size(folio));
wbc_account_cgroup_owner(wbc, folio, folio_size(folio));
size_t flen = folio_size(folio);
folio_pos(folio), folio_size(folio),
size_t plen = folio_size(folio);
folio_pos(folio), folio_size(folio),
size_t flen = folio_size(folio);
flen = folio_size(folio);
flen = folio_size(folio);
size_t flen = folio_size(folio);
fsize = folio_size(folio);
size_t fsize = folio_size(folio), flen = fsize;
ssize_t size = folio_size(folio);
fsize = folio_size(folio);
size_t fsize = folio_size(folio), flen = fsize, foff = 0;
size_t fsize = folio_size(folio), flen;
flen = folio_size(folio);
size_t end = folio_size(folio);
size_t fsize = folio_size(folio);
if (offset != 0 || length < folio_size(folio))
folio_size(folio), ret);
return folio_size(folio);
size_t fsize = folio_size(folio);
size_t len = folio_size(folio);
folio_zero_segment(folio, 0, folio_size(folio));
size_t len = folio_size(folio);
size_t len = folio_size(folio);
size_t limit = folio_size(folio);
kaddr += folio_size(folio) - reclen;
char *kaddr = (char *)((unsigned long)dir & ~(folio_size(folio) - 1));
size_t len = min(data_size - vbo, folio_size(folio));
folio_zero_range(folio, 0, folio_size(folio));
u32 f_size = folio_size(folio);
folio_zero_range(folio, 0, folio_size(folio));
u32 f_size = folio_size(folio);
size_t to = folio_size(folio);
folio_size(wc->w_target_folio));
BUG_ON(from > folio_size(folio) ||
to > folio_size(folio) ||
to = folio_size(folio);
if (size > folio_size(folio) ||
folio_zero_segment(folio, 0, folio_size(folio));
zero_to = folio_size(folio);
bvec_set_folio(&bv, folio, folio_size(folio), 0);
iov_iter_bvec(&iter, ITER_DEST, &bv, 1, folio_size(folio));
folio_size(folio), inode->i_size, NULL, NULL, file);
wlen = folio_size(folio);
folio_size(ow->folios[i]) - start, start);
size = folio_size(folio);
size_t fsize = folio_size(folio);
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_segment(folio, len, folio_size(folio));
folio_zero_range(folio, 0, folio_size(folio));
if (offset || length < folio_size(folio))
if (pos == folio_pos(folio) && len >= folio_size(folio))
if (pos == folio_pos(folio) && len >= folio_size(folio)) {
if (len == folio_size(folio))
folio_zero_range(folio, 0, folio_size(folio));
int err, len = folio_size(folio);
unsigned limit = folio_size(folio);
kaddr += folio_size(folio) - reclen;
memset(kaddr, 0, folio_size(folio));
u32 nwrite = folio_size(folio);
if (!folio_test_uptodate(folio) && nwritten == folio_size(folio))
__entry->folio_bytes = folio_size(si->folio);
len = min_t(ssize_t, count, folio_size(folio) - offset);
len = min_t(ssize_t, count, folio_size(folio) - offset);
if (len > folio_size(folio) - offset_in_folio(folio, pos)) {
trace_xfile_put_folio(xf, folio_pos(folio), folio_size(folio));
unsigned int len = folio_size(page_folio(vmf->page));
__entry->bufsize = folio_size(folio);
min(bbcount << SECTOR_SHIFT, folio_size(folio)),
fi->length = min(folio_size(fi->folio) - fi->offset, fi->_seg_count);
fi->length = min(folio_size(fi->folio), fi->_seg_count);
return fsverity_verify_blocks(vi, folio, folio_size(folio), 0);
VM_BUG_ON(dst_off + len > folio_size(dst_folio));
VM_BUG_ON(src_off + len > folio_size(src_folio));
VM_BUG_ON(offset + len > folio_size(folio));
VM_BUG_ON(offset + len > folio_size(folio));
size_t len = folio_size(folio) - offset;
VM_BUG_ON(offset + len > folio_size(folio));
len = min(len, folio_size(folio) - offset);
return size_to_hstate(folio_size(folio));
flen = min(folio_size(folio) - offset, len);
#define offset_in_folio(folio, p) ((unsigned long)(p) & (folio_size(folio) - 1))
return folio_size(folio);
return folio_size(folio);
return folio_size(folio) >> inode->i_blkbits;
xdr_set_scratch_buffer(xdr, folio_address(folio), folio_size(folio));
unsigned long folio_size = 1 << imu->folio_shift;
unsigned long folio_mask = folio_size - 1;
folio_size - offset);
if (folio_size(folio) != (1UL << data->folio_shift) ||
folio_sz = folio_size(r->folio);
folio_sz = folio_size(r->folio);
file_off < r->folio_off + folio_size(r->folio))
len = min(folio_size(folio) - folio_offset, left);
len = min_t(size_t, maxsize, folio_size(folio) - offset);
folio_sz = folio_size(folio);
*sz_filter_passed += folio_size(folio) / addr_unit;
addr += folio_size(folio);
*sz_filter_passed += folio_size(folio) / addr_unit;
addr += folio_size(folio);
*sz_filter_passed += folio_size(folio) / addr_unit;
addr += folio_size(folio);
*sz_filter_passed += folio_size(folio) / addr_unit;
addr += folio_size(folio);
*folio_sz = folio_size(folio);
*priv->folio_sz = folio_size(folio);
*sz_filter_passed += folio_size(folio);
*sz_filter_passed += folio_size(folio);
if (pos == 0 && count >= folio_size(folio))
size_t fsize = folio_size(folio);
size = min(size, folio_size(folio) - offset);
} while (offset < folio_size(folio));
return folio_size(folio);
(addr0 & PMD_MASK) == ((addr0 + folio_size(folio) - 1) & PMD_MASK)) {
if (bytes > folio_size(folio) - offset)
bytes = folio_size(folio) - offset;
h = size_to_hstate(folio_size(folio));
folio_size(folio));
return !(addr < start || end - addr < folio_size(folio));
folio_zero_range(folio, 0, folio_size(folio));
end = min3(addr_start + folio_size(folio), pt_start + PMD_SIZE,
const unsigned long base_addr = ALIGN_DOWN(addr_hint, folio_size(folio));
unsigned long addr = ALIGN_DOWN(addr_hint, folio_size(dst));
return folio_size(folio);
bvec_set_folio(&sio->bvec[sio->pages], folio, folio_size(folio), 0);
sio->len += folio_size(folio);
bio_add_folio_nofail(&bio, folio, folio_size(folio), 0);
bio_add_folio_nofail(bio, folio, folio_size(folio), 0);
folio_zero_range(folio, 0, folio_size(folio));
bvec_set_folio(&sio->bvec[sio->pages], folio, folio_size(folio), 0);
sio->len += folio_size(folio);
bio_add_folio_nofail(&bio, folio, folio_size(folio), 0);
bio_add_folio_nofail(bio, folio, folio_size(folio), 0);
h = size_to_hstate(folio_size(folio));
folio_zero_segment(folio, 0, folio_size(folio));
folio_zero_range(folio, 0, folio_size(folio));
if (copied < folio_size(folio)) {
from + copied, folio_size(folio));
fsize = folio_size(folio);
folio_invalidate(folio, 0, folio_size(folio));
size_t size = folio_size(folio);
folio_size(folio));