switch ubifs to ->evict_inode()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2010-06-07 00:34:05 -04:00
Родитель 62aff86fdf
Коммит d640e1b508
1 изменённых файлов: 8 добавлений и 4 удалений

Просмотреть файл

@ -327,7 +327,7 @@ static int ubifs_write_inode(struct inode *inode, struct writeback_control *wbc)
return err; return err;
} }
static void ubifs_delete_inode(struct inode *inode) static void ubifs_evict_inode(struct inode *inode)
{ {
int err; int err;
struct ubifs_info *c = inode->i_sb->s_fs_info; struct ubifs_info *c = inode->i_sb->s_fs_info;
@ -343,9 +343,12 @@ static void ubifs_delete_inode(struct inode *inode)
dbg_gen("inode %lu, mode %#x", inode->i_ino, (int)inode->i_mode); dbg_gen("inode %lu, mode %#x", inode->i_ino, (int)inode->i_mode);
ubifs_assert(!atomic_read(&inode->i_count)); ubifs_assert(!atomic_read(&inode->i_count));
ubifs_assert(inode->i_nlink == 0);
truncate_inode_pages(&inode->i_data, 0); truncate_inode_pages(&inode->i_data, 0);
if (inode->i_nlink)
goto done;
if (is_bad_inode(inode)) if (is_bad_inode(inode))
goto out; goto out;
@ -367,7 +370,8 @@ out:
c->nospace = c->nospace_rp = 0; c->nospace = c->nospace_rp = 0;
smp_wmb(); smp_wmb();
} }
clear_inode(inode); done:
end_writeback(inode);
} }
static void ubifs_dirty_inode(struct inode *inode) static void ubifs_dirty_inode(struct inode *inode)
@ -1824,7 +1828,7 @@ const struct super_operations ubifs_super_operations = {
.destroy_inode = ubifs_destroy_inode, .destroy_inode = ubifs_destroy_inode,
.put_super = ubifs_put_super, .put_super = ubifs_put_super,
.write_inode = ubifs_write_inode, .write_inode = ubifs_write_inode,
.delete_inode = ubifs_delete_inode, .evict_inode = ubifs_evict_inode,
.statfs = ubifs_statfs, .statfs = ubifs_statfs,
.dirty_inode = ubifs_dirty_inode, .dirty_inode = ubifs_dirty_inode,
.remount_fs = ubifs_remount_fs, .remount_fs = ubifs_remount_fs,