switch affs to ->evict_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
69c9e75017
Коммит
f053ddde75
|
@ -171,8 +171,7 @@ extern int affs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
|||
extern unsigned long affs_parent_ino(struct inode *dir);
|
||||
extern struct inode *affs_new_inode(struct inode *dir);
|
||||
extern int affs_notify_change(struct dentry *dentry, struct iattr *attr);
|
||||
extern void affs_delete_inode(struct inode *inode);
|
||||
extern void affs_clear_inode(struct inode *inode);
|
||||
extern void affs_evict_inode(struct inode *inode);
|
||||
extern struct inode *affs_iget(struct super_block *sb,
|
||||
unsigned long ino);
|
||||
extern int affs_write_inode(struct inode *inode,
|
||||
|
|
|
@ -252,23 +252,19 @@ out:
|
|||
}
|
||||
|
||||
void
|
||||
affs_delete_inode(struct inode *inode)
|
||||
{
|
||||
pr_debug("AFFS: delete_inode(ino=%lu, nlink=%u)\n", inode->i_ino, inode->i_nlink);
|
||||
truncate_inode_pages(&inode->i_data, 0);
|
||||
inode->i_size = 0;
|
||||
affs_truncate(inode);
|
||||
clear_inode(inode);
|
||||
affs_free_block(inode->i_sb, inode->i_ino);
|
||||
}
|
||||
|
||||
void
|
||||
affs_clear_inode(struct inode *inode)
|
||||
affs_evict_inode(struct inode *inode)
|
||||
{
|
||||
unsigned long cache_page;
|
||||
pr_debug("AFFS: evict_inode(ino=%lu, nlink=%u)\n", inode->i_ino, inode->i_nlink);
|
||||
truncate_inode_pages(&inode->i_data, 0);
|
||||
|
||||
pr_debug("AFFS: clear_inode(ino=%lu, nlink=%u)\n", inode->i_ino, inode->i_nlink);
|
||||
if (!inode->i_nlink) {
|
||||
inode->i_size = 0;
|
||||
affs_truncate(inode);
|
||||
}
|
||||
|
||||
invalidate_inode_buffers(inode);
|
||||
end_writeback(inode);
|
||||
affs_free_prealloc(inode);
|
||||
cache_page = (unsigned long)AFFS_I(inode)->i_lc;
|
||||
if (cache_page) {
|
||||
|
@ -280,6 +276,9 @@ affs_clear_inode(struct inode *inode)
|
|||
affs_brelse(AFFS_I(inode)->i_ext_bh);
|
||||
AFFS_I(inode)->i_ext_last = ~1;
|
||||
AFFS_I(inode)->i_ext_bh = NULL;
|
||||
|
||||
if (!inode->i_nlink)
|
||||
affs_free_block(inode->i_sb, inode->i_ino);
|
||||
}
|
||||
|
||||
struct inode *
|
||||
|
|
|
@ -140,8 +140,7 @@ static const struct super_operations affs_sops = {
|
|||
.alloc_inode = affs_alloc_inode,
|
||||
.destroy_inode = affs_destroy_inode,
|
||||
.write_inode = affs_write_inode,
|
||||
.delete_inode = affs_delete_inode,
|
||||
.clear_inode = affs_clear_inode,
|
||||
.evict_inode = affs_evict_inode,
|
||||
.put_super = affs_put_super,
|
||||
.write_super = affs_write_super,
|
||||
.sync_fs = affs_sync_fs,
|
||||
|
|
Загрузка…
Ссылка в новой задаче