fs/inode.c:clear_inode() is gone
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
644da5960d
commit
30140837f2
28
fs/inode.c
28
fs/inode.c
|
@ -306,29 +306,6 @@ void end_writeback(struct inode *inode)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(end_writeback);
|
EXPORT_SYMBOL(end_writeback);
|
||||||
|
|
||||||
/**
|
|
||||||
* clear_inode - clear an inode
|
|
||||||
* @inode: inode to clear
|
|
||||||
*
|
|
||||||
* This is called by the filesystem to tell us
|
|
||||||
* that the inode is no longer useful. We just
|
|
||||||
* terminate it with extreme prejudice.
|
|
||||||
*/
|
|
||||||
void clear_inode(struct inode *inode)
|
|
||||||
{
|
|
||||||
might_sleep();
|
|
||||||
invalidate_inode_buffers(inode);
|
|
||||||
|
|
||||||
BUG_ON(inode->i_data.nrpages);
|
|
||||||
BUG_ON(!(inode->i_state & I_FREEING));
|
|
||||||
BUG_ON(inode->i_state & I_CLEAR);
|
|
||||||
inode_sync_wait(inode);
|
|
||||||
if (inode->i_sb->s_op->clear_inode)
|
|
||||||
inode->i_sb->s_op->clear_inode(inode);
|
|
||||||
inode->i_state = I_FREEING | I_CLEAR;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(clear_inode);
|
|
||||||
|
|
||||||
static void evict(struct inode *inode)
|
static void evict(struct inode *inode)
|
||||||
{
|
{
|
||||||
const struct super_operations *op = inode->i_sb->s_op;
|
const struct super_operations *op = inode->i_sb->s_op;
|
||||||
|
@ -338,7 +315,10 @@ static void evict(struct inode *inode)
|
||||||
} else {
|
} else {
|
||||||
if (inode->i_data.nrpages)
|
if (inode->i_data.nrpages)
|
||||||
truncate_inode_pages(&inode->i_data, 0);
|
truncate_inode_pages(&inode->i_data, 0);
|
||||||
clear_inode(inode);
|
invalidate_inode_buffers(inode);
|
||||||
|
end_writeback(inode);
|
||||||
|
if (op->clear_inode)
|
||||||
|
op->clear_inode(inode);
|
||||||
}
|
}
|
||||||
if (S_ISBLK(inode->i_mode) && inode->i_bdev)
|
if (S_ISBLK(inode->i_mode) && inode->i_bdev)
|
||||||
bd_forget(inode);
|
bd_forget(inode);
|
||||||
|
|
|
@ -2182,7 +2182,6 @@ extern void unlock_new_inode(struct inode *);
|
||||||
|
|
||||||
extern void __iget(struct inode * inode);
|
extern void __iget(struct inode * inode);
|
||||||
extern void iget_failed(struct inode *);
|
extern void iget_failed(struct inode *);
|
||||||
extern void clear_inode(struct inode *);
|
|
||||||
extern void end_writeback(struct inode *);
|
extern void end_writeback(struct inode *);
|
||||||
extern void destroy_inode(struct inode *);
|
extern void destroy_inode(struct inode *);
|
||||||
extern void __destroy_inode(struct inode *);
|
extern void __destroy_inode(struct inode *);
|
||||||
|
|
Loading…
Reference in New Issue