Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 066d92dc authored by Al Viro's avatar Al Viro
Browse files

convert ocfs2 to ->evict_inode()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 94ee8494
Loading
Loading
Loading
Loading
+14 −7
Original line number Original line Diff line number Diff line
@@ -969,7 +969,7 @@ static void ocfs2_cleanup_delete_inode(struct inode *inode,
	truncate_inode_pages(&inode->i_data, 0);
	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;
	int wipe, status;
	sigset_t oldset;
	sigset_t oldset;
@@ -1075,20 +1075,17 @@ void ocfs2_delete_inode(struct inode *inode)
bail_unblock:
bail_unblock:
	ocfs2_unblock_signals(&oldset);
	ocfs2_unblock_signals(&oldset);
bail:
bail:
	clear_inode(inode);
	mlog_exit_void();
	mlog_exit_void();
}
}


void ocfs2_clear_inode(struct inode *inode)
static void ocfs2_clear_inode(struct inode *inode)
{
{
	int status;
	int status;
	struct ocfs2_inode_info *oi = OCFS2_I(inode);
	struct ocfs2_inode_info *oi = OCFS2_I(inode);


	mlog_entry_void();
	mlog_entry_void();


	if (!inode)
	end_writeback(inode);
		goto bail;

	mlog(0, "Clearing inode: %llu, nlink = %u\n",
	mlog(0, "Clearing inode: %llu, nlink = %u\n",
	     (unsigned long long)OCFS2_I(inode)->ip_blkno, inode->i_nlink);
	     (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,
	jbd2_journal_release_jbd_inode(OCFS2_SB(inode->i_sb)->journal->j_journal,
				       &oi->ip_jinode);
				       &oi->ip_jinode);


bail:
	mlog_exit_void();
	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
/* Called under inode_lock, with no more references on the
 * struct inode, so it's safe here to check the flags field
 * struct inode, so it's safe here to check the flags field
 * and to manipulate i_nlink without any other locks. */
 * and to manipulate i_nlink without any other locks. */
+1 −2
Original line number Original line Diff line number Diff line
@@ -123,8 +123,7 @@ static inline struct ocfs2_caching_info *INODE_CACHE(struct inode *inode)
	return &OCFS2_I(inode)->ip_metadata_cache;
	return &OCFS2_I(inode)->ip_metadata_cache;
}
}


void ocfs2_clear_inode(struct inode *inode);
void ocfs2_evict_inode(struct inode *inode);
void ocfs2_delete_inode(struct inode *inode);
void ocfs2_drop_inode(struct inode *inode);
void ocfs2_drop_inode(struct inode *inode);


/* Flags for ocfs2_iget() */
/* Flags for ocfs2_iget() */
+1 −2
Original line number Original line Diff line number Diff line
@@ -145,8 +145,7 @@ static const struct super_operations ocfs2_sops = {
	.alloc_inode	= ocfs2_alloc_inode,
	.alloc_inode	= ocfs2_alloc_inode,
	.destroy_inode	= ocfs2_destroy_inode,
	.destroy_inode	= ocfs2_destroy_inode,
	.drop_inode	= ocfs2_drop_inode,
	.drop_inode	= ocfs2_drop_inode,
	.clear_inode	= ocfs2_clear_inode,
	.evict_inode	= ocfs2_evict_inode,
	.delete_inode	= ocfs2_delete_inode,
	.sync_fs	= ocfs2_sync_fs,
	.sync_fs	= ocfs2_sync_fs,
	.put_super	= ocfs2_put_super,
	.put_super	= ocfs2_put_super,
	.remount_fs	= ocfs2_remount,
	.remount_fs	= ocfs2_remount,