Lines Matching refs:data

28  * nfs_free_unlinkdata - release data from a sillydelete operation.
29 * @data: pointer to unlink structure.
32 nfs_free_unlinkdata(struct nfs_unlinkdata *data)
34 put_cred(data->cred);
35 kfree(data->args.name.name);
36 kfree(data);
48 struct nfs_unlinkdata *data = calldata;
49 struct inode *dir = d_inode(data->dentry->d_parent);
51 trace_nfs_sillyrename_unlink(data, task->tk_status);
57 * nfs_async_unlink_release - Release the sillydelete data.
65 struct nfs_unlinkdata *data = calldata;
66 struct dentry *dentry = data->dentry;
71 nfs_free_unlinkdata(data);
78 struct nfs_unlinkdata *data = calldata;
79 struct inode *dir = d_inode(data->dentry->d_parent);
80 NFS_PROTO(dir)->unlink_rpc_prepare(task, data);
89 static void nfs_do_call_unlink(struct inode *inode, struct nfs_unlinkdata *data)
92 .rpc_argp = &data->args,
93 .rpc_resp = &data->res,
94 .rpc_cred = data->cred,
99 .callback_data = data,
104 struct inode *dir = d_inode(data->dentry->d_parent);
106 data->args.fh = NFS_FH(dir);
107 nfs_fattr_init(data->res.dir_attr);
109 NFS_PROTO(dir)->unlink_setup(&msg, data->dentry, inode);
117 static int nfs_call_unlink(struct dentry *dentry, struct inode *inode, struct nfs_unlinkdata *data)
123 alias = d_alloc_parallel(dentry->d_parent, &data->args.name, &data->wq);
140 alias->d_fsdata = data;
156 data->dentry = alias;
157 nfs_do_call_unlink(inode, data);
169 struct nfs_unlinkdata *data;
173 data = kzalloc(sizeof(*data), GFP_KERNEL);
174 if (data == NULL)
176 data->args.name.name = kstrdup(name->name, GFP_KERNEL);
177 if (!data->args.name.name)
179 data->args.name.len = name->len;
181 data->cred = get_current_cred();
182 data->res.dir_attr = &data->dir_attr;
183 init_waitqueue_head(&data->wq);
191 dentry->d_fsdata = data;
202 put_cred(data->cred);
203 kfree(data->args.name.name);
205 kfree(data);
222 struct nfs_unlinkdata *data;
226 data = dentry->d_fsdata;
230 if (NFS_STALE(inode) || !nfs_call_unlink(dentry, inode, data))
231 nfs_free_unlinkdata(data);
240 struct nfs_unlinkdata *data = dentry->d_fsdata;
245 nfs_free_unlinkdata(data);
260 struct nfs_renamedata *data = calldata;
261 struct inode *old_dir = data->old_dir;
262 struct inode *new_dir = data->new_dir;
263 struct dentry *old_dentry = data->old_dentry;
266 new_dir, data->new_dentry, task->tk_status);
272 if (data->complete)
273 data->complete(task, data);
277 * nfs_async_rename_release - Release the sillyrename data.
282 struct nfs_renamedata *data = calldata;
283 struct super_block *sb = data->old_dir->i_sb;
285 if (d_really_is_positive(data->old_dentry))
286 nfs_mark_for_revalidate(d_inode(data->old_dentry));
290 if (data->cancelled) {
291 spin_lock(&data->old_dir->i_lock);
292 nfs_force_lookup_revalidate(data->old_dir);
293 spin_unlock(&data->old_dir->i_lock);
294 if (data->new_dir != data->old_dir) {
295 spin_lock(&data->new_dir->i_lock);
296 nfs_force_lookup_revalidate(data->new_dir);
297 spin_unlock(&data->new_dir->i_lock);
301 dput(data->old_dentry);
302 dput(data->new_dentry);
303 iput(data->old_dir);
304 iput(data->new_dir);
306 put_cred(data->cred);
307 kfree(data);
312 struct nfs_renamedata *data = calldata;
313 NFS_PROTO(data->old_dir)->rename_rpc_prepare(task, data);
337 struct nfs_renamedata *data;
347 data = kzalloc(sizeof(*data), GFP_KERNEL);
348 if (data == NULL)
350 task_setup_data.callback_data = data;
352 data->cred = get_current_cred();
354 msg.rpc_argp = &data->args;
355 msg.rpc_resp = &data->res;
356 msg.rpc_cred = data->cred;
359 data->old_dir = old_dir;
361 data->new_dir = new_dir;
363 data->old_dentry = dget(old_dentry);
364 data->new_dentry = dget(new_dentry);
365 nfs_fattr_init(&data->old_fattr);
366 nfs_fattr_init(&data->new_fattr);
367 data->complete = complete;
370 data->args.old_dir = NFS_FH(old_dir);
371 data->args.old_name = &old_dentry->d_name;
372 data->args.new_dir = NFS_FH(new_dir);
373 data->args.new_name = &new_dentry->d_name;
376 data->res.old_fattr = &data->old_fattr;
377 data->res.new_fattr = &data->new_fattr;
381 NFS_PROTO(data->old_dir)->rename_setup(&msg, old_dentry, new_dentry);
391 nfs_complete_sillyrename(struct rpc_task *task, struct nfs_renamedata *data)
393 struct dentry *dentry = data->old_dentry;