From: Dave Chinner <david@fromorbit.com>
To: xfs@oss.sgi.com
Subject: [RFC] xfsprogs: libxfs update to current kernel code
Date: Wed, 10 Dec 2014 10:41:22 +1100 [thread overview]
Message-ID: <20141209234122.GC9756@dastard> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 2695 bytes --]
Hi folks,
I just pushed a libxfs-3.19-update branch to
git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git
That contains an update of the libxfs code to match the current
kernel libxfs code. It's in pretty rough shape right now, but it
seems to work. It will get rebased as I refine the patchset.
The stages of the update are:
- rework some libxfs definitions
- update to 3.16 code
- introduce libxfs error negation patches
- restructure libxfs to match kernel code
- update to the current for-next branch
In doing this update, there are a few things that need to be
separated out to the head of the series and made explicit:
- support for anything pre- dir V2 goes away, so there's a
bunch of new "use and older xfsprogs" conditions that need
to be added and a significant amount of "handle old bugs"
code that needs to go away
- the equivalent kernel code only supports v2 inodes - it
unconditionally sets the NLINK feature bit and converts v1
inodes to v2 inodes. All the userspace tools need to be
updated to match - they'll read v1 inodes, but they'll
unconditionally set NLINK and write only v2 inodes.
- the SHARED superblock stuff goes away, so killing that
needs to be a standalone patch
Given these changes in supported functionality, I expect the first
release with this update to be a 3.3.0 release, not a 3.2.x release.
This probably makes it a good time to update mkfs default behaviour
as well (i.e. to default to CRC enabled filesystems).
There is also more cleanup work to be done after the 3.19 update:
- the include file structure is somewhat cludgy. I simply
made the new libxfs structure link into the existing
include/xfs structure in a slightly different way, but
this needs substantial rework to clean it up.
- there is a convoluted mess of include files between
include/ and libxfs/ that determine what code gets
compiled and how it is seen externally. The first commit
in the series sort of points out how messy this is, but
this really needs to be better sorted to separate internal
and externally visible libxfs functions, as well as
separate libxfs structures from userspace structures like
struct xfs_mount....
I don't really expect significant *code* review of the libxfs part
of the update - it's pretty large at at +7000/-6500 lines. I'm more
interested in getting feedback on the changes of supported
functionality and the infrastructure changes. If anyone wants to
kick the tyres they are more than welcome to - at this stage any
feedback is better than none. :)
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 121 bytes --]
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next reply other threads:[~2014-12-09 23:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-09 23:41 Dave Chinner [this message]
2014-12-19 4:41 ` [RFC] xfsprogs: libxfs update to current kernel code Dave Chinner
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=20141209234122.GC9756@dastard \
--to=david@fromorbit.com \
--cc=xfs@oss.sgi.com \
/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