Lines Matching refs:attr
149 ei->attr |= ATTR_ARCHIVE;
171 ep->dentry.file.attr = cpu_to_le16(ei->attr);
284 int exfat_setattr(struct dentry *dentry, struct iattr *attr)
291 if ((attr->ia_valid & ATTR_SIZE) &&
292 attr->ia_size > i_size_read(inode)) {
293 error = exfat_cont_expand(inode, attr->ia_size);
294 if (error || attr->ia_valid == ATTR_SIZE)
296 attr->ia_valid &= ~ATTR_SIZE;
300 ia_valid = attr->ia_valid;
303 attr->ia_valid &= ~(ATTR_MTIME_SET | ATTR_ATIME_SET |
307 error = setattr_prepare(dentry, attr);
308 attr->ia_valid = ia_valid;
312 if (((attr->ia_valid & ATTR_UID) &&
313 !uid_eq(attr->ia_uid, sbi->options.fs_uid)) ||
314 ((attr->ia_valid & ATTR_GID) &&
315 !gid_eq(attr->ia_gid, sbi->options.fs_gid)) ||
316 ((attr->ia_valid & ATTR_MODE) &&
317 (attr->ia_mode & ~(S_IFREG | S_IFLNK | S_IFDIR | 0777)))) {
326 if (attr->ia_valid & ATTR_MODE) {
327 if (exfat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0)
328 attr->ia_valid &= ~ATTR_MODE;
331 if (attr->ia_valid & ATTR_SIZE) {
332 error = exfat_block_truncate_page(inode, attr->ia_size);
337 truncate_setsize(inode, attr->ia_size);
338 exfat_truncate(inode, attr->ia_size);
342 setattr_copy(inode, attr);