Lines Matching refs:attrs
1136 cifs_set_file_info(struct inode *inode, struct iattr *attrs, unsigned int xid, argument
1144 if (attrs == NULL)
1153 if (attrs->ia_valid & ATTR_ATIME) {
1156 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_atime));
1160 if (attrs->ia_valid & ATTR_MTIME) {
1163 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_mtime));
1173 if (set_time && (attrs->ia_valid & ATTR_CTIME)) {
1176 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_ctime));
1346 struct iattr *attrs = NULL; local
1399 attrs = kzalloc(sizeof(*attrs), GFP_KERNEL);
1400 if (attrs == NULL) {
1415 rc = cifs_set_file_info(inode, attrs, xid, full_path, dosattr);
1424 cifs_set_file_info(inode, attrs, xid, full_path, origattr);
1438 kfree(attrs);
2199 cifs_set_file_size(struct inode *inode, struct iattr *attrs, argument
2225 attrs->ia_size, false);
2251 attrs->ia_size, cifs_sb, false);
2261 cifsInode->server_eof = attrs->ia_size;
2262 cifs_setsize(inode, attrs->ia_size);
2270 cifs_setattr_unix(struct dentry *direntry, struct iattr *attrs) argument
2284 direntry, attrs->ia_valid);
2289 attrs->ia_valid |= ATTR_FORCE;
2291 rc = setattr_prepare(direntry, attrs);
2321 if (attrs->ia_valid & ATTR_SIZE) {
2322 rc = cifs_set_file_size(inode, attrs, xid, full_path);
2328 if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
2329 attrs->ia_valid &= ~ATTR_MODE;
2338 if (attrs->ia_valid & ATTR_MODE)
2339 args->mode = attrs->ia_mode;
2343 if (attrs->ia_valid & ATTR_UID)
2344 args->uid = attrs->ia_uid;
2348 if (attrs->ia_valid & ATTR_GID)
2349 args->gid = attrs->ia_gid;
2353 if (attrs->ia_valid & ATTR_ATIME)
2354 args->atime = cifs_UnixTimeToNT(attrs->ia_atime);
2358 if (attrs->ia_valid & ATTR_MTIME)
2359 args->mtime = cifs_UnixTimeToNT(attrs->ia_mtime);
2363 if (attrs->ia_valid & ATTR_CTIME)
2364 args->ctime = cifs_UnixTimeToNT(attrs->ia_ctime);
2392 if ((attrs->ia_valid & ATTR_SIZE) &&
2393 attrs->ia_size != i_size_read(inode))
2394 truncate_setsize(inode, attrs->ia_size);
2396 setattr_copy(inode, attrs);
2405 if (attrs->ia_valid & (ATTR_MTIME | ATTR_CTIME))
2415 cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs) argument
2433 direntry, attrs->ia_valid);
2436 attrs->ia_valid |= ATTR_FORCE;
2438 rc = setattr_prepare(direntry, attrs);
2471 if (attrs->ia_valid & ATTR_MTIME) {
2485 if (attrs->ia_valid & ATTR_SIZE) {
2486 rc = cifs_set_file_size(inode, attrs, xid, full_path);
2491 if (attrs->ia_valid & ATTR_UID)
2492 uid = attrs->ia_uid;
2494 if (attrs->ia_valid & ATTR_GID)
2495 gid = attrs->ia_gid;
2510 attrs->ia_valid &= ~(ATTR_UID | ATTR_GID);
2513 if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
2514 attrs->ia_valid &= ~ATTR_MODE;
2516 if (attrs->ia_valid & ATTR_MODE) {
2517 mode = attrs->ia_mode;
2536 attrs->ia_mode = inode->i_mode & ~S_IWUGO;
2547 attrs->ia_mode &= ~(S_IALLUGO);
2549 attrs->ia_mode |=
2552 attrs->ia_mode |=
2557 attrs->ia_valid &= ~ATTR_MODE;
2561 if (attrs->ia_valid & (ATTR_MTIME|ATTR_ATIME|ATTR_CTIME) ||
2562 ((attrs->ia_valid & ATTR_MODE) && dosattr)) {
2563 rc = cifs_set_file_info(inode, attrs, xid, full_path, dosattr);
2571 if ((rc) && (attrs->ia_valid &
2581 if ((attrs->ia_valid & ATTR_SIZE) &&
2582 attrs->ia_size != i_size_read(inode))
2583 truncate_setsize(inode, attrs->ia_size);
2585 setattr_copy(inode, attrs);
2595 cifs_setattr(struct dentry *direntry, struct iattr *attrs) argument
2601 return cifs_setattr_unix(direntry, attrs);
2603 return cifs_setattr_nounix(direntry, attrs);