All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gao Xiang <hsiangkao@redhat.com>
To: linux-xfs@vger.kernel.org
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>,
	Dave Chinner <david@fromorbit.com>,
	Christoph Hellwig <hch@lst.de>,
	Eric Sandeen <sandeen@sandeen.net>,
	Gao Xiang <hsiangkao@redhat.com>
Subject: [PATCH v4 0/6] xfs: some xfs_dialloc() cleanup
Date: Tue,  8 Dec 2020 20:19:57 +0800	[thread overview]
Message-ID: <20201208122003.3158922-1-hsiangkao@redhat.com> (raw)

Hi folks,

This is v4 of the following patchset
https://lore.kernel.org/r/20201124155130.40848-1-hsiangkao@redhat.com
, which tends to simplify xfs_dialloc() logic.

This version includes Dave's original patch
https://lore.kernel.org/r/20201124221623.GC2842436@dread.disaster.area

to avoid the original double call of xfs_dialloc() and confusing
ialloc_context with some split in order for better review and minor
modification (e.g. ino isn't passed in xfs_ialloc()).

I'm not quite sure what's messy ENOSPC mentioned in the original
patch since return 0 and *ipp = NULL in xfs_dir_ialloc() would cause
NULL-dereference in its callers, so I leave this part alone, although
I think noroom has no use at all (it can be cleaned up as well with
a following patch) (at a glance, the final shape looks almost ok...)

I dropped [PATCH v1 3/3] since xfs_ialloc_select_ag() already looks
simple enough (comments about this are welcome... I can re-add this
if needed.)

I'm re-runing xfstests -g auto with the whole series for now since
a bit left behind this time, hopefully no extra issues here. I've
dropped all RVBs from "[PATCH v4 3/6]" since some more modification
here...

Thanks for your time.

changes since v3 (Christoph):
 - (2/6) get rid of a brace;
 - (2/6) keeping xfs_buf_relse() in the callers;
 - (2/6) get rid of "XXX:" comment;
 - (3/6) rename xfs_ialloc() to xfs_init_new_inode();
 - (3/6) rename pino to parent_ino;
 - (3/6) convert the return type from int to struct xfs_inode *
         (so I dropped all RVBs of this patch, since more modification
          here....)
 - (4/6) refine a comment;
 - (5/6) add a found_ag lebel to have a central place for the
         sucessful return, since there are somewhat too many labels here,
         I didn't add another error lebel to make *IO_agbp = NULL and
         return error;
 - (6/6) drop the else after the break.

changes since v2:
 - use struct xfs_dquot_acct * instead of void * on dqinfo (Darrick);
 - rename xfs_ialloc() to xfs_dir_ialloc_init() (Dave);
 - fix a temporary state compile error due to (ialloc_context ->
   &ialloc_context) on [PATCH v2 3/6];
 - collect more RVBs from the reply of v2;
 - Cc Eric to confirm dqinfo;

changes since v1:
 - add Dave's patch with spilt and minor update;
 - update comments above xfs_ialloc_ag_alloc() suggested by Darrick;
 - collect RVBs to
    "xfs: convert noroom, okalloc in xfs_dialloc() to bool"
    "xfs: kill ialloced in xfs_dialloc()"
   since no real logic changes ("(!error)" to "(error==0)" suggested
   by Darrick has been updated).

Thanks,
Gao Xiang


Dave Chinner (4):
  xfs: introduce xfs_dialloc_roll()
  xfs: move on-disk inode allocation out of xfs_ialloc()
  xfs: move xfs_dialloc_roll() into xfs_dialloc()
  xfs: spilt xfs_dialloc() into 2 functions

Gao Xiang (2):
  xfs: convert noroom, okalloc in xfs_dialloc() to bool
  xfs: kill ialloced in xfs_dialloc()

 fs/xfs/libxfs/xfs_ialloc.c | 174 +++++++++++++------------
 fs/xfs/libxfs/xfs_ialloc.h |  36 +++---
 fs/xfs/xfs_inode.c         | 259 +++++++++----------------------------
 fs/xfs/xfs_inode.h         |   6 +-
 fs/xfs/xfs_qm.c            |  27 ++--
 fs/xfs/xfs_symlink.c       |   8 +-
 6 files changed, 197 insertions(+), 313 deletions(-)

-- 
2.18.4


             reply	other threads:[~2020-12-08 12:22 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-08 12:19 Gao Xiang [this message]
2020-12-08 12:19 ` [PATCH v4 1/6] xfs: convert noroom, okalloc in xfs_dialloc() to bool Gao Xiang
2020-12-08 12:19 ` [PATCH v4 2/6] xfs: introduce xfs_dialloc_roll() Gao Xiang
2020-12-08 23:09   ` Darrick J. Wong
2020-12-08 23:36     ` Gao Xiang
2020-12-08 12:20 ` [PATCH v4 3/6] xfs: move on-disk inode allocation out of xfs_ialloc() Gao Xiang
2020-12-08 23:09   ` Darrick J. Wong
2020-12-09  7:52   ` Christoph Hellwig
2020-12-09  8:43     ` Gao Xiang
2020-12-09 10:22       ` Christoph Hellwig
2020-12-09 11:13         ` Gao Xiang
2020-12-08 12:20 ` [PATCH v4 4/6] xfs: move xfs_dialloc_roll() into xfs_dialloc() Gao Xiang
2020-12-08 12:20 ` [PATCH v4 5/6] xfs: spilt xfs_dialloc() into 2 functions Gao Xiang
2020-12-09  7:54   ` Christoph Hellwig
2020-12-08 12:20 ` [PATCH v4 6/6] xfs: kill ialloced in xfs_dialloc() Gao Xiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201208122003.3158922-1-hsiangkao@redhat.com \
    --to=hsiangkao@redhat.com \
    --cc=darrick.wong@oracle.com \
    --cc=david@fromorbit.com \
    --cc=hch@lst.de \
    --cc=linux-xfs@vger.kernel.org \
    --cc=sandeen@sandeen.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.