All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Overhaul free objectid code
@ 2020-12-07 15:32 Nikolay Borisov
  2020-12-07 15:32 ` [PATCH 1/6] btrfs: Rename btrfs_find_highest_objectid to btrfs_init_root_free_objectid Nikolay Borisov
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Nikolay Borisov @ 2020-12-07 15:32 UTC (permalink / raw)
  To: linux-btrfs; +Cc: Nikolay Borisov

This series aims to make the free objectid code more straighforward. Currently
the highest used objectid is used which implies that when btrfs_get_free_objectid
is called the pre-increment operator is used. At the same time when looking
at how highest_objectid is initialised in find_free_objectid it's using the,
at first looko unusual, 'BTRFS_FREE_OBJECTID - 1'. Furthermore btrfs_find_free_objectid
is badly named as it's used only in initializaion context.

With the series applied the following is achieved:
 * The 2 functions related to free objectid have better naming which describes
 their semantic meaning.

 * highest_objectid is renamed to free_objectid which clearly states what it's
 supposed to hold, also btrfs_get_free_objectid now returns the value and
 does a post-increment which seems more logical than the previous cod.

 * Now it's not necessary to re-initialize free_objectid in create_subvol
 since that member is now consistently initialized when a given root is read
 for the first time in btrfs_init_fs_root->btrfs_init_root_free_objectid.
 Additionally in btrfs_init_root_free_objectid free_objectid is now initialized
 to BTRFS_FIRST_FREE_OBJECTID so it's self-explanatory.

This series survived xfstest as well as a new xfstest which verifies precisely
this functionality.


Nikolay Borisov (6):
  btrfs: Rename btrfs_find_highest_objectid to
    btrfs_init_root_free_objectid
  btrfs: Rename btrfs_find_free_objectid to btrfs_get_free_objectid
  btrfs: Remove useless ASSERTS
  btrfs: Rename highest_objectid to free_objectid
  btrfs: Make free_objectid hold the next available objectid in the root
  btrfs: Remove new_dirid argument from btrfs_create_subvol_root

 fs/btrfs/ctree.h            |  5 ++---
 fs/btrfs/disk-io.c          | 25 ++++++++++---------------
 fs/btrfs/disk-io.h          |  4 ++--
 fs/btrfs/free-space-cache.c |  2 +-
 fs/btrfs/inode.c            | 23 +++++++++++++----------
 fs/btrfs/ioctl.c            | 11 +++--------
 fs/btrfs/relocation.c       |  2 +-
 fs/btrfs/transaction.c      |  2 +-
 fs/btrfs/tree-log.c         |  3 +--
 9 files changed, 34 insertions(+), 43 deletions(-)

--
2.25.1


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

end of thread, other threads:[~2020-12-20 14:33 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-07 15:32 [PATCH 0/6] Overhaul free objectid code Nikolay Borisov
2020-12-07 15:32 ` [PATCH 1/6] btrfs: Rename btrfs_find_highest_objectid to btrfs_init_root_free_objectid Nikolay Borisov
2020-12-07 15:32 ` [PATCH 2/6] btrfs: Rename btrfs_find_free_objectid to btrfs_get_free_objectid Nikolay Borisov
2020-12-07 15:32 ` [PATCH 3/6] btrfs: Remove useless ASSERTS Nikolay Borisov
2020-12-15 16:58   ` David Sterba
2020-12-15 17:48     ` Nikolay Borisov
2020-12-18 15:03       ` David Sterba
2020-12-07 15:32 ` [PATCH 4/6] btrfs: Rename highest_objectid to free_objectid Nikolay Borisov
2020-12-07 15:32 ` [PATCH 5/6] btrfs: Make free_objectid hold the next available objectid in the root Nikolay Borisov
2020-12-07 15:32 ` [PATCH 6/6] btrfs: Remove new_dirid argument from btrfs_create_subvol_root Nikolay Borisov
2020-12-07 15:34 ` [PATCH] btrfs: Add test 154 Nikolay Borisov
2020-12-07 16:19 ` [RESEND PATCH] " Nikolay Borisov
2020-12-20 14:32   ` Eryu Guan
2020-12-07 16:27 ` [PATCH 0/6] Overhaul free objectid code Josef Bacik
2020-12-15 17:08 ` David Sterba

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.