switch jfs to ->evict_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
ea54400920
commit
62aff86fdf
|
@ -145,31 +145,32 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void jfs_delete_inode(struct inode *inode)
|
void jfs_evict_inode(struct inode *inode)
|
||||||
{
|
{
|
||||||
jfs_info("In jfs_delete_inode, inode = 0x%p", inode);
|
jfs_info("In jfs_evict_inode, inode = 0x%p", inode);
|
||||||
|
|
||||||
if (!is_bad_inode(inode))
|
if (!inode->i_nlink && !is_bad_inode(inode)) {
|
||||||
dquot_initialize(inode);
|
dquot_initialize(inode);
|
||||||
|
|
||||||
if (!is_bad_inode(inode) &&
|
if (JFS_IP(inode)->fileset == FILESYSTEM_I) {
|
||||||
(JFS_IP(inode)->fileset == FILESYSTEM_I)) {
|
truncate_inode_pages(&inode->i_data, 0);
|
||||||
|
|
||||||
|
if (test_cflag(COMMIT_Freewmap, inode))
|
||||||
|
jfs_free_zero_link(inode);
|
||||||
|
|
||||||
|
diFree(inode);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Free the inode from the quota allocation.
|
||||||
|
*/
|
||||||
|
dquot_initialize(inode);
|
||||||
|
dquot_free_inode(inode);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
truncate_inode_pages(&inode->i_data, 0);
|
truncate_inode_pages(&inode->i_data, 0);
|
||||||
|
|
||||||
if (test_cflag(COMMIT_Freewmap, inode))
|
|
||||||
jfs_free_zero_link(inode);
|
|
||||||
|
|
||||||
diFree(inode);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Free the inode from the quota allocation.
|
|
||||||
*/
|
|
||||||
dquot_initialize(inode);
|
|
||||||
dquot_free_inode(inode);
|
|
||||||
dquot_drop(inode);
|
|
||||||
}
|
}
|
||||||
|
end_writeback(inode);
|
||||||
clear_inode(inode);
|
dquot_drop(inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void jfs_dirty_inode(struct inode *inode)
|
void jfs_dirty_inode(struct inode *inode)
|
||||||
|
|
|
@ -27,7 +27,7 @@ extern long jfs_compat_ioctl(struct file *, unsigned int, unsigned long);
|
||||||
extern struct inode *jfs_iget(struct super_block *, unsigned long);
|
extern struct inode *jfs_iget(struct super_block *, unsigned long);
|
||||||
extern int jfs_commit_inode(struct inode *, int);
|
extern int jfs_commit_inode(struct inode *, int);
|
||||||
extern int jfs_write_inode(struct inode *, struct writeback_control *);
|
extern int jfs_write_inode(struct inode *, struct writeback_control *);
|
||||||
extern void jfs_delete_inode(struct inode *);
|
extern void jfs_evict_inode(struct inode *);
|
||||||
extern void jfs_dirty_inode(struct inode *);
|
extern void jfs_dirty_inode(struct inode *);
|
||||||
extern void jfs_truncate(struct inode *);
|
extern void jfs_truncate(struct inode *);
|
||||||
extern void jfs_truncate_nolock(struct inode *, loff_t);
|
extern void jfs_truncate_nolock(struct inode *, loff_t);
|
||||||
|
|
|
@ -132,11 +132,6 @@ static void jfs_destroy_inode(struct inode *inode)
|
||||||
kmem_cache_free(jfs_inode_cachep, ji);
|
kmem_cache_free(jfs_inode_cachep, ji);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void jfs_clear_inode(struct inode *inode)
|
|
||||||
{
|
|
||||||
dquot_drop(inode);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int jfs_statfs(struct dentry *dentry, struct kstatfs *buf)
|
static int jfs_statfs(struct dentry *dentry, struct kstatfs *buf)
|
||||||
{
|
{
|
||||||
struct jfs_sb_info *sbi = JFS_SBI(dentry->d_sb);
|
struct jfs_sb_info *sbi = JFS_SBI(dentry->d_sb);
|
||||||
|
@ -765,8 +760,7 @@ static const struct super_operations jfs_super_operations = {
|
||||||
.destroy_inode = jfs_destroy_inode,
|
.destroy_inode = jfs_destroy_inode,
|
||||||
.dirty_inode = jfs_dirty_inode,
|
.dirty_inode = jfs_dirty_inode,
|
||||||
.write_inode = jfs_write_inode,
|
.write_inode = jfs_write_inode,
|
||||||
.delete_inode = jfs_delete_inode,
|
.evict_inode = jfs_evict_inode,
|
||||||
.clear_inode = jfs_clear_inode,
|
|
||||||
.put_super = jfs_put_super,
|
.put_super = jfs_put_super,
|
||||||
.sync_fs = jfs_sync_fs,
|
.sync_fs = jfs_sync_fs,
|
||||||
.freeze_fs = jfs_freeze,
|
.freeze_fs = jfs_freeze,
|
||||||
|
|
Loading…
Reference in New Issue