diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2010-06-07 13:23:20 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-08-09 16:48:34 -0400 |
commit | 30140837f256558c943636245ab90897a9455a70 (patch) | |
tree | 71ab647be533cd520eb665a48d489e46e4c2fd8c /fs/inode.c | |
parent | 644da5960ded137c339bc69bc2aeac54f73aad59 (diff) |
fs/inode.c:clear_inode() is gone
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/inode.c')
-rw-r--r-- | fs/inode.c | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/fs/inode.c b/fs/inode.c index 8320bef7177e..82ca3562a688 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -306,29 +306,6 @@ void end_writeback(struct inode *inode) | |||
306 | } | 306 | } |
307 | EXPORT_SYMBOL(end_writeback); | 307 | EXPORT_SYMBOL(end_writeback); |
308 | 308 | ||
309 | /** | ||
310 | * clear_inode - clear an inode | ||
311 | * @inode: inode to clear | ||
312 | * | ||
313 | * This is called by the filesystem to tell us | ||
314 | * that the inode is no longer useful. We just | ||
315 | * terminate it with extreme prejudice. | ||
316 | */ | ||
317 | void clear_inode(struct inode *inode) | ||
318 | { | ||
319 | might_sleep(); | ||
320 | invalidate_inode_buffers(inode); | ||
321 | |||
322 | BUG_ON(inode->i_data.nrpages); | ||
323 | BUG_ON(!(inode->i_state & I_FREEING)); | ||
324 | BUG_ON(inode->i_state & I_CLEAR); | ||
325 | inode_sync_wait(inode); | ||
326 | if (inode->i_sb->s_op->clear_inode) | ||
327 | inode->i_sb->s_op->clear_inode(inode); | ||
328 | inode->i_state = I_FREEING | I_CLEAR; | ||
329 | } | ||
330 | EXPORT_SYMBOL(clear_inode); | ||
331 | |||
332 | static void evict(struct inode *inode) | 309 | static void evict(struct inode *inode) |
333 | { | 310 | { |
334 | const struct super_operations *op = inode->i_sb->s_op; | 311 | const struct super_operations *op = inode->i_sb->s_op; |
@@ -338,7 +315,10 @@ static void evict(struct inode *inode) | |||
338 | } else { | 315 | } else { |
339 | if (inode->i_data.nrpages) | 316 | if (inode->i_data.nrpages) |
340 | truncate_inode_pages(&inode->i_data, 0); | 317 | truncate_inode_pages(&inode->i_data, 0); |
341 | clear_inode(inode); | 318 | invalidate_inode_buffers(inode); |
319 | end_writeback(inode); | ||
320 | if (op->clear_inode) | ||
321 | op->clear_inode(inode); | ||
342 | } | 322 | } |
343 | if (S_ISBLK(inode->i_mode) && inode->i_bdev) | 323 | if (S_ISBLK(inode->i_mode) && inode->i_bdev) |
344 | bd_forget(inode); | 324 | bd_forget(inode); |