Lines Matching defs:attrs

1403 cifs_set_file_info(struct inode *inode, struct iattr *attrs, unsigned int xid,
1411 if (attrs == NULL)
1420 if (attrs->ia_valid & ATTR_ATIME) {
1423 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_atime));
1427 if (attrs->ia_valid & ATTR_MTIME) {
1430 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_mtime));
1440 if (set_time && (attrs->ia_valid & ATTR_CTIME)) {
1443 cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_ctime));
1613 struct iattr *attrs = NULL;
1671 attrs = kzalloc(sizeof(*attrs), GFP_KERNEL);
1672 if (attrs == NULL) {
1687 rc = cifs_set_file_info(inode, attrs, xid, full_path, dosattr);
1696 cifs_set_file_info(inode, attrs, xid, full_path, origattr);
1710 kfree(attrs);
2503 cifs_set_file_size(struct inode *inode, struct iattr *attrs,
2529 attrs->ia_size, false);
2533 cifs_dbg(FYI, "SetFSize for attrs rc = %d\n", rc);
2555 attrs->ia_size, cifs_sb, false);
2565 cifsInode->server_eof = attrs->ia_size;
2566 cifs_setsize(inode, attrs->ia_size);
2574 inode->i_blocks = (512 - 1 + attrs->ia_size) >> 9;
2581 attrs->ia_ctime = attrs->ia_mtime = current_time(inode);
2582 attrs->ia_valid |= ATTR_CTIME | ATTR_MTIME;
2591 cifs_setattr_unix(struct dentry *direntry, struct iattr *attrs)
2604 cifs_dbg(FYI, "setattr_unix on file %pd attrs->ia_valid=0x%x\n",
2605 direntry, attrs->ia_valid);
2610 attrs->ia_valid |= ATTR_FORCE;
2612 rc = setattr_prepare(direntry, attrs);
2642 if (attrs->ia_valid & ATTR_SIZE) {
2643 rc = cifs_set_file_size(inode, attrs, xid, full_path);
2649 if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
2650 attrs->ia_valid &= ~ATTR_MODE;
2659 if (attrs->ia_valid & ATTR_MODE)
2660 args->mode = attrs->ia_mode;
2664 if (attrs->ia_valid & ATTR_UID)
2665 args->uid = attrs->ia_uid;
2669 if (attrs->ia_valid & ATTR_GID)
2670 args->gid = attrs->ia_gid;
2674 if (attrs->ia_valid & ATTR_ATIME)
2675 args->atime = cifs_UnixTimeToNT(attrs->ia_atime);
2679 if (attrs->ia_valid & ATTR_MTIME)
2680 args->mtime = cifs_UnixTimeToNT(attrs->ia_mtime);
2684 if (attrs->ia_valid & ATTR_CTIME)
2685 args->ctime = cifs_UnixTimeToNT(attrs->ia_ctime);
2713 if ((attrs->ia_valid & ATTR_SIZE) &&
2714 attrs->ia_size != i_size_read(inode))
2715 truncate_setsize(inode, attrs->ia_size);
2717 setattr_copy(inode, attrs);
2726 if (attrs->ia_valid & (ATTR_MTIME | ATTR_CTIME))
2736 cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs)
2753 cifs_dbg(FYI, "setattr on file %pd attrs->ia_valid 0x%x\n",
2754 direntry, attrs->ia_valid);
2757 attrs->ia_valid |= ATTR_FORCE;
2759 rc = setattr_prepare(direntry, attrs);
2781 if (attrs->ia_valid & (ATTR_MTIME | ATTR_SIZE | ATTR_CTIME)) {
2792 if ((attrs->ia_valid & ATTR_MTIME) &&
2807 if (attrs->ia_valid & ATTR_SIZE) {
2808 rc = cifs_set_file_size(inode, attrs, xid, full_path);
2813 if (attrs->ia_valid & ATTR_UID)
2814 uid = attrs->ia_uid;
2816 if (attrs->ia_valid & ATTR_GID)
2817 gid = attrs->ia_gid;
2832 attrs->ia_valid &= ~(ATTR_UID | ATTR_GID);
2835 if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
2836 attrs->ia_valid &= ~ATTR_MODE;
2838 if (attrs->ia_valid & ATTR_MODE) {
2839 mode = attrs->ia_mode;
2858 attrs->ia_mode = inode->i_mode & ~S_IWUGO;
2869 attrs->ia_mode &= ~(S_IALLUGO);
2871 attrs->ia_mode |=
2874 attrs->ia_mode |=
2879 attrs->ia_valid &= ~ATTR_MODE;
2883 if (attrs->ia_valid & (ATTR_MTIME|ATTR_ATIME|ATTR_CTIME) ||
2884 ((attrs->ia_valid & ATTR_MODE) && dosattr)) {
2885 rc = cifs_set_file_info(inode, attrs, xid, full_path, dosattr);
2893 if ((rc) && (attrs->ia_valid &
2903 if ((attrs->ia_valid & ATTR_SIZE) &&
2904 attrs->ia_size != i_size_read(inode))
2905 truncate_setsize(inode, attrs->ia_size);
2907 setattr_copy(inode, attrs);
2917 cifs_setattr(struct dentry *direntry, struct iattr *attrs)
2925 rc = cifs_setattr_unix(direntry, attrs);
2927 rc = cifs_setattr_nounix(direntry, attrs);