• Home
  • Raw
  • Download

Lines Matching refs:attr

242 			    (bool) IS_AUTOMOUNT(inode) != (bool) (outarg.attr.flags & FUSE_ATTR_SUBMOUNT)) {  in fuse_dentry_revalidate()
254 if (ret || fuse_invalid_attr(&outarg.attr) || in fuse_dentry_revalidate()
255 fuse_stale_inode(inode, outarg.generation, &outarg.attr)) in fuse_dentry_revalidate()
259 fuse_change_attributes(inode, &outarg.attr, in fuse_dentry_revalidate()
455 bool fuse_invalid_attr(struct fuse_attr *attr) in fuse_invalid_attr() argument
457 return !fuse_valid_type(attr->mode) || in fuse_invalid_attr()
458 attr->size > LLONG_MAX; in fuse_invalid_attr()
492 if (fuse_invalid_attr(&outarg->attr)) in fuse_lookup_name()
496 &outarg->attr, entry_attr_timeout(outarg), in fuse_lookup_name()
622 if (!S_ISREG(outentry.attr.mode) || invalid_nodeid(outentry.nodeid) || in fuse_create_open()
623 fuse_invalid_attr(&outentry.attr)) in fuse_create_open()
631 &outentry.attr, entry_attr_timeout(&outentry), 0); in fuse_create_open()
742 if (invalid_nodeid(outarg.nodeid) || fuse_invalid_attr(&outarg.attr)) in create_new_entry()
745 if ((outarg.attr.mode ^ mode) & S_IFMT) in create_new_entry()
749 &outarg.attr, entry_attr_timeout(&outarg), 0); in create_new_entry()
1049 static void fuse_fillattr(struct inode *inode, struct fuse_attr *attr, in fuse_fillattr() argument
1057 attr->size = i_size_read(inode); in fuse_fillattr()
1058 attr->mtime = inode->i_mtime.tv_sec; in fuse_fillattr()
1059 attr->mtimensec = inode->i_mtime.tv_nsec; in fuse_fillattr()
1060 attr->ctime = inode->i_ctime.tv_sec; in fuse_fillattr()
1061 attr->ctimensec = inode->i_ctime.tv_nsec; in fuse_fillattr()
1065 stat->ino = attr->ino; in fuse_fillattr()
1066 stat->mode = (inode->i_mode & S_IFMT) | (attr->mode & 07777); in fuse_fillattr()
1067 stat->nlink = attr->nlink; in fuse_fillattr()
1068 stat->uid = make_kuid(fc->user_ns, attr->uid); in fuse_fillattr()
1069 stat->gid = make_kgid(fc->user_ns, attr->gid); in fuse_fillattr()
1071 stat->atime.tv_sec = attr->atime; in fuse_fillattr()
1072 stat->atime.tv_nsec = attr->atimensec; in fuse_fillattr()
1073 stat->mtime.tv_sec = attr->mtime; in fuse_fillattr()
1074 stat->mtime.tv_nsec = attr->mtimensec; in fuse_fillattr()
1075 stat->ctime.tv_sec = attr->ctime; in fuse_fillattr()
1076 stat->ctime.tv_nsec = attr->ctimensec; in fuse_fillattr()
1077 stat->size = attr->size; in fuse_fillattr()
1078 stat->blocks = attr->blocks; in fuse_fillattr()
1080 if (attr->blksize != 0) in fuse_fillattr()
1081 blkbits = ilog2(attr->blksize); in fuse_fillattr()
1119 if (fuse_invalid_attr(&outarg.attr) || in fuse_do_getattr()
1120 inode_wrong_type(inode, outarg.attr.mode)) { in fuse_do_getattr()
1124 fuse_change_attributes(inode, &outarg.attr, in fuse_do_getattr()
1128 fuse_fillattr(inode, &outarg.attr, stat); in fuse_do_getattr()
1658 int fuse_do_setattr(struct dentry *dentry, struct iattr *attr, in fuse_do_setattr() argument
1676 attr->ia_valid |= ATTR_FORCE; in fuse_do_setattr()
1678 err = setattr_prepare(dentry, attr); in fuse_do_setattr()
1682 if (attr->ia_valid & ATTR_SIZE) { in fuse_do_setattr()
1698 if (attr->ia_valid & ATTR_OPEN) { in fuse_do_setattr()
1700 WARN_ON(!(attr->ia_valid & ATTR_SIZE)); in fuse_do_setattr()
1701 WARN_ON(attr->ia_size != 0); in fuse_do_setattr()
1717 attr->ia_valid & in fuse_do_setattr()
1731 if (trust_local_cmtime && attr->ia_size != inode->i_size) in fuse_do_setattr()
1732 attr->ia_valid |= ATTR_MTIME | ATTR_CTIME; in fuse_do_setattr()
1737 iattr_to_fattr(fc, attr, &inarg, trust_local_cmtime); in fuse_do_setattr()
1743 if (attr->ia_valid & ATTR_SIZE) { in fuse_do_setattr()
1756 if (fuse_invalid_attr(&outarg.attr) || in fuse_do_setattr()
1757 inode_wrong_type(inode, outarg.attr.mode)) { in fuse_do_setattr()
1766 if (attr->ia_valid & ATTR_MTIME) in fuse_do_setattr()
1767 inode->i_mtime = attr->ia_mtime; in fuse_do_setattr()
1768 if (attr->ia_valid & ATTR_CTIME) in fuse_do_setattr()
1769 inode->i_ctime = attr->ia_ctime; in fuse_do_setattr()
1773 fuse_change_attributes_common(inode, &outarg.attr, in fuse_do_setattr()
1778 i_size_write(inode, outarg.attr.size); in fuse_do_setattr()
1791 S_ISREG(inode->i_mode) && oldsize != outarg.attr.size) { in fuse_do_setattr()
1792 truncate_pagecache(inode, outarg.attr.size); in fuse_do_setattr()
1814 static int fuse_setattr(struct dentry *entry, struct iattr *attr) in fuse_setattr() argument
1818 struct file *file = (attr->ia_valid & ATTR_FILE) ? attr->ia_file : NULL; in fuse_setattr()
1827 if (attr->ia_valid & (ATTR_KILL_SUID | ATTR_KILL_SGID)) { in fuse_setattr()
1828 attr->ia_valid &= ~(ATTR_KILL_SUID | ATTR_KILL_SGID | in fuse_setattr()
1846 attr->ia_mode = inode->i_mode; in fuse_setattr()
1848 attr->ia_valid |= ATTR_MODE; in fuse_setattr()
1849 attr->ia_mode &= ~S_ISUID; in fuse_setattr()
1852 attr->ia_valid |= ATTR_MODE; in fuse_setattr()
1853 attr->ia_mode &= ~S_ISGID; in fuse_setattr()
1857 if (!attr->ia_valid) in fuse_setattr()
1860 ret = fuse_do_setattr(entry, attr, file); in fuse_setattr()
1870 if (d_is_dir(entry) && (attr->ia_valid & ATTR_MODE)) in fuse_setattr()