linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/12] Btrfs: orphan and truncate fixes
@ 2018-05-11 20:13 Omar Sandoval
  2018-05-11 20:13 ` [PATCH v4 01/12] Btrfs: update stale comments referencing vmtruncate() Omar Sandoval
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Omar Sandoval @ 2018-05-11 20:13 UTC (permalink / raw)
  To: linux-btrfs
  Cc: kernel-team, Chris Mason, Josef Bacik, Nikolay Borisov,
	David Sterba

From: Omar Sandoval <osandov@fb.com>

Hi,

This is the fourth (and hopefully final) version of the orphan item
early ENOSPC and related fixes.

Changes since v3:

- Changed another stale comment in patch 1
- Moved BTRFS_INODE_ORPHAN_META_RESERVED flag removal to patch 10
  instead of patch 9
- Moved inode runtime flag renumbering to a separate patch (patch 11)
- Added some more reviewed-bys

Changes since v2:

- Add patch 5 to get rid of BTRFS_INODE_HAS_ORPHAN_ITEM
- Move patch 10 to patch 6
- Got rid of patch 5; the bug goes away in the process of removing code
  for patches 9 and 10
- Rename patch 10 batch to what it was called in v1

Changes since v1:

- Added two extra cleanups, patches 10 and 11
- Added a forgotten clear of the orphan bit in patch 8
- Reworded titles of patches 6 and 9
- Added people's reviewed-bys

Cover letter from v1:

At Facebook we hit an early ENOSPC issue which we tracked down to the
reservations for orphan items of deleted-but-still-open files. The
primary function of this series is to fix that bug, but I ended up
uncovering a pile of other issues in the process, most notably that the
orphan items we create for truncate are useless.

I've also posted an xfstest that reproduces this bug.

Thanks!

*** BLURB HERE ***

Omar Sandoval (12):
  Btrfs: update stale comments referencing vmtruncate()
  Btrfs: fix error handling in btrfs_truncate_inode_items()
  Btrfs: don't BUG_ON() in btrfs_truncate_inode_items()
  Btrfs: stop creating orphan items for truncate
  Btrfs: get rid of BTRFS_INODE_HAS_ORPHAN_ITEM
  Btrfs: delete dead code in btrfs_orphan_commit_root()
  Btrfs: don't return ino to ino cache if inode item removal fails
  Btrfs: refactor btrfs_evict_inode() reserve refill dance
  Btrfs: fix ENOSPC caused by orphan items reservations
  Btrfs: get rid of unused orphan infrastructure
  Btrfs: renumber BTRFS_INODE_ runtime flags
  Btrfs: reserve space for O_TMPFILE orphan item deletion

 fs/btrfs/btrfs_inode.h      |  18 +-
 fs/btrfs/ctree.h            |   8 -
 fs/btrfs/disk-io.c          |   9 -
 fs/btrfs/extent-tree.c      |  38 ---
 fs/btrfs/free-space-cache.c |   6 +-
 fs/btrfs/inode.c            | 580 ++++++++++--------------------------
 fs/btrfs/transaction.c      |   1 -
 7 files changed, 172 insertions(+), 488 deletions(-)

-- 
2.17.0


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

end of thread, other threads:[~2018-05-18 17:38 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-11 20:13 [PATCH v4 00/12] Btrfs: orphan and truncate fixes Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 01/12] Btrfs: update stale comments referencing vmtruncate() Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 02/12] Btrfs: fix error handling in btrfs_truncate_inode_items() Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 03/12] Btrfs: don't BUG_ON() " Omar Sandoval
2018-05-17 17:18   ` David Sterba
2018-05-11 20:13 ` [PATCH v4 04/12] Btrfs: stop creating orphan items for truncate Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 05/12] Btrfs: get rid of BTRFS_INODE_HAS_ORPHAN_ITEM Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 06/12] Btrfs: delete dead code in btrfs_orphan_commit_root() Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 07/12] Btrfs: don't return ino to ino cache if inode item removal fails Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 08/12] Btrfs: refactor btrfs_evict_inode() reserve refill dance Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 09/12] Btrfs: fix ENOSPC caused by orphan items reservations Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 10/12] Btrfs: get rid of unused orphan infrastructure Omar Sandoval
2018-05-11 20:13 ` [PATCH v4 11/12] Btrfs: renumber BTRFS_INODE_ runtime flags Omar Sandoval
2018-05-14 15:17   ` David Sterba
2018-05-11 20:13 ` [PATCH v4 12/12] Btrfs: reserve space for O_TMPFILE orphan item deletion Omar Sandoval
2018-05-18 15:14 ` [PATCH v4 00/12] Btrfs: orphan and truncate fixes David Sterba
2018-05-18 17:38   ` Omar Sandoval

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).