Exemplo n.º 1
0
/**
 * nfs_async_unlink_release - Release the sillydelete data.
 * @task: rpc_task of the sillydelete
 *
 * We need to call nfs_put_unlinkdata as a 'tk_release' task since the
 * rpc_task would be freed too.
 */
static void nfs_async_unlink_release(void *calldata)
{
	struct nfs_unlinkdata	*data = calldata;

	nfs_dec_sillycount(data->dir);
	nfs_sb_deactive(NFS_SERVER(data->dir));
	nfs_free_unlinkdata(data);
}
Exemplo n.º 2
0
/**
 * nfs_async_unlink_release - Release the sillydelete data.
 * @task: rpc_task of the sillydelete
 *
 * We need to call nfs_put_unlinkdata as a 'tk_release' task since the
 * rpc_task would be freed too.
 */
static void nfs_async_unlink_release(void *calldata)
{
    struct nfs_unlinkdata	*data = calldata;
    struct super_block *sb = data->dir->i_sb;

    nfs_dec_sillycount(data->dir);
    nfs_free_unlinkdata(data);
    nfs_sb_deactive(sb);
}
Exemplo n.º 3
0
/**
 * nfs_async_rename_release - Release the sillyrename data.
 * @calldata: the struct nfs_renamedata to be released
 */
static void nfs_async_rename_release(void *calldata)
{
    struct nfs_renamedata	*data = calldata;
    struct super_block *sb = data->old_dir->i_sb;

    if (data->old_dentry->d_inode)
        nfs_mark_for_revalidate(data->old_dentry->d_inode);

    dput(data->old_dentry);
    dput(data->new_dentry);
    iput(data->old_dir);
    iput(data->new_dir);
    nfs_sb_deactive(sb);
    put_rpccred(data->cred);
    kfree(data);
}