Lines Matching refs:iap

303 nfsd_sanitize_attrs(struct inode *inode, struct iattr *iap)  in nfsd_sanitize_attrs()  argument
306 if (iap->ia_valid & ATTR_MODE) { in nfsd_sanitize_attrs()
307 iap->ia_mode &= S_IALLUGO; in nfsd_sanitize_attrs()
308 iap->ia_mode |= (inode->i_mode & ~S_IALLUGO); in nfsd_sanitize_attrs()
313 ((iap->ia_valid & ATTR_UID) || (iap->ia_valid & ATTR_GID))) { in nfsd_sanitize_attrs()
314 iap->ia_valid |= ATTR_KILL_PRIV; in nfsd_sanitize_attrs()
315 if (iap->ia_valid & ATTR_MODE) { in nfsd_sanitize_attrs()
317 iap->ia_mode &= ~S_ISUID; in nfsd_sanitize_attrs()
318 if (iap->ia_mode & S_IXGRP) in nfsd_sanitize_attrs()
319 iap->ia_mode &= ~S_ISGID; in nfsd_sanitize_attrs()
322 iap->ia_valid |= (ATTR_KILL_SUID | ATTR_KILL_SGID); in nfsd_sanitize_attrs()
329 struct iattr *iap) in nfsd_get_write_access() argument
334 if (iap->ia_size < inode->i_size) { in nfsd_get_write_access()
347 host_err = locks_verify_truncate(inode, NULL, iap->ia_size); in nfsd_get_write_access()
362 nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, struct iattr *iap, in nfsd_setattr() argument
374 if (iap->ia_valid & (ATTR_ATIME | ATTR_MTIME | ATTR_SIZE)) in nfsd_setattr()
376 if (iap->ia_valid & ATTR_SIZE) in nfsd_setattr()
397 iap->ia_valid &= ~ATTR_MODE; in nfsd_setattr()
399 if (!iap->ia_valid) in nfsd_setattr()
402 nfsd_sanitize_attrs(inode, iap); in nfsd_setattr()
408 if (iap->ia_valid & ATTR_SIZE) { in nfsd_setattr()
409 err = nfsd_get_write_access(rqstp, fhp, iap); in nfsd_setattr()
421 if (iap->ia_size != i_size_read(inode)) in nfsd_setattr()
422 iap->ia_valid |= ATTR_MTIME; in nfsd_setattr()
425 iap->ia_valid |= ATTR_CTIME; in nfsd_setattr()
433 host_err = notify_change(dentry, iap, NULL); in nfsd_setattr()
1079 struct iattr *iap) in nfsd_create_setattr() argument
1084 iap->ia_valid &= ~ATTR_MODE; in nfsd_create_setattr()
1091 iap->ia_valid &= ~(ATTR_UID|ATTR_GID); in nfsd_create_setattr()
1092 if (iap->ia_valid) in nfsd_create_setattr()
1093 return nfsd_setattr(rqstp, resfhp, iap, 0, (time_t)0); in nfsd_create_setattr()
1107 nfsd_check_ignore_resizing(struct iattr *iap) in nfsd_check_ignore_resizing() argument
1109 if ((iap->ia_valid & ATTR_SIZE) && (iap->ia_size == 0)) in nfsd_check_ignore_resizing()
1110 iap->ia_valid &= ~ATTR_SIZE; in nfsd_check_ignore_resizing()
1123 char *fname, int flen, struct iattr *iap, in nfsd_create() argument
1189 if (!(iap->ia_valid & ATTR_MODE)) in nfsd_create()
1190 iap->ia_mode = 0; in nfsd_create()
1191 iap->ia_mode = (iap->ia_mode & S_IALLUGO) | type; in nfsd_create()
1207 host_err = vfs_create(dirp, dchild, iap->ia_mode, true); in nfsd_create()
1209 nfsd_check_ignore_resizing(iap); in nfsd_create()
1212 host_err = vfs_mkdir(dirp, dchild, iap->ia_mode); in nfsd_create()
1218 host_err = vfs_mknod(dirp, dchild, iap->ia_mode, rdev); in nfsd_create()
1224 err = nfsd_create_setattr(rqstp, resfhp, iap); in nfsd_create()
1257 char *fname, int flen, struct iattr *iap, in do_nfsd_create() argument
1273 if (!(iap->ia_valid & ATTR_MODE)) in do_nfsd_create()
1274 iap->ia_mode = 0; in do_nfsd_create()
1339 *truncp = (iap->ia_valid & ATTR_SIZE) && !iap->ia_size; in do_nfsd_create()
1342 iap->ia_valid &= ATTR_SIZE; in do_nfsd_create()
1370 host_err = vfs_create(dirp, dchild, iap->ia_mode, true); in do_nfsd_create()
1378 nfsd_check_ignore_resizing(iap); in do_nfsd_create()
1382 iap->ia_valid = ATTR_MTIME|ATTR_ATIME in do_nfsd_create()
1385 iap->ia_mtime.tv_sec = v_mtime; in do_nfsd_create()
1386 iap->ia_atime.tv_sec = v_atime; in do_nfsd_create()
1387 iap->ia_mtime.tv_nsec = 0; in do_nfsd_create()
1388 iap->ia_atime.tv_nsec = 0; in do_nfsd_create()
1392 err = nfsd_create_setattr(rqstp, resfhp, iap); in do_nfsd_create()