Commit d299eadc authored by Al Viro's avatar Al Viro

switch sysv to ->evict_inode()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 1f895f75
...@@ -113,7 +113,6 @@ void sysv_free_inode(struct inode * inode) ...@@ -113,7 +113,6 @@ void sysv_free_inode(struct inode * inode)
return; return;
} }
raw_inode = sysv_raw_inode(sb, ino, &bh); raw_inode = sysv_raw_inode(sb, ino, &bh);
clear_inode(inode);
if (!raw_inode) { if (!raw_inode) {
printk("sysv_free_inode: unable to read inode block on device " printk("sysv_free_inode: unable to read inode block on device "
"%s\n", inode->i_sb->s_id); "%s\n", inode->i_sb->s_id);
......
...@@ -308,11 +308,16 @@ int sysv_sync_inode(struct inode *inode) ...@@ -308,11 +308,16 @@ int sysv_sync_inode(struct inode *inode)
return __sysv_write_inode(inode, 1); return __sysv_write_inode(inode, 1);
} }
static void sysv_delete_inode(struct inode *inode) static void sysv_evict_inode(struct inode *inode)
{ {
truncate_inode_pages(&inode->i_data, 0); truncate_inode_pages(&inode->i_data, 0);
if (!inode->i_nlink) {
inode->i_size = 0; inode->i_size = 0;
sysv_truncate(inode); sysv_truncate(inode);
}
invalidate_inode_buffers(inode);
end_writeback(inode);
if (!inode->i_nlink)
sysv_free_inode(inode); sysv_free_inode(inode);
} }
...@@ -344,7 +349,7 @@ const struct super_operations sysv_sops = { ...@@ -344,7 +349,7 @@ const struct super_operations sysv_sops = {
.alloc_inode = sysv_alloc_inode, .alloc_inode = sysv_alloc_inode,
.destroy_inode = sysv_destroy_inode, .destroy_inode = sysv_destroy_inode,
.write_inode = sysv_write_inode, .write_inode = sysv_write_inode,
.delete_inode = sysv_delete_inode, .evict_inode = sysv_evict_inode,
.put_super = sysv_put_super, .put_super = sysv_put_super,
.write_super = sysv_write_super, .write_super = sysv_write_super,
.sync_fs = sysv_sync_fs, .sync_fs = sysv_sync_fs,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment