Lines Matching defs:fattr

99 static void nfs_fixup_referral_attributes(struct nfs_fattr *fattr);
100 static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fattr *fattr, struct nfs4_label *label, struct inode *inode);
102 struct nfs_fattr *fattr, struct iattr *sattr,
378 static void nfs4_fattr_set_prechange(struct nfs_fattr *fattr, u64 version)
380 if (!(fattr->valid & NFS_ATTR_FATTR_PRECHANGE)) {
381 fattr->pre_change_attr = version;
382 fattr->valid |= NFS_ATTR_FATTR_PRECHANGE;
3315 nfs_fattr_init(res->fattr);
3357 struct nfs_fattr *fattr, struct iattr *sattr,
3372 .fattr = fattr,
3528 struct nfs_fattr fattr;
3581 calldata->res.fattr = NULL;
3614 nfs_refresh_inode(calldata->inode, &calldata->fattr);
3697 if (calldata->res.fattr == NULL)
3700 calldata->res.fattr = NULL;
3769 nfs_fattr_init(&calldata->fattr);
3772 calldata->res.fattr = &calldata->fattr;
3953 .fattr = info->fattr,
3969 nfs_fattr_init(info->fattr);
3982 trace_nfs4_lookup_root(server, fhandle, info->fattr, err);
4098 struct nfs_fattr *fattr = info->fattr;
4099 struct nfs4_label *label = fattr->label;
4107 error = nfs4_proc_getattr(server, mntfh, fattr, label, NULL);
4113 if (fattr->valid & NFS_ATTR_FATTR_FSID &&
4114 !nfs_fsid_equal(&server->fsid, &fattr->fsid))
4115 memcpy(&server->fsid, &fattr->fsid, sizeof(server->fsid));
4127 const struct qstr *name, struct nfs_fattr *fattr,
4150 if (nfs_fsid_equal(&NFS_SERVER(dir)->fsid, &locations->fattr.fsid)) {
4157 nfs_fixup_referral_attributes(&locations->fattr);
4160 memcpy(fattr, &locations->fattr, sizeof(struct nfs_fattr));
4170 struct nfs_fattr *fattr, struct nfs4_label *label,
4179 .fattr = fattr,
4196 nfs_fattr_init(fattr);
4203 struct nfs_fattr *fattr, struct nfs4_label *label,
4211 err = _nfs4_proc_getattr(server, fhandle, fattr, label, inode);
4212 trace_nfs4_getattr(server, fhandle, fattr, err);
4237 nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr,
4251 nfs_fattr_init(fattr);
4277 status = nfs4_do_setattr(inode, cred, fattr, sattr, ctx, NULL, label);
4279 nfs_setattr_update_inode(inode, sattr, fattr);
4280 nfs_setsecurity(inode, fattr, label);
4288 struct nfs_fattr *fattr, struct nfs4_label *label)
4299 .fattr = fattr,
4316 nfs_fattr_init(fattr);
4326 static void nfs_fixup_secinfo_attributes(struct nfs_fattr *fattr)
4328 fattr->valid |= NFS_ATTR_FATTR_TYPE | NFS_ATTR_FATTR_MODE |
4330 fattr->mode = S_IFDIR | S_IRUGO | S_IXUGO;
4331 fattr->nlink = 2;
4336 struct nfs_fattr *fattr, struct nfs4_label *label)
4345 err = _nfs4_proc_lookup(client, dir, dentry, fhandle, fattr, label);
4352 err = nfs4_get_referral(client, dir, name, fattr, fhandle);
4381 struct nfs_fh *fhandle, struct nfs_fattr *fattr,
4387 status = nfs4_proc_lookup_common(&client, dir, dentry, fhandle, fattr, label);
4390 nfs_fixup_secinfo_attributes(fattr);
4397 struct nfs_fh *fhandle, struct nfs_fattr *fattr)
4402 status = nfs4_proc_lookup_common(&client, dir, dentry, fhandle, fattr, NULL);
4409 struct nfs_fh *fhandle, struct nfs_fattr *fattr,
4421 .fattr = fattr,
4433 nfs_fattr_init(fattr);
4443 struct nfs_fattr *fattr, struct nfs4_label *label)
4450 err = _nfs4_proc_lookupp(inode, fhandle, fattr, label);
4477 res.fattr = nfs_alloc_fattr();
4478 if (res.fattr == NULL)
4485 if (res.fattr)
4486 nfs_refresh_inode(inode, res.fattr);
4488 nfs_free_fattr(res.fattr);
4786 res.fattr = nfs_alloc_fattr();
4787 if (res.fattr == NULL)
4801 nfs4_update_changeattr(dir, &res.cinfo, res.fattr->time_start,
4803 status = nfs_post_op_update_inode(inode, res.fattr);
4805 nfs_setsecurity(inode, res.fattr, res.label);
4812 nfs_free_fattr(res.fattr);
4835 struct nfs_fattr fattr;
4864 data->res.fattr = &data->fattr;
4866 nfs_fattr_init(data->res.fattr);
4881 data->res.fattr->time_start,
4887 status = nfs_instantiate(dentry, data->res.fh, data->res.fattr, data->res.label);
5128 nfs_fattr_init(fsstat->fattr);
5174 trace_nfs4_fsinfo(server, fhandle, fsinfo->fattr, err);
5188 nfs_fattr_init(fsinfo->fattr);
5221 nfs_fattr_init(pathconf->fattr);
5498 hdr->res.fattr = NULL;
5992 struct nfs_fattr fattr;
6001 .fattr = &fattr,
6012 nfs_fattr_init(&fattr);
6017 if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL))
6044 struct nfs_fattr *fattr,
6059 .fattr = fattr,
6081 struct nfs_fattr *fattr,
6089 fattr, olabel);
6101 struct nfs_fattr fattr;
6107 nfs_fattr_init(&fattr);
6120 status = nfs4_do_set_security_label(inode, &ilabel, &fattr, olabel);
6122 nfs_setsecurity(inode, &fattr, olabel);
6411 struct nfs_fattr fattr;
6456 data->res.fattr = NULL;
6462 data->res.fattr = NULL;
6490 nfs4_fattr_set_prechange(&data->fattr,
6492 nfs_refresh_inode(inode, &data->fattr);
6561 data->res.fattr = &data->fattr;
6565 nfs_fattr_init(data->res.fattr);
7758 static void nfs_fixup_referral_attributes(struct nfs_fattr *fattr)
7760 if (!(((fattr->valid & NFS_ATTR_FATTR_MOUNTED_ON_FILEID) ||
7761 (fattr->valid & NFS_ATTR_FATTR_FILEID)) &&
7762 (fattr->valid & NFS_ATTR_FATTR_FSID) &&
7763 (fattr->valid & NFS_ATTR_FATTR_V4_LOCATIONS)))
7766 fattr->valid |= NFS_ATTR_FATTR_TYPE | NFS_ATTR_FATTR_MODE |
7768 fattr->mode = S_IFDIR | S_IRUGO | S_IXUGO;
7769 fattr->nlink = 2;
7807 nfs_fattr_init(&fs_locations->fattr);
7872 nfs_fattr_init(&locations->fattr);
7925 nfs_fattr_init(&locations->fattr);
9796 data->res.fattr);