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

Commit 845a2cc0 authored by Al Viro's avatar Al Viro
Browse files

convert reiserfs to ->evict_inode()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent bd555975
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ int reiserfs_commit_write(struct file *f, struct page *page,
int reiserfs_prepare_write(struct file *f, struct page *page,
			   unsigned from, unsigned to);

void reiserfs_delete_inode(struct inode *inode)
void reiserfs_evict_inode(struct inode *inode)
{
	/* We need blocks for transaction + (user+group) quota update (possibly delete) */
	int jbegin_count =
@@ -35,10 +35,12 @@ void reiserfs_delete_inode(struct inode *inode)
	int depth;
	int err;

	if (!is_bad_inode(inode))
	if (!inode->i_nlink && !is_bad_inode(inode))
		dquot_initialize(inode);

	truncate_inode_pages(&inode->i_data, 0);
	if (inode->i_nlink)
		goto no_delete;

	depth = reiserfs_write_lock_once(inode->i_sb);

@@ -77,9 +79,14 @@ void reiserfs_delete_inode(struct inode *inode)
		;
	}
      out:
	clear_inode(inode);	/* note this must go after the journal_end to prevent deadlock */
	end_writeback(inode);	/* note this must go after the journal_end to prevent deadlock */
	dquot_drop(inode);
	inode->i_blocks = 0;
	reiserfs_write_unlock_once(inode->i_sb, depth);

no_delete:
	end_writeback(inode);
	dquot_drop(inode);
}

static void _make_cpu_key(struct cpu_key *key, int version, __u32 dirid,
+1 −7
Original line number Diff line number Diff line
@@ -591,11 +591,6 @@ static void reiserfs_dirty_inode(struct inode *inode)
	reiserfs_write_unlock_once(inode->i_sb, lock_depth);
}

static void reiserfs_clear_inode(struct inode *inode)
{
	dquot_drop(inode);
}

#ifdef CONFIG_QUOTA
static ssize_t reiserfs_quota_write(struct super_block *, int, const char *,
				    size_t, loff_t);
@@ -608,8 +603,7 @@ static const struct super_operations reiserfs_sops = {
	.destroy_inode = reiserfs_destroy_inode,
	.write_inode = reiserfs_write_inode,
	.dirty_inode = reiserfs_dirty_inode,
	.clear_inode = reiserfs_clear_inode,
	.delete_inode = reiserfs_delete_inode,
	.evict_inode = reiserfs_evict_inode,
	.put_super = reiserfs_put_super,
	.write_super = reiserfs_write_super,
	.sync_fs = reiserfs_sync_fs,
+1 −1
Original line number Diff line number Diff line
@@ -2033,7 +2033,7 @@ void reiserfs_read_locked_inode(struct inode *inode,
				struct reiserfs_iget_args *args);
int reiserfs_find_actor(struct inode *inode, void *p);
int reiserfs_init_locked_inode(struct inode *inode, void *p);
void reiserfs_delete_inode(struct inode *inode);
void reiserfs_evict_inode(struct inode *inode);
int reiserfs_write_inode(struct inode *inode, struct writeback_control *wbc);
int reiserfs_get_block(struct inode *inode, sector_t block,
		       struct buffer_head *bh_result, int create);