Lines Matching refs:attr
613 nfs_setattr(struct dentry *dentry, struct iattr *attr)
622 if (attr->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID))
623 attr->ia_valid &= ~ATTR_MODE;
625 if (attr->ia_valid & ATTR_SIZE) {
628 error = inode_newsize_ok(inode, attr->ia_size);
632 if (attr->ia_size == i_size_read(inode))
633 attr->ia_valid &= ~ATTR_SIZE;
637 attr->ia_valid &= NFS_VALID_ATTRS;
638 if ((attr->ia_valid & ~(ATTR_FILE|ATTR_OPEN)) == 0)
653 error = NFS_PROTO(inode)->setattr(dentry, fattr, attr);
698 * @attr: pointer to struct iattr
704 void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr,
712 if ((attr->ia_valid & ATTR_SIZE) != 0) {
715 nfs_vmtruncate(inode, attr->ia_size);
717 if ((attr->ia_valid & (ATTR_MODE|ATTR_UID|ATTR_GID)) != 0) {
719 if ((attr->ia_valid & ATTR_MODE) != 0) {
720 int mode = attr->ia_mode & S_IALLUGO;
724 if ((attr->ia_valid & ATTR_UID) != 0)
725 inode->i_uid = attr->ia_uid;
726 if ((attr->ia_valid & ATTR_GID) != 0)
727 inode->i_gid = attr->ia_gid;
736 if (attr->ia_valid & (ATTR_ATIME_SET|ATTR_ATIME)) {
741 else if (attr->ia_valid & ATTR_ATIME_SET)
742 inode->i_atime = attr->ia_atime;
752 if (attr->ia_valid & (ATTR_MTIME_SET|ATTR_MTIME)) {
757 else if (attr->ia_valid & ATTR_MTIME_SET)
758 inode->i_mtime = attr->ia_mtime;