From: "Dilger, Andreas" <andreas.dilger@intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Drokin, Oleg" <oleg.drokin@intel.com>,
James Simmons <jsimmons@infradead.org>,
"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Lustre Development List <lustre-devel@lists.lustre.org>
Subject: Re: [PATCH] staging: lustre: headers: potential UAPI headers
Date: Mon, 12 Jun 2017 20:20:15 +0000 [thread overview]
Message-ID: <32AAAA94-0C88-40F5-8FAD-37F35A401AC3@intel.com> (raw)
In-Reply-To: <20170121092459.GA29138@kroah.com>
On Jan 21, 2017, at 02:24, Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
>
> On Fri, Jan 20, 2017 at 11:33:11PM +0000, James Simmons wrote:
>>
>>>>> On Mon, Dec 19, 2016 at 12:06:47PM -0500, James Simmons wrote:
>>>>>> Not for landing. This is the purposed UAPI headers
>>>>>> with the removal of unlikely and debugging macros.
>>>>>> This is just for feedback to see if this is acceptable
>>>>>> for the upstream client.
>>>>>>
>>>>>> Signed-off-by: James Simmons <jsimmons@infradead.org>
>>>>>> ---
>>>>>> .../lustre/lustre/include/lustre/lustre_fid.h | 353 +++++++++++++++++++++
>>>>>> .../lustre/lustre/include/lustre/lustre_ostid.h | 233 ++++++++++++++
>>>>>
>>>>> Can you make a lustre "uapi" directory so we can see which files you
>>>>> really want to be UAPI and which you don't as time goes on?
>>>>
>>>> Where do you want them placed? In uapi/linux/lustre or uapi/lustre. Does
>>>> it matter to you? The below was to forth coming UAPI headers which from
>>>> your response you seem okay with in general.
>>>
>>> How many .h files are there going to be? It's just a single filesystem,
>>> shouldn't you just need a single file? If so, how about
>>> drivers/staging/lustre/include/uapi/lustre.h
>>> ?
>>>
>>> If you really need multiple .h files, put them all in the same uapi/
>>> directory with a lustre_ prefix, you don't need a whole subdir just for
>>> yourself, right?
>>
>> We have 12 UAPI headers and yes they all begin with lustre_*. Okay I will
>> create a driver/staging/lustre/include/uapi/linux directory and start
>> moving headers there.
>
> 12 seems like a lot just for a single, tiny, filesystem :)
>
> But moving them all to a single directory will see where we can later
> merge them together, sounds like a good plan.
Greg,
are you really adamantly against moving the Lustre headers into their own lustre/
subdirectory? This change actually breaks userspace libraries/tools that are
using these headers to interface with the kernel (which is the whole point of
the UAPI headers). Current Lustre tools/libraries include headers like, e.g.:
#include <lustre/lustre_user.h>
(from /usr/include/lustre) but with this change tools will have to change to use:
#ifdef HAVE_LINUX_LUSTRE_USER
#include <linux/lustre_user.h>
#else
#include <lustre/lustre_user.h>
#endif
and will need to have configure checks in the build environment to know which location
to use for include files. If we put the Lustre headers into an "include/linux/lustre/"
subdir then the tools can continue to use "<lustre/lustre_user.h>" and similar, and
the Makefile can be changed to add "-I /usr/include/linux" (in addition to the normal
"/usr/include") but it will work transparently to the code, regardless of where the
headers are located or which kernel is being used.
On the maintainability point of view, I'd also think that putting headers into a
separate subdir would also be preferable just to avoid /usr/include/uapi/linux from
growing huge. There are already several storage-related sybsystems that have their
headers in a subdirectory, like ceph, cifs, mtd, nfsd, raid, and sunrpc.
Cheers, Andreas
next prev parent reply other threads:[~2017-06-12 20:20 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-19 17:06 James Simmons
2017-01-03 14:12 ` Greg Kroah-Hartman
2017-01-16 21:28 ` James Simmons
2017-01-17 7:41 ` Greg Kroah-Hartman
2017-01-20 23:33 ` James Simmons
2017-01-21 9:24 ` Greg Kroah-Hartman
2017-01-30 0:09 ` James Simmons
2017-06-12 20:20 ` Dilger, Andreas [this message]
2017-06-12 20:25 ` Dan Carpenter
2017-06-13 4:25 ` Greg Kroah-Hartman
2017-06-15 15:48 ` [lustre-devel] " James Simmons
2017-06-15 16:56 ` Greg Kroah-Hartman
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=32AAAA94-0C88-40F5-8FAD-37F35A401AC3@intel.com \
--to=andreas.dilger@intel.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=jsimmons@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lustre-devel@lists.lustre.org \
--cc=oleg.drokin@intel.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
Powered by JetHome