linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Brian Foster <bfoster@redhat.com>
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>, linux-xfs@vger.kernel.org
Subject: Re: [PATCH v5 00/55] xfs: online scrub/repair support
Date: Wed, 25 Jan 2017 08:40:42 +1100	[thread overview]
Message-ID: <20170124214042.GA32761@dastard> (raw)
In-Reply-To: <20170124205023.GI60234@bfoster.bfoster>

On Tue, Jan 24, 2017 at 03:50:23PM -0500, Brian Foster wrote:
> On Tue, Jan 24, 2017 at 11:37:19AM -0800, Darrick J. Wong wrote:
> > On Tue, Jan 24, 2017 at 12:08:12PM -0500, Brian Foster wrote:
> > > Trimmed CC to XFS.
> > > 
> > > On Sat, Jan 21, 2017 at 12:00:15AM -0800, Darrick J. Wong wrote:
> > > > Hi all,
> > > > 
> > > > This is the fifth revision of a patchset that adds to XFS kernel support
> > > > for online metadata scrubbing and repair.  There aren't any on-disk
> > > > format changes.  Changes since v4 include numerous bug fixes, somewhat
> > > > more aggressive log flushing so that on-disk metadata, and the ability
> > > > to distinguish between metadata that's obviously corrupt and metadata
> > > > that merely fails cross-referencing checks in the status that is sent
> > > > back to userspace.  I have also begun using it to check all my
> > > > development workstations, which has been useful for flushing out more
> > > > bugs.
> > > > 
> > > 
> > > Hi Darrick,
> > > 
> > > Sorry I haven't got to looking into this yet.. I have kind of a
> > > logistical suggestion if I may...
> > > 
> > > Can we reduce and repost this in the smallest possible "mergeable
> > > units?" I ask because, at least for me, this kind of huge patchset tends
> > > to continuously get pushed down my todo list because the size of it
> > > suggests I'm going to need to set aside a decent amount of time to grok
> > > the whole thing, test it, etc.
> > > 
> > > We obviously lose quite a bit of (already limited) review throughput
> > > (and expertise) without Dave around. I think this would be easier for us
> > 
> > Yeah.  I've been reviewing my own patches, but when I encounter things
> > I simply stuff them into the patches directly.  I'm also fairly sure
> > that R-v-b'ing my own patches doesn't carry much weight. ;)
> > 
> 
> Heh. :P That's better than nothing I suppose, but yeah, a self r-b is
> probably to be avoided. At least I don't recall a point where we had to
> resort to that in the recent past (a better question for Dave). On the
> flip side, I think it has been naturally taking longer to get things
> reviewed and merged irrespective of Dave's vacation.

When it comes to review, the maintainer does not get a free pass. In
fact, it's even more important that the maintainer's code is
reviewed by someone else as it makes it clear that the
maintainer is not "all-powerful" and does not have privileges that
other developers don't have. i.e. there must be extremely compelling
reasons for a maintainer to commit their own code to the kernel tree
without peer review.

> > > to digest from a review perspective if we could do so in smaller chunks.
> > > For example, and just going by some of the patch titles:
> > > 
> > > - Some of the patches look like they are standalone bugfixes. If so, a
> > >   collection of those could be put into a single series, reviewed and
> > >   merged probably fairly quickly.
> > > - getfsmap looks like a standalone ioctl()..? That seems like something
> > >   that could also be reviewed and merged incrementally.
> > 
> > Originally the only consumer of getfsmap was the scrub tool itself,
> > though spaceman is now the second (real) user of it.
> > 
> > (The GET_AG_RESBLKS ioctl retrieves the per-ag reservation counters so
> > that scrub can compare what the fs reports for block/inode counts
> > against what it scrubbed, for the purpose of evaluating just how much of
> > the fs it found.)
> > 
> > > - Getting into the scrub stuff, could we separate scrubbing and online
> > >   repair into incremental series?
> > 
> > Yes, I could split these into (approximately) these kernel series:
> > 
> > 1) The usual random fixes (5 patches)
> > 2) GETFSMAP and GET_AG_RESBLKS (8)
> > 3) Basic scrub (19)
> > 4) Scrub cross-references (9)
> > 5) Repair (13)
> > 
> 
> That looks much more approachable. :)

This is generally how I've approached review of Darrick's patchbombs
- review and merge smaller, self-contained chunks one at a time. I
guess over the years I've gotten used to handling big patch sets
like this, so I have never found it a problem to break them into
manageable chunks myself... :P

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

      reply	other threads:[~2017-01-24 21:41 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-21  8:00 [PATCH v5 00/55] xfs: online scrub/repair support Darrick J. Wong
2017-01-21  8:00 ` [PATCH 01/55] xfs: fix toctou race when locking an inode to access the data map Darrick J. Wong
2017-01-21  8:00 ` [PATCH 02/55] xfs: fail _dir_open when readahead fails Darrick J. Wong
2017-01-21  8:00 ` [PATCH 03/55] xfs: filter out obviously bad btree pointers Darrick J. Wong
2017-01-21  8:00 ` [PATCH 04/55] xfs: check for obviously bad level values in the bmbt root Darrick J. Wong
2017-01-21  8:00 ` [PATCH 05/55] xfs: verify free block header fields Darrick J. Wong
2017-01-21  8:00 ` [PATCH 06/55] xfs: plumb in needed functions for range querying of the freespace btrees Darrick J. Wong
2017-01-21  8:00 ` [PATCH 07/55] xfs: provide a query_range function for " Darrick J. Wong
2017-01-21  8:01 ` [PATCH 08/55] xfs: create a function to query all records in a btree Darrick J. Wong
2017-01-21  8:01 ` [PATCH 09/55] xfs: introduce the XFS_IOC_GETFSMAP ioctl Darrick J. Wong
2017-01-21  8:01 ` [PATCH 10/55] xfs: report shared extents in getfsmapx Darrick J. Wong
2017-01-21  8:01 ` [PATCH 11/55] xfs: have getfsmap fall back to the freesp btrees when rmap is not present Darrick J. Wong
2017-01-21  8:01 ` [PATCH 12/55] xfs: getfsmap should fall back to rtbitmap when rtrmapbt " Darrick J. Wong
2017-01-21  8:01 ` [PATCH 13/55] xfs: query the per-AG reservation counters Darrick J. Wong
2017-01-21  8:01 ` [PATCH 14/55] xfs: add scrub tracepoints Darrick J. Wong
2017-01-21  8:01 ` [PATCH 15/55] xfs: create an ioctl to scrub AG metadata Darrick J. Wong
2017-01-21  8:01 ` [PATCH 16/55] xfs: generic functions to scrub metadata and btrees Darrick J. Wong
2017-01-21  8:02 ` [PATCH 17/55] xfs: scrub the backup superblocks Darrick J. Wong
2017-01-21  8:02 ` [PATCH 18/55] xfs: scrub AGF and AGFL Darrick J. Wong
2017-01-21  8:02 ` [PATCH 19/55] xfs: scrub the AGI Darrick J. Wong
2017-01-21  8:02 ` [PATCH 20/55] xfs: support scrubbing free space btrees Darrick J. Wong
2017-01-21  8:02 ` [PATCH 21/55] xfs: support scrubbing inode btrees Darrick J. Wong
2017-01-21  8:02 ` [PATCH 22/55] xfs: support scrubbing rmap btree Darrick J. Wong
2017-01-21  8:02 ` [PATCH 23/55] xfs: support scrubbing refcount btree Darrick J. Wong
2017-01-21  8:02 ` [PATCH 24/55] xfs: scrub inodes Darrick J. Wong
2017-01-21  8:02 ` [PATCH 25/55] xfs: scrub inode block mappings Darrick J. Wong
2017-01-21  8:03 ` [PATCH 26/55] xfs: scrub directory/attribute btrees Darrick J. Wong
2017-01-21  8:03 ` [PATCH 27/55] xfs: scrub directory metadata Darrick J. Wong
2017-01-21  8:03 ` [PATCH 28/55] xfs: scrub directory freespace Darrick J. Wong
2017-01-21  8:03 ` [PATCH 29/55] xfs: scrub extended attributes Darrick J. Wong
2017-01-21  8:03 ` [PATCH 30/55] xfs: scrub symbolic links Darrick J. Wong
2017-01-21  8:03 ` [PATCH 31/55] xfs: scrub realtime bitmap/summary Darrick J. Wong
2017-01-21  8:03 ` [PATCH 32/55] xfs: set up cross-referencing helpers Darrick J. Wong
2017-01-21  8:03 ` [PATCH 33/55] xfs: scrub should cross-reference with the bnobt Darrick J. Wong
2017-01-21  8:04 ` [PATCH 34/55] xfs: cross-reference bnobt records with cntbt Darrick J. Wong
2017-01-21  8:04 ` [PATCH 35/55] xfs: cross-reference extents with AG header Darrick J. Wong
2017-01-21  8:04 ` [PATCH 36/55] xfs: cross-reference inode btrees during scrub Darrick J. Wong
2017-01-21  8:04 ` [PATCH 37/55] xfs: cross-reference reverse-mapping btree Darrick J. Wong
2017-01-21  8:04 ` [PATCH 38/55] xfs: cross-reference refcount btree during scrub Darrick J. Wong
2017-01-21  8:04 ` [PATCH 39/55] xfs: scrub should cross-reference the realtime bitmap Darrick J. Wong
2017-01-21  8:04 ` [PATCH 40/55] xfs: cross-reference the block mappings when possible Darrick J. Wong
2017-01-21  8:04 ` [PATCH 41/55] xfs: shut off scrub-related error and corruption messages Darrick J. Wong
2017-01-21  8:04 ` [PATCH 42/55] xfs: create tracepoints for online repair Darrick J. Wong
2017-01-21  8:05 ` [PATCH 43/55] xfs: implement the metadata repair ioctl flag Darrick J. Wong
2017-01-21  8:05 ` [PATCH 44/55] xfs: add helper routines for the repair code Darrick J. Wong
2017-01-21  8:05 ` [PATCH 45/55] xfs: repair superblocks Darrick J. Wong
2017-01-21  8:05 ` [PATCH 46/55] xfs: repair the AGF and AGFL Darrick J. Wong
2017-01-21  8:05 ` [PATCH 47/55] xfs: rebuild the AGI Darrick J. Wong
2017-01-21  8:05 ` [PATCH 48/55] xfs: repair free space btrees Darrick J. Wong
2017-01-21  8:05 ` [PATCH 49/55] xfs: repair inode btrees Darrick J. Wong
2017-01-21  8:05 ` [PATCH 50/55] xfs: rebuild the rmapbt Darrick J. Wong
2017-01-21  8:05 ` [PATCH 51/55] xfs: repair refcount btrees Darrick J. Wong
2017-01-21  8:05 ` [PATCH 52/55] xfs: online repair of inodes Darrick J. Wong
2017-01-21  8:06 ` [PATCH 53/55] xfs: repair inode block maps Darrick J. Wong
2017-01-21  8:06 ` [PATCH 54/55] xfs: repair damaged symlinks Darrick J. Wong
2017-01-21  8:06 ` [PATCH 55/55] xfs: avoid mount-time deadlock in CoW extent recovery Darrick J. Wong
2017-01-24 17:08 ` [PATCH v5 00/55] xfs: online scrub/repair support Brian Foster
2017-01-24 19:37   ` Darrick J. Wong
2017-01-24 20:50     ` Brian Foster
2017-01-24 21:40       ` Dave Chinner [this message]

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=20170124214042.GA32761@dastard \
    --to=david@fromorbit.com \
    --cc=bfoster@redhat.com \
    --cc=darrick.wong@oracle.com \
    --cc=linux-xfs@vger.kernel.org \
    /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 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).