Lines Matching refs:attrs
1033 cifs_set_file_info(struct inode *inode, struct iattr *attrs, unsigned int xid, argument
1041 if (attrs == NULL)
1048 if (attrs->ia_valid & ATTR_ATIME) {
1051 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_atime));
1055 if (attrs->ia_valid & ATTR_MTIME) {
1058 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_mtime));
1068 if (set_time && (attrs->ia_valid & ATTR_CTIME)) {
1071 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_ctime));
1241 struct iattr *attrs = NULL; local
1294 attrs = kzalloc(sizeof(*attrs), GFP_KERNEL);
1295 if (attrs == NULL) {
1310 rc = cifs_set_file_info(inode, attrs, xid, full_path, dosattr);
1319 cifs_set_file_info(inode, attrs, xid, full_path, origattr);
1333 kfree(attrs);
2027 cifs_set_file_size(struct inode *inode, struct iattr *attrs, argument
2053 attrs->ia_size, false);
2079 attrs->ia_size, cifs_sb, false);
2089 cifsInode->server_eof = attrs->ia_size;
2090 cifs_setsize(inode, attrs->ia_size);
2098 cifs_setattr_unix(struct dentry *direntry, struct iattr *attrs) argument
2112 direntry, attrs->ia_valid);
2117 attrs->ia_valid |= ATTR_FORCE;
2119 rc = inode_change_ok(inode, attrs);
2144 if (attrs->ia_valid & ATTR_SIZE) {
2145 rc = cifs_set_file_size(inode, attrs, xid, full_path);
2151 if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
2152 attrs->ia_valid &= ~ATTR_MODE;
2161 if (attrs->ia_valid & ATTR_MODE)
2162 args->mode = attrs->ia_mode;
2166 if (attrs->ia_valid & ATTR_UID)
2167 args->uid = attrs->ia_uid;
2171 if (attrs->ia_valid & ATTR_GID)
2172 args->gid = attrs->ia_gid;
2176 if (attrs->ia_valid & ATTR_ATIME)
2177 args->atime = cifs_UnixTimeToNT(attrs->ia_atime);
2181 if (attrs->ia_valid & ATTR_MTIME)
2182 args->mtime = cifs_UnixTimeToNT(attrs->ia_mtime);
2186 if (attrs->ia_valid & ATTR_CTIME)
2187 args->ctime = cifs_UnixTimeToNT(attrs->ia_ctime);
2215 if ((attrs->ia_valid & ATTR_SIZE) &&
2216 attrs->ia_size != i_size_read(inode))
2217 truncate_setsize(inode, attrs->ia_size);
2219 setattr_copy(inode, attrs);
2228 if (attrs->ia_valid & (ATTR_MTIME | ATTR_CTIME))
2238 cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs) argument
2254 direntry, attrs->ia_valid);
2257 attrs->ia_valid |= ATTR_FORCE;
2259 rc = inode_change_ok(inode, attrs);
2287 if (attrs->ia_valid & ATTR_SIZE) {
2288 rc = cifs_set_file_size(inode, attrs, xid, full_path);
2293 if (attrs->ia_valid & ATTR_UID)
2294 uid = attrs->ia_uid;
2296 if (attrs->ia_valid & ATTR_GID)
2297 gid = attrs->ia_gid;
2313 attrs->ia_valid &= ~(ATTR_UID | ATTR_GID);
2316 if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
2317 attrs->ia_valid &= ~ATTR_MODE;
2319 if (attrs->ia_valid & ATTR_MODE) {
2320 mode = attrs->ia_mode;
2340 attrs->ia_mode = inode->i_mode & ~S_IWUGO;
2351 attrs->ia_mode &= ~(S_IALLUGO);
2353 attrs->ia_mode |=
2356 attrs->ia_mode |=
2361 attrs->ia_valid &= ~ATTR_MODE;
2365 if (attrs->ia_valid & (ATTR_MTIME|ATTR_ATIME|ATTR_CTIME) ||
2366 ((attrs->ia_valid & ATTR_MODE) && dosattr)) {
2367 rc = cifs_set_file_info(inode, attrs, xid, full_path, dosattr);
2375 if ((rc) && (attrs->ia_valid &
2385 if ((attrs->ia_valid & ATTR_SIZE) &&
2386 attrs->ia_size != i_size_read(inode))
2387 truncate_setsize(inode, attrs->ia_size);
2389 setattr_copy(inode, attrs);
2399 cifs_setattr(struct dentry *direntry, struct iattr *attrs) argument
2406 return cifs_setattr_unix(direntry, attrs);
2408 return cifs_setattr_nounix(direntry, attrs);