Lines Matching defs: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);
110 data->args.fh = NFS_FH(dir);
111 nfs_fattr_init(data->res.dir_attr);
113 NFS_PROTO(dir)->unlink_setup(&msg, data->dentry, inode);
121 static int nfs_call_unlink(struct dentry *dentry, struct inode *inode, struct nfs_unlinkdata *data)
127 alias = d_alloc_parallel(dentry->d_parent, &data->args.name, &data->wq);
145 alias->d_fsdata = data;
161 data->dentry = alias;
162 nfs_do_call_unlink(inode, data);
174 struct nfs_unlinkdata *data;
178 data = kzalloc(sizeof(*data), GFP_KERNEL);
179 if (data == NULL)
181 data->args.name.name = kstrdup(name->name, GFP_KERNEL);
182 if (!data->args.name.name)
184 data->args.name.len = name->len;
186 data->cred = get_current_cred();
187 data->res.dir_attr = &data->dir_attr;
188 init_waitqueue_head(&data->wq);
196 dentry->d_fsdata = data;
207 put_cred(data->cred);
208 kfree(data->args.name.name);
210 kfree(data);
227 struct nfs_unlinkdata *data;
231 data = dentry->d_fsdata;
235 if (NFS_STALE(inode) || !nfs_call_unlink(dentry, inode, data))
236 nfs_free_unlinkdata(data);
245 struct nfs_unlinkdata *data = dentry->d_fsdata;
250 nfs_free_unlinkdata(data);
265 struct nfs_renamedata *data = calldata;
266 struct inode *old_dir = data->old_dir;
267 struct inode *new_dir = data->new_dir;
268 struct dentry *old_dentry = data->old_dentry;
271 new_dir, data->new_dentry, task->tk_status);
277 if (data->complete)
278 data->complete(task, data);
282 * nfs_async_rename_release - Release the sillyrename data.
287 struct nfs_renamedata *data = calldata;
288 struct super_block *sb = data->old_dir->i_sb;
290 if (d_really_is_positive(data->old_dentry))
291 nfs_mark_for_revalidate(d_inode(data->old_dentry));
295 if (data->cancelled) {
296 spin_lock(&data->old_dir->i_lock);
297 nfs_force_lookup_revalidate(data->old_dir);
298 spin_unlock(&data->old_dir->i_lock);
299 if (data->new_dir != data->old_dir) {
300 spin_lock(&data->new_dir->i_lock);
301 nfs_force_lookup_revalidate(data->new_dir);
302 spin_unlock(&data->new_dir->i_lock);
306 dput(data->old_dentry);
307 dput(data->new_dentry);
308 iput(data->old_dir);
309 iput(data->new_dir);
311 put_cred(data->cred);
312 kfree(data);
317 struct nfs_renamedata *data = calldata;
318 NFS_PROTO(data->old_dir)->rename_rpc_prepare(task, data);
342 struct nfs_renamedata *data;
356 data = kzalloc(sizeof(*data), GFP_KERNEL);
357 if (data == NULL)
359 task_setup_data.task = &data->task;
360 task_setup_data.callback_data = data;
362 data->cred = get_current_cred();
364 msg.rpc_argp = &data->args;
365 msg.rpc_resp = &data->res;
366 msg.rpc_cred = data->cred;
369 data->old_dir = old_dir;
371 data->new_dir = new_dir;
373 data->old_dentry = dget(old_dentry);
374 data->new_dentry = dget(new_dentry);
375 nfs_fattr_init(&data->old_fattr);
376 nfs_fattr_init(&data->new_fattr);
377 data->complete = complete;
380 data->args.old_dir = NFS_FH(old_dir);
381 data->args.old_name = &old_dentry->d_name;
382 data->args.new_dir = NFS_FH(new_dir);
383 data->args.new_name = &new_dentry->d_name;
386 data->res.old_fattr = &data->old_fattr;
387 data->res.new_fattr = &data->new_fattr;
391 NFS_PROTO(data->old_dir)->rename_setup(&msg, old_dentry, new_dentry);
401 nfs_complete_sillyrename(struct rpc_task *task, struct nfs_renamedata *data)
403 struct dentry *dentry = data->old_dentry;