Lines Matching defs:iap
368 nfsd_sanitize_attrs(struct inode *inode, struct iattr *iap)
372 iap->ia_valid &= ~ATTR_MODE;
375 if (iap->ia_valid & ATTR_MODE) {
376 iap->ia_mode &= S_IALLUGO;
377 iap->ia_mode |= (inode->i_mode & ~S_IALLUGO);
382 ((iap->ia_valid & ATTR_UID) || (iap->ia_valid & ATTR_GID))) {
383 iap->ia_valid |= ATTR_KILL_PRIV;
384 if (iap->ia_valid & ATTR_MODE) {
386 iap->ia_mode &= ~S_ISUID;
387 if (iap->ia_mode & S_IXGRP)
388 iap->ia_mode &= ~S_ISGID;
391 iap->ia_valid |= ATTR_KILL_SUID;
392 iap->ia_valid |=
400 struct iattr *iap)
404 if (iap->ia_size < inode->i_size) {
415 static int __nfsd_setattr(struct dentry *dentry, struct iattr *iap)
419 if (iap->ia_valid & ATTR_SIZE) {
429 .ia_size = iap->ia_size,
432 if (iap->ia_size < 0)
438 iap->ia_valid &= ~ATTR_SIZE;
445 if ((iap->ia_valid & ~ATTR_MTIME) == 0)
449 if (!iap->ia_valid)
452 iap->ia_valid |= ATTR_CTIME;
453 return notify_change(&nop_mnt_idmap, dentry, iap, NULL);
478 struct iattr *iap = attr->na_iattr;
484 bool size_change = (iap->ia_valid & ATTR_SIZE);
487 if (iap->ia_valid & ATTR_SIZE) {
499 if (iap->ia_valid & (ATTR_ATIME | ATTR_MTIME)) {
501 if (!(iap->ia_valid & (ATTR_ATIME_SET | ATTR_MTIME_SET)))
521 nfsd_sanitize_attrs(inode, iap);
534 err = nfsd_get_write_access(rqstp, fhp, iap);
545 * @iap unsuitable for submission multiple times. Make a
548 attrs = *iap;
1348 struct iattr *iap = attrs->na_iattr;
1354 iap->ia_valid &= ~ATTR_MODE;
1362 iap->ia_valid &= ~(ATTR_UID|ATTR_GID);
1368 if (iap->ia_valid)
1399 nfsd_check_ignore_resizing(struct iattr *iap)
1401 if ((iap->ia_valid & ATTR_SIZE) && (iap->ia_size == 0))
1402 iap->ia_valid &= ~ATTR_SIZE;
1413 struct iattr *iap = attrs->na_iattr;
1425 if (!(iap->ia_valid & ATTR_MODE))
1426 iap->ia_mode = 0;
1427 iap->ia_mode = (iap->ia_mode & S_IALLUGO) | type;
1430 iap->ia_mode &= ~current_umask();
1436 iap->ia_mode, true);
1438 nfsd_check_ignore_resizing(iap);
1441 host_err = vfs_mkdir(&nop_mnt_idmap, dirp, dchild, iap->ia_mode);
1470 iap->ia_mode, rdev);