Lines Matching defs:iattr
377 struct iattr *iattr)
391 truncate_setsize(&inode->v, iattr->ia_size);
393 return bch2_setattr_nonsize(idmap, inode, iattr);
397 struct bch_inode_info *inode, struct iattr *iattr)
410 if (iattr->ia_size != inode->v.i_size) {
411 if (!(iattr->ia_valid & ATTR_MTIME))
412 ktime_get_coarse_real_ts64(&iattr->ia_mtime);
413 if (!(iattr->ia_valid & ATTR_CTIME))
414 ktime_get_coarse_real_ts64(&iattr->ia_ctime);
415 iattr->ia_valid |= ATTR_MTIME|ATTR_CTIME;
439 if (iattr->ia_size > inode->v.i_size) {
440 ret = bch2_extend(idmap, inode, &inode_u, iattr);
444 iattr->ia_valid &= ~ATTR_SIZE;
446 ret = bch2_truncate_folio(inode, iattr->ia_size);
450 truncate_setsize(&inode->v, iattr->ia_size);
462 if (iattr->ia_size > inode_u.bi_size)
465 iattr->ia_size - 1);
466 else if (iattr->ia_size & (PAGE_SIZE - 1))
468 round_down(iattr->ia_size, PAGE_SIZE),
469 iattr->ia_size - 1);
473 ret = bch2_truncate(c, inode_inum(inode), iattr->ia_size, &i_sectors_delta);
490 ret = bch2_setattr_nonsize(idmap, inode, iattr);