[Top] [All Lists]

Re: review: Simple patch to remove the dmapi support from xfsdump

To: Dean Roehrich <dean.roehrich@xxxxxxx>
Subject: Re: review: Simple patch to remove the dmapi support from xfsdump
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Fri, 04 Aug 2006 10:36:37 -0500
Cc: Vlad Apostolov <vapo@xxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20060804141012.GA26@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <44D10F9B.8090904@xxxxxxxxxxx> <44D2CA85.3040208@xxxxxxx> <20060804141012.GA26@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird (X11/20060614)
Dean Roehrich wrote:
On Fri, Aug 04, 2006 at 02:18:13PM +1000, Vlad Apostolov wrote:
Hi Russel,

I don't understand in details the build changes but they seam to be fine.

Vlad, why do they seem fine?

In summary if the build system can find the DMAPI lib installed it will
use hsmapi_noop.c otherwise hsmapi.c.
The return code of HsmInitFileContext() stub probably should be non zero.

It is looking good.

So this is determined at build time...so when you're using a version of
xfsdump/xfsrestore how do you know you're _not_ using one that is DMAPI-aware
_before_ you get into trouble with an invalid dump?
I appears as if the Hsm routines are only used if the -a flag is given to xfsdump.
(dump DMF dualstate files as offline)

From what I can tell the only users that will need the HSM routines would be Suse
based installs or somebody doing a custom kernel with the xfs-tree from oss.
Anybody running with a kernel.org kernel would have no need for dmapi support in xfs dump/restore. (This includes the Fedora kernel with currently does does build the xfsdump package) Under the current scheme in order to get xfsdump at all you need to build and install the dmapi and dmapi-devel packages, which seemed kinda silly to me on system that don't have the kernel support for dmapi. So basically I just stubbed out the Hsm functions is the case of no dmapi libraries

The dlopen is a good idea but still requires that build machine has the dmapi libraries installed
which seems like extra work if they are never going to be used.

Assuming that issue is addressed, here's another:  The libdm is a shared
object, so why not take advantage of that and load it with dlopen?  Then the
issue is determined at runtime rather than build time.  This is easy, and even
DMF does it this way.


<Prev in Thread] Current Thread [Next in Thread>