Lines Matching defs:dir
122 nfs4_label_init_security(struct inode *dir, struct dentry *dentry,
130 if (nfs_server_capable(dir, NFS_CAP_SECURITY_LABEL) == 0)
160 nfs4_label_init_security(struct inode *dir, struct dentry *dentry,
1243 nfs4_update_changeattr(struct inode *dir, struct nfs4_change_info *cinfo,
1246 spin_lock(&dir->i_lock);
1247 nfs4_update_changeattr_locked(dir, cinfo, timestamp, cache_validity);
1248 spin_unlock(&dir->i_lock);
1343 struct inode *dir = d_inode(parent);
1344 struct nfs_server *server = NFS_SERVER(dir);
1367 p->dir = parent;
1419 p->o_arg.fh = NFS_FH(dir);
1461 dput(p->dir);
2010 inode = nfs_fhget(data->dir->d_sb, &data->o_res.fh,
2384 struct nfs_server *server = NFS_SERVER(d_inode(data->dir));
2546 struct inode *dir = d_inode(data->dir);
2547 struct nfs_server *server = NFS_SERVER(dir);
2596 struct inode *dir = d_inode(data->dir);
2604 nfs_fattr_map_and_free_names(NFS_SERVER(dir), &data->f_attr);
2664 struct inode *dir = d_inode(data->dir);
2665 struct nfs_server *server = NFS_SERVER(dir);
2688 inode_peek_iversion_raw(dir) != o_res->cinfo.after)
2689 nfs4_update_changeattr(dir, &o_res->cinfo,
3035 struct inode *dir = d_inode(opendata->dir);
3041 dir_verifier = nfs_save_change_attribute(dir);
3080 dir_verifier = nfs_save_change_attribute(dir);
3112 static int _nfs4_do_open(struct inode *dir,
3120 struct nfs_server *server = NFS_SERVER(dir);
3223 static struct nfs4_state *nfs4_do_open(struct inode *dir,
3230 struct nfs_server *server = NFS_SERVER(dir);
3246 status = _nfs4_do_open(dir, ctx, flags, &c, opened);
3265 NFS_SERVER(dir)->nfs_client->cl_hostname);
3804 nfs4_atomic_open(struct inode *dir, struct nfs_open_context *ctx,
3810 label = nfs4_label_init_security(dir, ctx->dentry, attr, &l);
3813 state = nfs4_do_open(dir, ctx, open_flags, attr, label, opened);
4126 static int nfs4_get_referral(struct rpc_clnt *client, struct inode *dir,
4141 status = nfs4_proc_fs_locations(client, dir, name, locations, page);
4150 if (nfs_fsid_equal(&NFS_SERVER(dir)->fsid, &locations->fattr.fsid)) {
4286 static int _nfs4_proc_lookup(struct rpc_clnt *clnt, struct inode *dir,
4290 struct nfs_server *server = NFS_SERVER(dir);
4294 .dir_fh = NFS_FH(dir),
4334 static int nfs4_proc_lookup_common(struct rpc_clnt **clnt, struct inode *dir,
4345 err = _nfs4_proc_lookup(client, dir, dentry, fhandle, fattr, label);
4346 trace_nfs4_lookup(dir, name, err);
4352 err = nfs4_get_referral(client, dir, name, fattr, fhandle);
4354 err = nfs4_handle_exception(NFS_SERVER(dir), err, &exception);
4360 client = nfs4_negotiate_security(client, dir, name);
4367 err = nfs4_handle_exception(NFS_SERVER(dir), err, &exception);
4380 static int nfs4_proc_lookup(struct inode *dir, struct dentry *dentry,
4385 struct rpc_clnt *client = NFS_CLIENT(dir);
4387 status = nfs4_proc_lookup_common(&client, dir, dentry, fhandle, fattr, label);
4388 if (client != NFS_CLIENT(dir)) {
4396 nfs4_proc_lookup_mountpoint(struct inode *dir, struct dentry *dentry,
4399 struct rpc_clnt *client = NFS_CLIENT(dir);
4402 status = nfs4_proc_lookup_common(&client, dir, dentry, fhandle, fattr, NULL);
4405 return (client == NFS_CLIENT(dir)) ? rpc_clone_client(client) : client;
4568 nfs4_proc_create(struct inode *dir, struct dentry *dentry, struct iattr *sattr,
4571 struct nfs_server *server = NFS_SERVER(dir);
4581 ilabel = nfs4_label_init_security(dir, dentry, sattr, &l);
4585 state = nfs4_do_open(dir, ctx, flags, sattr, ilabel, NULL);
4597 _nfs4_proc_remove(struct inode *dir, const struct qstr *name, u32 ftype)
4599 struct nfs_server *server = NFS_SERVER(dir);
4601 .fh = NFS_FH(dir),
4617 spin_lock(&dir->i_lock);
4618 nfs4_update_changeattr_locked(dir, &res.cinfo, timestamp,
4621 if (ftype == NF4DIR && dir->i_nlink > 2)
4622 nfs4_dec_nlink_locked(dir);
4623 spin_unlock(&dir->i_lock);
4628 static int nfs4_proc_remove(struct inode *dir, struct dentry *dentry)
4643 err = _nfs4_proc_remove(dir, &dentry->d_name, NF4REG);
4644 trace_nfs4_remove(dir, &dentry->d_name, err);
4645 err = nfs4_handle_exception(NFS_SERVER(dir), err,
4651 static int nfs4_proc_rmdir(struct inode *dir, const struct qstr *name)
4659 err = _nfs4_proc_remove(dir, name, NF4DIR);
4660 trace_nfs4_remove(dir, name, err);
4661 err = nfs4_handle_exception(NFS_SERVER(dir), err,
4692 static int nfs4_proc_unlink_done(struct rpc_task *task, struct inode *dir)
4703 nfs4_update_changeattr(dir, &res->cinfo,
4765 static int _nfs4_proc_link(struct inode *inode, struct inode *dir, const struct qstr *name)
4771 .dir_fh = NFS_FH(dir),
4801 nfs4_update_changeattr(dir, &res.cinfo, res.fattr->time_start,
4816 static int nfs4_proc_link(struct inode *inode, struct inode *dir, const struct qstr *name)
4824 _nfs4_proc_link(inode, dir, name),
4839 static struct nfs4_createdata *nfs4_alloc_createdata(struct inode *dir,
4846 struct nfs_server *server = NFS_SERVER(dir);
4855 data->arg.dir_fh = NFS_FH(dir);
4874 static int nfs4_do_create(struct inode *dir, struct dentry *dentry, struct nfs4_createdata *data)
4876 int status = nfs4_call_sync(NFS_SERVER(dir)->client, NFS_SERVER(dir), &data->msg,
4879 spin_lock(&dir->i_lock);
4880 nfs4_update_changeattr_locked(dir, &data->res.dir_cinfo,
4885 nfs4_inc_nlink_locked(dir);
4886 spin_unlock(&dir->i_lock);
4898 static int _nfs4_proc_symlink(struct inode *dir, struct dentry *dentry,
4909 data = nfs4_alloc_createdata(dir, &dentry->d_name, sattr, NF4LNK);
4918 status = nfs4_do_create(dir, dentry, data);
4925 static int nfs4_proc_symlink(struct inode *dir, struct dentry *dentry,
4934 label = nfs4_label_init_security(dir, dentry, sattr, &l);
4937 err = _nfs4_proc_symlink(dir, dentry, page, len, sattr, label);
4938 trace_nfs4_symlink(dir, &dentry->d_name, err);
4939 err = nfs4_handle_exception(NFS_SERVER(dir), err,
4947 static int _nfs4_proc_mkdir(struct inode *dir, struct dentry *dentry,
4953 data = nfs4_alloc_createdata(dir, &dentry->d_name, sattr, NF4DIR);
4958 status = nfs4_do_create(dir, dentry, data);
4965 static int nfs4_proc_mkdir(struct inode *dir, struct dentry *dentry,
4968 struct nfs_server *server = NFS_SERVER(dir);
4975 label = nfs4_label_init_security(dir, dentry, sattr, &l);
4980 err = _nfs4_proc_mkdir(dir, dentry, sattr, label);
4981 trace_nfs4_mkdir(dir, &dentry->d_name, err);
4982 err = nfs4_handle_exception(NFS_SERVER(dir), err,
4993 struct inode *dir = d_inode(dentry);
4994 struct nfs_server *server = NFS_SERVER(dir);
4996 .fh = NFS_FH(dir),
5019 nfs4_setup_readdir(cookie, NFS_I(dir)->cookieverf, dentry, &args);
5024 memcpy(NFS_I(dir)->cookieverf, res.verifier.data, NFS4_VERIFIER_SIZE);
5028 nfs_invalidate_atime(dir);
5051 static int _nfs4_proc_mknod(struct inode *dir, struct dentry *dentry,
5058 data = nfs4_alloc_createdata(dir, &dentry->d_name, sattr, NF4SOCK);
5079 status = nfs4_do_create(dir, dentry, data);
5086 static int nfs4_proc_mknod(struct inode *dir, struct dentry *dentry,
5089 struct nfs_server *server = NFS_SERVER(dir);
5096 label = nfs4_label_init_security(dir, dentry, sattr, &l);
5101 err = _nfs4_proc_mknod(dir, dentry, sattr, label, rdev);
5102 trace_nfs4_mknod(dir, &dentry->d_name, err);
5103 err = nfs4_handle_exception(NFS_SERVER(dir), err,
7772 static int _nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
7777 struct nfs_server *server = NFS_SERVER(dir);
7780 .dir_fh = NFS_FH(dir),
7802 if (NFS_SERVER(dir)->attr_bitmask[1] & FATTR4_WORD1_MOUNTED_ON_FILEID)
7815 int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir,
7825 err = _nfs4_proc_fs_locations(client, dir, name,
7827 trace_nfs4_get_fs_locations(dir, name, err);
7828 err = nfs4_handle_exception(NFS_SERVER(dir), err,
8118 static int _nfs4_proc_secinfo(struct inode *dir, const struct qstr *name, struct nfs4_secinfo_flavors *flavors, bool use_integrity)
8121 struct rpc_clnt *clnt = NFS_SERVER(dir)->client;
8122 struct nfs_client *clp = NFS_SERVER(dir)->nfs_client;
8124 .dir_fh = NFS_FH(dir),
8136 .seq_server = NFS_SERVER(dir),
8169 int nfs4_proc_secinfo(struct inode *dir, const struct qstr *name,
8180 if (_nfs4_is_integrity_protected(NFS_SERVER(dir)->nfs_client))
8181 err = _nfs4_proc_secinfo(dir, name, flavors, true);
8190 err = _nfs4_proc_secinfo(dir, name, flavors, false);
8192 trace_nfs4_secinfo(dir, name, err);
8193 err = nfs4_handle_exception(NFS_SERVER(dir), err,
8244 if (args->dir == NFS4_CDFC4_FORE_OR_BOTH &&
8245 res->dir != NFS4_CDFS4_BOTH) {
8271 .dir = NFS4_CDFC4_FORE_OR_BOTH,
8293 args.dir = NFS4_CDFC4_FORE;
8297 args.dir = NFS4_CDFC4_FORE;
8312 if ((res.dir & args.dir) != res.dir || res.dir == 0) {