From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Allison Henderson <allison.henderson@oracle.com>
Cc: Eric Sandeen <sandeen@sandeen.net>, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 21/21] xfsprogs: implement the upper half of parent pointers
Date: Tue, 8 May 2018 18:22:15 -0700 [thread overview]
Message-ID: <20180509012215.GC11261@magnolia> (raw)
In-Reply-To: <f2a34921-e4e5-3976-675d-8b9b17429358@oracle.com>
On Tue, May 08, 2018 at 04:13:49PM -0700, Allison Henderson wrote:
>
>
> On 05/08/2018 04:04 PM, Darrick J. Wong wrote:
> > On Tue, May 08, 2018 at 03:52:37PM -0500, Eric Sandeen wrote:
> > > On 5/7/18 11:41 PM, Allison Henderson wrote:
> > > > From: "Darrick J. Wong" <darrick.wong@oracle.com>
> > > >
> > > > Add ioctl definitions to libxfs, build the necessary helpers into
> > > > libfrog and libhandle to iterate parents (and parent paths), then wire
> > > > up xfs_scrub to be able to query parent pointers from userspace. The
> > > > goal of this patch is to exercise userspace, and is nowhere near a
> > > > complete solution. A basic xfs_io parent command implementation
> > > > replaces ... whatever that is that's there now.
> > >
> > > I wonder if it'd be better to send a patch to nuke the current parent code,
> > > and then another to add back something that works. Same result in the end,
> > > but it doesn't look like you're trying to fix old code; the patch itself is
> > > pretty meaningless since it diffs against nonfunctional(?) code.
> >
> > Trouble is, it's exported as a shared library in the xfslibs-dev package
> > (should that be libxfs-dev?) so depending on how conservative you like
> > to be we can't just rip it out.
> >
> > (Though I suppose even Linus has occasionally allowed people to rip and
> > replace kernel/user ABIs when they can demonstrate that it was so broken
> > it never worked for anybody, ever. :P)
> >
> > > Not a huge deal, just a thought.
> >
> > Yeah, this patch was quite quick and dirty when I wrote it, on the
> > assumption that tons of other stuff was going to need reorganization by
> > the time there was a need to land this.
> >
> > --D
>
> Oh, would you prefer I not include it then? I do have an xfstest that's
> using it, but it's not a giant gap to close. I just assumed you probably
> had a reason for the api you set up. :-)
I prefer my new APIs. None of this parse my way through variable-length
records in a buffer crap, just call my callback function for every pptr
you find. But I might be biased. :)
Let's have a look at what we'd be killing off:
> typedef struct parent {
> __u64 p_ino;
> __u32 p_gen;
> __u16 p_reclen;
> char p_name[1];
> } parent_t;
>
> typedef struct parent_cursor {
> __u32 opaque[4]; /* an opaque cookie */
> } parent_cursor_t;
>
> extern int
> jdm_parents( jdm_fshandle_t *fshp,
> xfs_bstat_t *statp,
> struct parent *bufp, size_t bufsz,
> unsigned int *count);
>
> extern int
> jdm_parentpaths( jdm_fshandle_t *fshp,
> xfs_bstat_t *statp,
> struct parent *bufp, size_t bufsz,
> unsigned int *count);
I suppose it wouldn't be hard to emulate these with the other code, but
do we care?
--D
>
> >
> > > -Eric
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2018-05-09 1:22 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-08 4:40 [PATCH 00/21] xfsprogs: parent pointers v1 Allison Henderson
2018-05-08 4:40 ` [PATCH 01/21] xfsprogs: Move xfs_attr.h to libxfs Allison Henderson
2018-05-08 17:18 ` Darrick J. Wong
2018-05-08 4:41 ` [PATCH 02/21] xfsprogs: Add trans toggle to attr routines Allison Henderson
2018-05-08 4:41 ` [PATCH 03/21] xfsprogs: Add attibute set and helper functions Allison Henderson
2018-05-08 4:41 ` [PATCH 04/21] xfsprogs: Add attibute remove " Allison Henderson
2018-05-08 4:41 ` [PATCH 05/21] xfsprogs: Set up infastructure for deferred attribute operations Allison Henderson
2018-05-08 4:41 ` [PATCH 06/21] xfsprogs: Add xfs_attr_set_deferred and xfs_attr_remove_deferred Allison Henderson
2018-05-08 4:41 ` [PATCH 07/21] xfsprogs: Remove all strlen calls in all xfs_attr_* functions for attr names Allison Henderson
2018-05-08 4:41 ` [PATCH 08/21] xfsprogs: get directory offset when adding directory name Allison Henderson
2018-05-08 4:41 ` [PATCH 09/21] xfsprogs: get directory offset when removing " Allison Henderson
2018-05-08 4:41 ` [PATCH 10/21] xfsprogs: get directory offset when replacing a " Allison Henderson
2018-05-08 4:41 ` [PATCH 11/21] xfsprogs: add parent pointer support to attribute code Allison Henderson
2018-05-08 4:41 ` [PATCH 12/21] xfsprogs: define parent pointer xattr format Allison Henderson
2018-05-08 4:41 ` [PATCH 13/21] xfsprogs: extent transaction reservations for parent attributes Allison Henderson
2018-05-08 4:41 ` [PATCH 14/21] xfsprogs: parent pointer attribute creation Allison Henderson
2018-05-08 4:41 ` [PATCH 15/21] xfsprogs: Add the parent pointer support to the superblock version 5 Allison Henderson
2018-05-08 4:41 ` [PATCH 16/21] xfsprogs: Add parent pointer ioctl Allison Henderson
2018-05-08 4:41 ` [PATCH 17/21] xfsprogs: Add delayed attributes error tag Allison Henderson
2018-05-08 17:21 ` Darrick J. Wong
2018-05-08 20:17 ` Eric Sandeen
2018-05-08 4:41 ` [PATCH 18/21] xfsprogs: Add parent pointer flag to cmd Allison Henderson
2018-05-08 17:25 ` Darrick J. Wong
2018-05-08 19:02 ` Allison Henderson
2018-05-08 22:44 ` Darrick J. Wong
2018-05-08 4:41 ` [PATCH 19/21] xfsprogs: Remove single byte array from struct parent Allison Henderson
2018-05-08 17:32 ` Darrick J. Wong
2018-05-08 4:41 ` [PATCH 20/21] xfsprogs: Add parent pointers during protofile creation Allison Henderson
2018-05-08 17:43 ` Darrick J. Wong
2018-05-08 19:28 ` Allison Henderson
2018-05-08 20:39 ` Eric Sandeen
2018-05-08 21:14 ` Allison Henderson
2018-05-08 21:17 ` Eric Sandeen
2018-05-08 21:57 ` Allison Henderson
2018-05-08 22:27 ` Eric Sandeen
2018-05-08 4:41 ` [PATCH 21/21] xfsprogs: implement the upper half of parent pointers Allison Henderson
2018-05-08 17:45 ` Darrick J. Wong
2018-05-09 1:39 ` Allison Henderson
2018-05-09 1:44 ` Darrick J. Wong
2018-05-09 1:47 ` Allison Henderson
2018-05-08 20:52 ` Eric Sandeen
2018-05-08 23:04 ` Darrick J. Wong
2018-05-08 23:13 ` Allison Henderson
2018-05-09 1:22 ` Darrick J. Wong [this message]
2018-05-09 1:32 ` Allison Henderson
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=20180509012215.GC11261@magnolia \
--to=darrick.wong@oracle.com \
--cc=allison.henderson@oracle.com \
--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 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).