Lines Matching refs:length
43 static int punch_hole(struct gfs2_inode *ip, u64 offset, u64 length);
600 iomap->length = hole_size << inode->i_blkbits; in gfs2_hole_size()
669 size_t dblks = iomap->length >> inode->i_blkbits; in __gfs2_iomap_alloc()
774 iomap->length = (u64)dblks << inode->i_blkbits; in __gfs2_iomap_alloc()
840 static int __gfs2_iomap_get(struct inode *inode, loff_t pos, loff_t length, in __gfs2_iomap_get() argument
856 if (!length) in __gfs2_iomap_get()
870 if (pos + length > max_size) in __gfs2_iomap_get()
872 iomap->length = max_size; in __gfs2_iomap_get()
880 iomap->length = length; in __gfs2_iomap_get()
884 iomap->length = size; in __gfs2_iomap_get()
896 lblock_stop = (pos + length - 1) >> inode->i_blkbits; in __gfs2_iomap_get()
898 iomap->length = len << inode->i_blkbits; in __gfs2_iomap_get()
922 iomap->length = len << inode->i_blkbits; in __gfs2_iomap_get()
941 iomap->length = size - iomap->offset; in __gfs2_iomap_get()
950 if (alloc_size < iomap->length) in __gfs2_iomap_get()
951 iomap->length = alloc_size; in __gfs2_iomap_get()
1015 loff_t length, unsigned flags, in gfs2_iomap_begin_write() argument
1025 pos + length > gfs2_max_stuffed_size(ip); in gfs2_iomap_begin_write()
1033 gfs2_write_calc_reserv(ip, iomap->length, &data_blocks, in gfs2_iomap_begin_write()
1054 iomap->length >> inode->i_blkbits); in gfs2_iomap_begin_write()
1064 iomap->length, flags, iomap, mp); in gfs2_iomap_begin_write()
1074 punch_hole(ip, iomap->offset, iomap->length); in gfs2_iomap_begin_write()
1097 static int gfs2_iomap_begin(struct inode *inode, loff_t pos, loff_t length, in gfs2_iomap_begin() argument
1108 trace_gfs2_iomap_start(ip, pos, length, flags); in gfs2_iomap_begin()
1109 ret = __gfs2_iomap_get(inode, pos, length, flags, iomap, &mp); in gfs2_iomap_begin()
1133 ret = gfs2_iomap_begin_write(inode, pos, length, flags, iomap, &mp); in gfs2_iomap_begin()
1141 static int gfs2_iomap_end(struct inode *inode, loff_t pos, loff_t length, in gfs2_iomap_end() argument
1171 if (length != written && (iomap->flags & IOMAP_F_NEW)) { in gfs2_iomap_end()
1174 loff_t hend = iomap->offset + iomap->length; in gfs2_iomap_end()
1222 loff_t length = bh_map->b_size; in gfs2_block_map() local
1232 ret = gfs2_iomap_get(inode, pos, length, &iomap); in gfs2_block_map()
1234 ret = gfs2_iomap_alloc(inode, pos, length, &iomap); in gfs2_block_map()
1238 if (iomap.length > bh_map->b_size) { in gfs2_block_map()
1239 iomap.length = bh_map->b_size; in gfs2_block_map()
1244 bh_map->b_size = iomap.length; in gfs2_block_map()
1270 len = iomap.length >> blkbits; in gfs2_get_extent()
1291 len = iomap.length >> blkbits; in gfs2_alloc_extent()
1303 static int gfs2_block_zero_range(struct inode *inode, loff_t from, loff_t length) in gfs2_block_zero_range() argument
1308 length = min(length, inode->i_size - from); in gfs2_block_zero_range()
1309 return iomap_zero_range(inode, from, length, NULL, &gfs2_iomap_ops, in gfs2_block_zero_range()
1414 int gfs2_iomap_get(struct inode *inode, loff_t pos, loff_t length, in gfs2_iomap_get() argument
1420 ret = __gfs2_iomap_get(inode, pos, length, 0, iomap, &mp); in gfs2_iomap_get()
1425 int gfs2_iomap_alloc(struct inode *inode, loff_t pos, loff_t length, in gfs2_iomap_alloc() argument
1431 ret = __gfs2_iomap_get(inode, pos, length, IOMAP_WRITE, iomap, &mp); in gfs2_iomap_alloc()
1720 static int punch_hole(struct gfs2_inode *ip, u64 offset, u64 length) in punch_hole() argument
1760 if (length) { in punch_hole()
1761 u64 end_offset = offset + length; in punch_hole()
2345 static int stuffed_zero_range(struct inode *inode, loff_t offset, loff_t length) in stuffed_zero_range() argument
2353 if (offset + length > inode->i_size) in stuffed_zero_range()
2354 length = inode->i_size - offset; in stuffed_zero_range()
2361 length); in stuffed_zero_range()
2367 loff_t length) in gfs2_journaled_truncate_range() argument
2373 while (length) { in gfs2_journaled_truncate_range()
2378 chunk = length; in gfs2_journaled_truncate_range()
2388 length -= chunk; in gfs2_journaled_truncate_range()
2402 int __gfs2_punch_hole(struct file *file, loff_t offset, loff_t length) in __gfs2_punch_hole() argument
2415 end_len = (offset + length) & (blocksize - 1); in __gfs2_punch_hole()
2417 unsigned int len = length; in __gfs2_punch_hole()
2418 if (length > blocksize - start_off) in __gfs2_punch_hole()
2423 if (start_off + length < blocksize) in __gfs2_punch_hole()
2428 offset + length - end_len, end_len); in __gfs2_punch_hole()
2435 end = round_up(offset + length, blocksize) - 1; in __gfs2_punch_hole()
2449 error = stuffed_zero_range(inode, offset, length); in __gfs2_punch_hole()
2456 gfs2_journaled_truncate_range(inode, offset, length); in __gfs2_punch_hole()
2458 truncate_pagecache_range(inode, offset, offset + length - 1); in __gfs2_punch_hole()
2467 error = punch_hole(ip, offset, length); in __gfs2_punch_hole()
2482 offset >= wpc->iomap.offset + wpc->iomap.length) { in gfs2_writeback_range()