switch smbfs to evict_inode()
NB: treatment of inode hash is completely braindead there Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
#define SMB_TTL_DEFAULT 1000
|
#define SMB_TTL_DEFAULT 1000
|
||||||
|
|
||||||
static void smb_delete_inode(struct inode *);
|
static void smb_evict_inode(struct inode *);
|
||||||
static void smb_put_super(struct super_block *);
|
static void smb_put_super(struct super_block *);
|
||||||
static int smb_statfs(struct dentry *, struct kstatfs *);
|
static int smb_statfs(struct dentry *, struct kstatfs *);
|
||||||
static int smb_show_options(struct seq_file *, struct vfsmount *);
|
static int smb_show_options(struct seq_file *, struct vfsmount *);
|
||||||
@@ -102,7 +102,7 @@ static const struct super_operations smb_sops =
|
|||||||
.alloc_inode = smb_alloc_inode,
|
.alloc_inode = smb_alloc_inode,
|
||||||
.destroy_inode = smb_destroy_inode,
|
.destroy_inode = smb_destroy_inode,
|
||||||
.drop_inode = generic_delete_inode,
|
.drop_inode = generic_delete_inode,
|
||||||
.delete_inode = smb_delete_inode,
|
.evict_inode = smb_evict_inode,
|
||||||
.put_super = smb_put_super,
|
.put_super = smb_put_super,
|
||||||
.statfs = smb_statfs,
|
.statfs = smb_statfs,
|
||||||
.show_options = smb_show_options,
|
.show_options = smb_show_options,
|
||||||
@@ -324,15 +324,15 @@ out:
|
|||||||
* All blocking cleanup operations need to go here to avoid races.
|
* All blocking cleanup operations need to go here to avoid races.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
smb_delete_inode(struct inode *ino)
|
smb_evict_inode(struct inode *ino)
|
||||||
{
|
{
|
||||||
DEBUG1("ino=%ld\n", ino->i_ino);
|
DEBUG1("ino=%ld\n", ino->i_ino);
|
||||||
truncate_inode_pages(&ino->i_data, 0);
|
truncate_inode_pages(&ino->i_data, 0);
|
||||||
|
end_writeback(ino);
|
||||||
lock_kernel();
|
lock_kernel();
|
||||||
if (smb_close(ino))
|
if (smb_close(ino))
|
||||||
PARANOIA("could not close inode %ld\n", ino->i_ino);
|
PARANOIA("could not close inode %ld\n", ino->i_ino);
|
||||||
unlock_kernel();
|
unlock_kernel();
|
||||||
clear_inode(ino);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct option opts[] = {
|
static struct option opts[] = {
|
||||||
|
Reference in New Issue
Block a user