Lines Matching refs:attr

241 			    (bool) IS_AUTOMOUNT(inode) != (bool) (outarg.attr.flags & FUSE_ATTR_SUBMOUNT)) {
253 if (ret || fuse_invalid_attr(&outarg.attr) ||
254 fuse_stale_inode(inode, outarg.generation, &outarg.attr))
258 fuse_change_attributes(inode, &outarg.attr, NULL,
358 bool fuse_invalid_attr(struct fuse_attr *attr)
360 return !fuse_valid_type(attr->mode) || !fuse_valid_size(attr->size);
392 if (fuse_invalid_attr(&outarg->attr))
400 &outarg->attr, ATTR_TIMEOUT(outarg),
679 if (!S_ISREG(outentry.attr.mode) || invalid_nodeid(outentry.nodeid) ||
680 fuse_invalid_attr(&outentry.attr))
687 &outentry.attr, ATTR_TIMEOUT(&outentry), 0);
808 if (invalid_nodeid(outarg.nodeid) || fuse_invalid_attr(&outarg.attr))
811 if ((outarg.attr.mode ^ mode) & S_IFMT)
815 &outarg.attr, ATTR_TIMEOUT(&outarg), 0);
1127 static void fuse_fillattr(struct inode *inode, struct fuse_attr *attr,
1134 stat->ino = attr->ino;
1135 stat->mode = (inode->i_mode & S_IFMT) | (attr->mode & 07777);
1136 stat->nlink = attr->nlink;
1137 stat->uid = make_kuid(fc->user_ns, attr->uid);
1138 stat->gid = make_kgid(fc->user_ns, attr->gid);
1140 stat->atime.tv_sec = attr->atime;
1141 stat->atime.tv_nsec = attr->atimensec;
1142 stat->mtime.tv_sec = attr->mtime;
1143 stat->mtime.tv_nsec = attr->mtimensec;
1144 stat->ctime.tv_sec = attr->ctime;
1145 stat->ctime.tv_nsec = attr->ctimensec;
1146 stat->size = attr->size;
1147 stat->blocks = attr->blocks;
1149 if (attr->blksize != 0)
1150 blkbits = ilog2(attr->blksize);
1157 static void fuse_statx_to_attr(struct fuse_statx *sx, struct fuse_attr *attr)
1159 memset(attr, 0, sizeof(*attr));
1160 attr->ino = sx->ino;
1161 attr->size = sx->size;
1162 attr->blocks = sx->blocks;
1163 attr->atime = sx->atime.tv_sec;
1164 attr->mtime = sx->mtime.tv_sec;
1165 attr->ctime = sx->ctime.tv_sec;
1166 attr->atimensec = sx->atime.tv_nsec;
1167 attr->mtimensec = sx->mtime.tv_nsec;
1168 attr->ctimensec = sx->ctime.tv_nsec;
1169 attr->mode = sx->mode;
1170 attr->nlink = sx->nlink;
1171 attr->uid = sx->uid;
1172 attr->gid = sx->gid;
1173 attr->rdev = new_encode_dev(MKDEV(sx->rdev_major, sx->rdev_minor));
1174 attr->blksize = sx->blksize;
1181 struct fuse_attr attr;
1221 fuse_statx_to_attr(&outarg.stat, &attr);
1223 fuse_change_attributes(inode, &attr, &outarg.stat,
1231 fuse_fillattr(inode, &attr, stat);
1269 if (fuse_invalid_attr(&outarg.attr) ||
1270 inode_wrong_type(inode, outarg.attr.mode)) {
1274 fuse_change_attributes(inode, &outarg.attr, NULL,
1278 fuse_fillattr(inode, &outarg.attr, stat);
1843 int fuse_do_setattr(struct dentry *dentry, struct iattr *attr,
1862 attr->ia_valid |= ATTR_FORCE;
1864 err = setattr_prepare(&nop_mnt_idmap, dentry, attr);
1868 if (attr->ia_valid & ATTR_SIZE) {
1884 if (attr->ia_valid & ATTR_OPEN) {
1886 WARN_ON(!(attr->ia_valid & ATTR_SIZE));
1887 WARN_ON(attr->ia_size != 0);
1903 attr->ia_valid &
1917 if (trust_local_cmtime && attr->ia_size != inode->i_size)
1918 attr->ia_valid |= ATTR_MTIME | ATTR_CTIME;
1923 iattr_to_fattr(fc, attr, &inarg, trust_local_cmtime);
1932 attr->ia_valid & (ATTR_UID | ATTR_GID))
1935 if (attr->ia_valid & ATTR_SIZE) {
1952 if (fuse_invalid_attr(&outarg.attr) ||
1953 inode_wrong_type(inode, outarg.attr.mode)) {
1962 if (attr->ia_valid & ATTR_MTIME)
1963 inode->i_mtime = attr->ia_mtime;
1964 if (attr->ia_valid & ATTR_CTIME)
1965 inode_set_ctime_to_ts(inode, attr->ia_ctime);
1969 fuse_change_attributes_common(inode, &outarg.attr, NULL,
1975 i_size_write(inode, outarg.attr.size);
1988 S_ISREG(inode->i_mode) && oldsize != outarg.attr.size) {
1989 truncate_pagecache(inode, outarg.attr.size);
2012 struct iattr *attr)
2016 struct file *file = (attr->ia_valid & ATTR_FILE) ? attr->ia_file : NULL;
2025 if (attr->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID)) {
2026 attr->ia_valid &= ~(ATTR_KILL_SUID | ATTR_KILL_SGID |
2044 attr->ia_mode = inode->i_mode;
2046 attr->ia_valid |= ATTR_MODE;
2047 attr->ia_mode &= ~S_ISUID;
2050 attr->ia_valid |= ATTR_MODE;
2051 attr->ia_mode &= ~S_ISGID;
2055 if (!attr->ia_valid)
2058 ret = fuse_do_setattr(entry, attr, file);
2068 if (d_is_dir(entry) && (attr->ia_valid & ATTR_MODE))