Lines Matching refs:attr
20 u32 attr; in fat_ioctl_get_attributes() local
23 attr = fat_make_attrs(inode); in fat_ioctl_get_attributes()
26 return put_user(attr, user_attr); in fat_ioctl_get_attributes()
34 u32 attr, oldattr; in fat_ioctl_set_attributes() local
38 err = get_user(attr, user_attr); in fat_ioctl_set_attributes()
53 attr &= 0xff & ~(ATTR_VOLUME | ATTR_DIR); in fat_ioctl_set_attributes()
55 attr |= (MSDOS_I(inode)->i_attrs & ATTR_VOLUME) | in fat_ioctl_set_attributes()
63 ia.ia_mode = fat_make_mode(sbi, attr, S_IRWXUGO); in fat_ioctl_set_attributes()
65 ia.ia_mode = fat_make_mode(sbi, attr, in fat_ioctl_set_attributes()
70 if (inode->i_ino == MSDOS_ROOT_INO && attr != ATTR_DIR) { in fat_ioctl_set_attributes()
76 ((attr | oldattr) & ATTR_SYS) && in fat_ioctl_set_attributes()
98 if (attr & ATTR_SYS) in fat_ioctl_set_attributes()
104 fat_save_attrs(inode, attr); in fat_ioctl_set_attributes()
377 int fat_setattr(struct dentry *dentry, struct iattr *attr) in fat_setattr() argument
385 ia_valid = attr->ia_valid; in fat_setattr()
388 attr->ia_valid &= ~TIMES_SET_FLAGS; in fat_setattr()
391 error = inode_change_ok(inode, attr); in fat_setattr()
392 attr->ia_valid = ia_valid; in fat_setattr()
405 if (attr->ia_valid & ATTR_SIZE) { in fat_setattr()
408 if (attr->ia_size > inode->i_size) { in fat_setattr()
409 error = fat_cont_expand(inode, attr->ia_size); in fat_setattr()
410 if (error || attr->ia_valid == ATTR_SIZE) in fat_setattr()
412 attr->ia_valid &= ~ATTR_SIZE; in fat_setattr()
416 if (((attr->ia_valid & ATTR_UID) && in fat_setattr()
417 (!uid_eq(attr->ia_uid, sbi->options.fs_uid))) || in fat_setattr()
418 ((attr->ia_valid & ATTR_GID) && in fat_setattr()
419 (!gid_eq(attr->ia_gid, sbi->options.fs_gid))) || in fat_setattr()
420 ((attr->ia_valid & ATTR_MODE) && in fat_setattr()
421 (attr->ia_mode & ~FAT_VALID_MODE))) in fat_setattr()
434 if (attr->ia_valid & ATTR_MODE) { in fat_setattr()
435 if (fat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0) in fat_setattr()
436 attr->ia_valid &= ~ATTR_MODE; in fat_setattr()
439 if (attr->ia_valid & ATTR_SIZE) { in fat_setattr()
440 error = fat_block_truncate_page(inode, attr->ia_size); in fat_setattr()
444 truncate_setsize(inode, attr->ia_size); in fat_setattr()
445 fat_truncate_blocks(inode, attr->ia_size); in fat_setattr()
449 setattr_copy(inode, attr); in fat_setattr()