mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 04:02:26 +00:00
fs: simplify invalidate_inodes
kill_dirty has always been true for a long time, so hard code it and remove the unused return value. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Christian Brauner <brauner@kernel.org> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Message-Id: <20230811100828.1897174-18-hch@lst.de> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
38bcdd3893
commit
e127b9bccd
17
fs/inode.c
17
fs/inode.c
@ -752,16 +752,11 @@ EXPORT_SYMBOL_GPL(evict_inodes);
|
||||
/**
|
||||
* invalidate_inodes - attempt to free all inodes on a superblock
|
||||
* @sb: superblock to operate on
|
||||
* @kill_dirty: flag to guide handling of dirty inodes
|
||||
*
|
||||
* Attempts to free all inodes for a given superblock. If there were any
|
||||
* busy inodes return a non-zero value, else zero.
|
||||
* If @kill_dirty is set, discard dirty inodes too, otherwise treat
|
||||
* them as busy.
|
||||
* Attempts to free all inodes (including dirty inodes) for a given superblock.
|
||||
*/
|
||||
int invalidate_inodes(struct super_block *sb, bool kill_dirty)
|
||||
void invalidate_inodes(struct super_block *sb)
|
||||
{
|
||||
int busy = 0;
|
||||
struct inode *inode, *next;
|
||||
LIST_HEAD(dispose);
|
||||
|
||||
@ -773,14 +768,8 @@ int invalidate_inodes(struct super_block *sb, bool kill_dirty)
|
||||
spin_unlock(&inode->i_lock);
|
||||
continue;
|
||||
}
|
||||
if (inode->i_state & I_DIRTY_ALL && !kill_dirty) {
|
||||
spin_unlock(&inode->i_lock);
|
||||
busy = 1;
|
||||
continue;
|
||||
}
|
||||
if (atomic_read(&inode->i_count)) {
|
||||
spin_unlock(&inode->i_lock);
|
||||
busy = 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -798,8 +787,6 @@ int invalidate_inodes(struct super_block *sb, bool kill_dirty)
|
||||
spin_unlock(&sb->s_inode_list_lock);
|
||||
|
||||
dispose_list(&dispose);
|
||||
|
||||
return busy;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -201,7 +201,7 @@ void lock_two_inodes(struct inode *inode1, struct inode *inode2,
|
||||
* fs-writeback.c
|
||||
*/
|
||||
extern long get_nr_dirty_inodes(void);
|
||||
extern int invalidate_inodes(struct super_block *, bool);
|
||||
void invalidate_inodes(struct super_block *sb);
|
||||
|
||||
/*
|
||||
* dcache.c
|
||||
|
@ -1204,7 +1204,7 @@ static void fs_bdev_mark_dead(struct block_device *bdev, bool surprise)
|
||||
if (!surprise)
|
||||
sync_filesystem(sb);
|
||||
shrink_dcache_sb(sb);
|
||||
invalidate_inodes(sb, true);
|
||||
invalidate_inodes(sb);
|
||||
if (sb->s_op->shutdown)
|
||||
sb->s_op->shutdown(sb);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user