linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [f2fs-dev] [PATCH v2 00/12] lazytime fix and cleanups
@ 2021-01-09  7:58 Eric Biggers
  2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 01/12] fs: fix lazytime expiration handling in __writeback_single_inode() Eric Biggers
                   ` (12 more replies)
  0 siblings, 13 replies; 41+ messages in thread
From: Eric Biggers @ 2021-01-09  7:58 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: linux-xfs, linux-ext4, Theodore Ts'o, Christoph Hellwig,
	linux-f2fs-devel

Hello,

Patch 1 fixes a bug in how __writeback_single_inode() handles lazytime
expirations.  I originally reported this last year
(https://lore.kernel.org/r/20200306004555.GB225345@gmail.com) because it
causes the FS_IOC_REMOVE_ENCRYPTION_KEY ioctl to not work properly, as
the bug causes inodes to remain dirty after a sync.

It also turns out that lazytime on XFS is partially broken because it
doesn't actually write timestamps to disk after a sync() or after
dirtytime_expire_interval.  This is fixed by the same fix.

This supersedes previously proposed fixes, including
https://lore.kernel.org/r/20200307020043.60118-1-tytso@mit.edu and
https://lore.kernel.org/r/20200325122825.1086872-3-hch@lst.de from last
year (which had some issues and didn't fix the XFS bug), and v1 of this
patchset which took a different approach
(https://lore.kernel.org/r/20210105005452.92521-1-ebiggers@kernel.org).

Patches 2-12 then clean up various things related to lazytime and
writeback, such as clarifying the semantics of ->dirty_inode() and the
inode dirty flags, and improving comments.  Most of these patches could
be applied independently if needed.

This patchset applies to v5.11-rc2.

Changed since v1:
  - Switched to the fix suggested by Jan Kara, and dropped the
    patches which introduced ->lazytime_expired().
  - Fixed bugs in the fat and ext4 patches.
  - Added patch "fs: improve comments for writeback_single_inode()".
  - Reordered the patches a bit.
  - Added Reviewed-by's.

Eric Biggers (12):
  fs: fix lazytime expiration handling in __writeback_single_inode()
  fs: correctly document the inode dirty flags
  fs: only specify I_DIRTY_TIME when needed in generic_update_time()
  fat: only specify I_DIRTY_TIME when needed in fat_update_time()
  fs: don't call ->dirty_inode for lazytime timestamp updates
  fs: pass only I_DIRTY_INODE flags to ->dirty_inode
  fs: clean up __mark_inode_dirty() a bit
  fs: drop redundant check from __writeback_single_inode()
  fs: improve comments for writeback_single_inode()
  gfs2: don't worry about I_DIRTY_TIME in gfs2_fsync()
  ext4: simplify i_state checks in __ext4_update_other_inode_time()
  xfs: remove a stale comment from xfs_file_aio_write_checks()

 Documentation/filesystems/vfs.rst |   5 +-
 fs/ext4/inode.c                   |  20 +----
 fs/f2fs/super.c                   |   3 -
 fs/fat/misc.c                     |  23 +++---
 fs/fs-writeback.c                 | 132 +++++++++++++++++-------------
 fs/gfs2/file.c                    |   4 +-
 fs/gfs2/super.c                   |   2 -
 fs/inode.c                        |  38 +++++----
 fs/xfs/xfs_file.c                 |   6 --
 include/linux/fs.h                |  18 ++--
 10 files changed, 132 insertions(+), 119 deletions(-)


base-commit: e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62
-- 
2.30.0



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2021-02-03 15:50 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-09  7:58 [f2fs-dev] [PATCH v2 00/12] lazytime fix and cleanups Eric Biggers
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 01/12] fs: fix lazytime expiration handling in __writeback_single_inode() Eric Biggers
2021-01-11 10:48   ` Christoph Hellwig
2021-01-11 14:46   ` Jan Kara
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 02/12] fs: correctly document the inode dirty flags Eric Biggers
2021-01-11 14:48   ` Jan Kara
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 03/12] fs: only specify I_DIRTY_TIME when needed in generic_update_time() Eric Biggers
2021-01-11 14:50   ` Jan Kara
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 04/12] fat: only specify I_DIRTY_TIME when needed in fat_update_time() Eric Biggers
2021-01-11 10:52   ` Christoph Hellwig
2021-01-11 19:50     ` Eric Biggers
2021-01-12  5:21       ` Dave Chinner
2021-01-12 13:23       ` Christoph Hellwig
2021-01-11 14:52   ` Jan Kara
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 05/12] fs: don't call ->dirty_inode for lazytime timestamp updates Eric Biggers
2021-01-11 14:54   ` Jan Kara
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 06/12] fs: pass only I_DIRTY_INODE flags to ->dirty_inode Eric Biggers
2021-01-11 14:56   ` Jan Kara
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 07/12] fs: clean up __mark_inode_dirty() a bit Eric Biggers
2021-01-11 14:59   ` Jan Kara
2021-01-09  7:58 ` [f2fs-dev] [PATCH v2 08/12] fs: drop redundant check from __writeback_single_inode() Eric Biggers
2021-01-11 10:52   ` Christoph Hellwig
2021-01-11 15:00   ` Jan Kara
2021-01-09  7:59 ` [f2fs-dev] [PATCH v2 09/12] fs: improve comments for writeback_single_inode() Eric Biggers
2021-01-11 10:53   ` Christoph Hellwig
2021-01-11 15:05   ` Jan Kara
2021-01-09  7:59 ` [f2fs-dev] [PATCH v2 10/12] gfs2: don't worry about I_DIRTY_TIME in gfs2_fsync() Eric Biggers
2021-01-11 15:06   ` Jan Kara
2021-01-09  7:59 ` [f2fs-dev] [PATCH v2 11/12] ext4: simplify i_state checks in __ext4_update_other_inode_time() Eric Biggers
2021-01-11 10:53   ` Christoph Hellwig
2021-01-11 20:23     ` Eric Biggers
2021-01-12 13:25       ` Christoph Hellwig
2021-02-03  5:16         ` Theodore Ts'o
2021-01-11 15:11   ` Jan Kara
2021-01-09  7:59 ` [f2fs-dev] [PATCH v2 12/12] xfs: remove a stale comment from xfs_file_aio_write_checks() Eric Biggers
2021-01-12 17:31   ` Darrick J. Wong
2021-01-11 15:15 ` [f2fs-dev] [PATCH v2 00/12] lazytime fix and cleanups Jan Kara
2021-01-11 20:44   ` Eric Biggers
2021-02-03  5:11     ` Theodore Ts'o
2021-02-03  5:22       ` Eric Biggers
2021-02-03 15:49         ` Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).