Lines Matching refs:iap

368 nfsd_sanitize_attrs(struct inode *inode, struct iattr *iap)  in nfsd_sanitize_attrs()  argument
372 iap->ia_valid &= ~ATTR_MODE; in nfsd_sanitize_attrs()
375 if (iap->ia_valid & ATTR_MODE) { in nfsd_sanitize_attrs()
376 iap->ia_mode &= S_IALLUGO; in nfsd_sanitize_attrs()
377 iap->ia_mode |= (inode->i_mode & ~S_IALLUGO); in nfsd_sanitize_attrs()
382 ((iap->ia_valid & ATTR_UID) || (iap->ia_valid & ATTR_GID))) { in nfsd_sanitize_attrs()
383 iap->ia_valid |= ATTR_KILL_PRIV; in nfsd_sanitize_attrs()
384 if (iap->ia_valid & ATTR_MODE) { in nfsd_sanitize_attrs()
386 iap->ia_mode &= ~S_ISUID; in nfsd_sanitize_attrs()
387 if (iap->ia_mode & S_IXGRP) in nfsd_sanitize_attrs()
388 iap->ia_mode &= ~S_ISGID; in nfsd_sanitize_attrs()
391 iap->ia_valid |= (ATTR_KILL_SUID | ATTR_KILL_SGID); in nfsd_sanitize_attrs()
398 struct iattr *iap) in nfsd_get_write_access() argument
402 if (iap->ia_size < inode->i_size) { in nfsd_get_write_access()
413 static int __nfsd_setattr(struct dentry *dentry, struct iattr *iap) in __nfsd_setattr() argument
417 if (iap->ia_valid & ATTR_SIZE) { in __nfsd_setattr()
427 .ia_size = iap->ia_size, in __nfsd_setattr()
430 if (iap->ia_size < 0) in __nfsd_setattr()
436 iap->ia_valid &= ~ATTR_SIZE; in __nfsd_setattr()
443 if ((iap->ia_valid & ~ATTR_MTIME) == 0) in __nfsd_setattr()
447 if (!iap->ia_valid) in __nfsd_setattr()
450 iap->ia_valid |= ATTR_CTIME; in __nfsd_setattr()
451 return notify_change(&nop_mnt_idmap, dentry, iap, NULL); in __nfsd_setattr()
476 struct iattr *iap = attr->na_iattr; in nfsd_setattr() local
482 bool size_change = (iap->ia_valid & ATTR_SIZE); in nfsd_setattr()
485 if (iap->ia_valid & ATTR_SIZE) { in nfsd_setattr()
497 if (iap->ia_valid & (ATTR_ATIME | ATTR_MTIME)) { in nfsd_setattr()
499 if (!(iap->ia_valid & (ATTR_ATIME_SET | ATTR_MTIME_SET))) in nfsd_setattr()
519 nfsd_sanitize_attrs(inode, iap); in nfsd_setattr()
532 err = nfsd_get_write_access(rqstp, fhp, iap); in nfsd_setattr()
539 host_err = __nfsd_setattr(dentry, iap); in nfsd_setattr()
1285 struct iattr *iap = attrs->na_iattr; in nfsd_create_setattr() local
1291 iap->ia_valid &= ~ATTR_MODE; in nfsd_create_setattr()
1299 iap->ia_valid &= ~(ATTR_UID|ATTR_GID); in nfsd_create_setattr()
1305 if (iap->ia_valid) in nfsd_create_setattr()
1336 nfsd_check_ignore_resizing(struct iattr *iap) in nfsd_check_ignore_resizing() argument
1338 if ((iap->ia_valid & ATTR_SIZE) && (iap->ia_size == 0)) in nfsd_check_ignore_resizing()
1339 iap->ia_valid &= ~ATTR_SIZE; in nfsd_check_ignore_resizing()
1350 struct iattr *iap = attrs->na_iattr; in nfsd_create_locked() local
1362 if (!(iap->ia_valid & ATTR_MODE)) in nfsd_create_locked()
1363 iap->ia_mode = 0; in nfsd_create_locked()
1364 iap->ia_mode = (iap->ia_mode & S_IALLUGO) | type; in nfsd_create_locked()
1367 iap->ia_mode &= ~current_umask(); in nfsd_create_locked()
1373 iap->ia_mode, true); in nfsd_create_locked()
1375 nfsd_check_ignore_resizing(iap); in nfsd_create_locked()
1378 host_err = vfs_mkdir(&nop_mnt_idmap, dirp, dchild, iap->ia_mode); in nfsd_create_locked()
1407 iap->ia_mode, rdev); in nfsd_create_locked()