Lines Matching refs:attr
21 u32 attr; in fat_ioctl_get_attributes() local
24 attr = fat_make_attrs(inode); in fat_ioctl_get_attributes()
27 return put_user(attr, user_attr); in fat_ioctl_get_attributes()
35 u32 attr, oldattr; in fat_ioctl_set_attributes() local
39 err = get_user(attr, user_attr); in fat_ioctl_set_attributes()
54 attr &= 0xff & ~(ATTR_VOLUME | ATTR_DIR); in fat_ioctl_set_attributes()
56 attr |= (MSDOS_I(inode)->i_attrs & ATTR_VOLUME) | in fat_ioctl_set_attributes()
64 ia.ia_mode = fat_make_mode(sbi, attr, S_IRWXUGO); in fat_ioctl_set_attributes()
66 ia.ia_mode = fat_make_mode(sbi, attr, in fat_ioctl_set_attributes()
71 if (inode->i_ino == MSDOS_ROOT_INO && attr != ATTR_DIR) { in fat_ioctl_set_attributes()
77 ((attr | oldattr) & ATTR_SYS) && in fat_ioctl_set_attributes()
99 if (attr & ATTR_SYS) in fat_ioctl_set_attributes()
105 fat_save_attrs(inode, attr); in fat_ioctl_set_attributes()
378 int fat_setattr(struct dentry *dentry, struct iattr *attr) in fat_setattr() argument
386 ia_valid = attr->ia_valid; in fat_setattr()
389 attr->ia_valid &= ~TIMES_SET_FLAGS; in fat_setattr()
392 error = inode_change_ok(inode, attr); in fat_setattr()
393 attr->ia_valid = ia_valid; in fat_setattr()
406 if (attr->ia_valid & ATTR_SIZE) { in fat_setattr()
409 if (attr->ia_size > inode->i_size) { in fat_setattr()
410 error = fat_cont_expand(inode, attr->ia_size); in fat_setattr()
411 if (error || attr->ia_valid == ATTR_SIZE) in fat_setattr()
413 attr->ia_valid &= ~ATTR_SIZE; in fat_setattr()
417 if (((attr->ia_valid & ATTR_UID) && in fat_setattr()
418 (!uid_eq(attr->ia_uid, sbi->options.fs_uid))) || in fat_setattr()
419 ((attr->ia_valid & ATTR_GID) && in fat_setattr()
420 (!gid_eq(attr->ia_gid, sbi->options.fs_gid))) || in fat_setattr()
421 ((attr->ia_valid & ATTR_MODE) && in fat_setattr()
422 (attr->ia_mode & ~FAT_VALID_MODE))) in fat_setattr()
435 if (attr->ia_valid & ATTR_MODE) { in fat_setattr()
436 if (fat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0) in fat_setattr()
437 attr->ia_valid &= ~ATTR_MODE; in fat_setattr()
440 if (attr->ia_valid & ATTR_SIZE) { in fat_setattr()
441 error = fat_block_truncate_page(inode, attr->ia_size); in fat_setattr()
445 truncate_setsize(inode, attr->ia_size); in fat_setattr()
446 fat_truncate_blocks(inode, attr->ia_size); in fat_setattr()
450 setattr_copy(inode, attr); in fat_setattr()