forked from Minki/linux
convert ocfs2 to ->evict_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
94ee8494ac
commit
066d92dcbf
@ -969,7 +969,7 @@ static void ocfs2_cleanup_delete_inode(struct inode *inode,
|
||||
truncate_inode_pages(&inode->i_data, 0);
|
||||
}
|
||||
|
||||
void ocfs2_delete_inode(struct inode *inode)
|
||||
static void ocfs2_delete_inode(struct inode *inode)
|
||||
{
|
||||
int wipe, status;
|
||||
sigset_t oldset;
|
||||
@ -1075,20 +1075,17 @@ bail_unlock_nfs_sync:
|
||||
bail_unblock:
|
||||
ocfs2_unblock_signals(&oldset);
|
||||
bail:
|
||||
clear_inode(inode);
|
||||
mlog_exit_void();
|
||||
}
|
||||
|
||||
void ocfs2_clear_inode(struct inode *inode)
|
||||
static void ocfs2_clear_inode(struct inode *inode)
|
||||
{
|
||||
int status;
|
||||
struct ocfs2_inode_info *oi = OCFS2_I(inode);
|
||||
|
||||
mlog_entry_void();
|
||||
|
||||
if (!inode)
|
||||
goto bail;
|
||||
|
||||
end_writeback(inode);
|
||||
mlog(0, "Clearing inode: %llu, nlink = %u\n",
|
||||
(unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_nlink);
|
||||
|
||||
@ -1180,10 +1177,20 @@ void ocfs2_clear_inode(struct inode *inode)
|
||||
jbd2_journal_release_jbd_inode(OCFS2_SB(inode->i_sb)->journal->j_journal,
|
||||
&oi->ip_jinode);
|
||||
|
||||
bail:
|
||||
mlog_exit_void();
|
||||
}
|
||||
|
||||
void ocfs2_evict_inode(struct inode *inode)
|
||||
{
|
||||
if (!inode->i_nlink ||
|
||||
(OCFS2_I(inode)->ip_flags & OCFS2_INODE_MAYBE_ORPHANED)) {
|
||||
ocfs2_delete_inode(inode);
|
||||
} else {
|
||||
truncate_inode_pages(&inode->i_data, 0);
|
||||
}
|
||||
ocfs2_clear_inode(inode);
|
||||
}
|
||||
|
||||
/* Called under inode_lock, with no more references on the
|
||||
* struct inode, so it's safe here to check the flags field
|
||||
* and to manipulate i_nlink without any other locks. */
|
||||
|
@ -123,8 +123,7 @@ static inline struct ocfs2_caching_info *INODE_CACHE(struct inode *inode)
|
||||
return &OCFS2_I(inode)->ip_metadata_cache;
|
||||
}
|
||||
|
||||
void ocfs2_clear_inode(struct inode *inode);
|
||||
void ocfs2_delete_inode(struct inode *inode);
|
||||
void ocfs2_evict_inode(struct inode *inode);
|
||||
void ocfs2_drop_inode(struct inode *inode);
|
||||
|
||||
/* Flags for ocfs2_iget() */
|
||||
|
@ -145,8 +145,7 @@ static const struct super_operations ocfs2_sops = {
|
||||
.alloc_inode = ocfs2_alloc_inode,
|
||||
.destroy_inode = ocfs2_destroy_inode,
|
||||
.drop_inode = ocfs2_drop_inode,
|
||||
.clear_inode = ocfs2_clear_inode,
|
||||
.delete_inode = ocfs2_delete_inode,
|
||||
.evict_inode = ocfs2_evict_inode,
|
||||
.sync_fs = ocfs2_sync_fs,
|
||||
.put_super = ocfs2_put_super,
|
||||
.remount_fs = ocfs2_remount,
|
||||
|
Loading…
Reference in New Issue
Block a user