fs: simplify invalidate_inodes
authorChristoph Hellwig <hch@lst.de>
Fri, 11 Aug 2023 10:08:28 +0000 (12:08 +0200)
committerChristian Brauner <brauner@kernel.org>
Mon, 21 Aug 2023 12:35:32 +0000 (14:35 +0200)
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>
fs/inode.c
fs/internal.h
fs/super.c

index 8fefb69..25bd263 100644 (file)
@@ -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 @@ again:
                        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 @@ again:
        spin_unlock(&sb->s_inode_list_lock);
 
        dispose_list(&dispose);
-
-       return busy;
 }
 
 /*
index f7a3dc1..b94290f 100644 (file)
@@ -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
index 1c7c748..c878e73 100644 (file)
@@ -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);