f2fs: move f2fs_force_buffered_io() into file.c
authorEric Biggers <ebiggers@google.com>
Sat, 27 Aug 2022 06:58:48 +0000 (23:58 -0700)
committerEric Biggers <ebiggers@google.com>
Mon, 12 Sep 2022 00:47:12 +0000 (19:47 -0500)
f2fs_force_buffered_io() is only used in file.c, so move it into there.
No behavior change.  This makes it easier to review later patches.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Jaegeuk Kim <jaegeuk@kernel.org>
Link: https://lore.kernel.org/r/20220827065851.135710-6-ebiggers@kernel.org
fs/f2fs/f2fs.h
fs/f2fs/file.c

index 0759da1919f4adeb24b64a400a4c3ffea440a3e2..aea816a133a8f1a116ef567d68bc6f1f0c3f9831 100644 (file)
@@ -4471,17 +4471,6 @@ static inline void f2fs_i_compr_blocks_update(struct inode *inode,
        f2fs_mark_inode_dirty_sync(inode, true);
 }
 
-static inline int block_unaligned_IO(struct inode *inode,
-                               struct kiocb *iocb, struct iov_iter *iter)
-{
-       unsigned int i_blkbits = READ_ONCE(inode->i_blkbits);
-       unsigned int blocksize_mask = (1 << i_blkbits) - 1;
-       loff_t offset = iocb->ki_pos;
-       unsigned long align = offset | iov_iter_alignment(iter);
-
-       return align & blocksize_mask;
-}
-
 static inline bool f2fs_allow_multi_device_dio(struct f2fs_sb_info *sbi,
                                                                int flag)
 {
@@ -4492,35 +4481,6 @@ static inline bool f2fs_allow_multi_device_dio(struct f2fs_sb_info *sbi,
        return sbi->aligned_blksize;
 }
 
-static inline bool f2fs_force_buffered_io(struct inode *inode,
-                               struct kiocb *iocb, struct iov_iter *iter)
-{
-       struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
-       int rw = iov_iter_rw(iter);
-
-       if (!fscrypt_dio_supported(inode))
-               return true;
-       if (fsverity_active(inode))
-               return true;
-       if (f2fs_compressed_file(inode))
-               return true;
-
-       /* disallow direct IO if any of devices has unaligned blksize */
-       if (f2fs_is_multi_device(sbi) && !sbi->aligned_blksize)
-               return true;
-
-       if (f2fs_lfs_mode(sbi) && (rw == WRITE)) {
-               if (block_unaligned_IO(inode, iocb, iter))
-                       return true;
-               if (F2FS_IO_ALIGNED(sbi))
-                       return true;
-       }
-       if (is_sbi_flag_set(F2FS_I_SB(inode), SBI_CP_DISABLED))
-               return true;
-
-       return false;
-}
-
 static inline bool f2fs_need_verity(const struct inode *inode, pgoff_t idx)
 {
        return fsverity_active(inode) &&
index ce4905a073b3c413a751efc0dec5069a1a5e32c7..8a9455bf956f16143f31617913cc651125aa2e6b 100644 (file)
@@ -808,6 +808,46 @@ int f2fs_truncate(struct inode *inode)
        return 0;
 }
 
+static int block_unaligned_IO(struct inode *inode, struct kiocb *iocb,
+                             struct iov_iter *iter)
+{
+       unsigned int i_blkbits = READ_ONCE(inode->i_blkbits);
+       unsigned int blocksize_mask = (1 << i_blkbits) - 1;
+       loff_t offset = iocb->ki_pos;
+       unsigned long align = offset | iov_iter_alignment(iter);
+
+       return align & blocksize_mask;
+}
+
+static bool f2fs_force_buffered_io(struct inode *inode,
+                                  struct kiocb *iocb, struct iov_iter *iter)
+{
+       struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
+       int rw = iov_iter_rw(iter);
+
+       if (!fscrypt_dio_supported(inode))
+               return true;
+       if (fsverity_active(inode))
+               return true;
+       if (f2fs_compressed_file(inode))
+               return true;
+
+       /* disallow direct IO if any of devices has unaligned blksize */
+       if (f2fs_is_multi_device(sbi) && !sbi->aligned_blksize)
+               return true;
+
+       if (f2fs_lfs_mode(sbi) && (rw == WRITE)) {
+               if (block_unaligned_IO(inode, iocb, iter))
+                       return true;
+               if (F2FS_IO_ALIGNED(sbi))
+                       return true;
+       }
+       if (is_sbi_flag_set(F2FS_I_SB(inode), SBI_CP_DISABLED))
+               return true;
+
+       return false;
+}
+
 int f2fs_getattr(struct user_namespace *mnt_userns, const struct path *path,
                 struct kstat *stat, u32 request_mask, unsigned int query_flags)
 {