/** * 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); }
/** * 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); }
/** * 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); }