All of lore.kernel.org
 help / color / mirror / Atom feed
* [Lustre-devel] Lustre and cross-platform portability
@ 2012-03-15  0:31 Andreas Dilger
  2012-03-15 18:45 ` [Lustre-devel] [Twg] " Ken Hornstein
                   ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Andreas Dilger @ 2012-03-15  0:31 UTC (permalink / raw)
  To: lustre-devel

Whamcloud and EMC are jointly investigating how to be able to contribute the Lustre client code into the upstream Linux kernel.

As a prerequisite to this, EMC is working to clean up the Lustre client code to better match the kernel coding style, and one of the anticipated major obstacles to upstream kernel submission is the heavy use of code abstraction via libcfs for portability to other operating systems (most notably MacOS and WinNT, but also for liblustre, and potentially *BSD).

I have no information that the WinNT project will ever be released by Oracle, and as yet there has not been any code released from the MacOS port, so the libcfs portability layer is potentially exacting a high cost in code maintenance and complexity (CLIO being a prime example) for no apparent benefit.  Similarly, the liblustre client needs a portability layer for userspace, and suffers from the same apparent lack of interest or users.

I'd like to get some feedback from the Lustre community about removing the libcfs abstraction entirely, or possibly restructuring it to look like the Linux kernel API, and having the other platforms code against it as a Linux portability layer, like ZFS on Linux uses the Solaris Portability Layer (SPL) to avoid changing the core ZFS code.  A related topic is whether it would be better to replace all cfs_* functions with standard Linux kernel functions en-masse, or migrate away from cfs_* functions slowly?

Also, we're planning on deprecating the liblustre client code, due to lack of interest/usage.  The current code is in disrepair, and we've been keeping it around for years without any benefit, and while I was one of the strongest advocates for keeping it in our back pocket in case of future needs, I don't see that materializing in the future.

The liblustre code would be left in the tree for now, in case someone from the community is interested to get it working and maintain it, and it may be updated on a best effort basis.  If nobody steps forward to do this work, the liblustre code would be deleted from the development branch in a year or so.


Unfortunately, after starting this thread, I may not be able to reply to questions in a timely manner due to vacation.  I look forward to a thread that concludes with unanimous agreement from all parties. :-)

Cheers, Andreas
--
Andreas Dilger                       Whamcloud, Inc.
Principal Lustre Engineer            http://www.whamcloud.com/

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2012-05-03 15:08 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-15  0:31 [Lustre-devel] Lustre and cross-platform portability Andreas Dilger
2012-03-15 18:45 ` [Lustre-devel] [Twg] " Ken Hornstein
2012-03-15 19:39   ` Andreas Dilger
2012-03-15 19:51     ` Joshua Walgenbach
2012-03-16 10:11       ` [Lustre-devel] [wc-discuss] " Gregory Matthews
2012-03-16 10:35         ` Alexey Lyashkov
2012-03-16 14:46           ` Ken Hornstein
2012-03-17 10:42             ` [Lustre-devel] [wc-discuss] " Alexey Lyashkov
2012-03-16 15:06         ` [Lustre-devel] [wc-discuss] " Todd, Allen
2012-03-21 18:29           ` Nathan Rutman
2012-03-16 14:38     ` [Lustre-devel] " Ken Hornstein
2012-03-16 16:03 ` [Lustre-devel] [EXTERNAL] " Ward, Lee
     [not found] ` <5A40CBC5-F91A-4F34-8209-0C216CCE8A5D@dilger.ca>
2012-04-27  2:23   ` [Lustre-devel] [wc-discuss] " tao.peng at emc.com
2012-04-27  3:54     ` Andreas Dilger
2012-04-27 10:15       ` tao.peng at emc.com
2012-04-27 10:25         ` [Lustre-devel] [Lustre-discuss] " Roman Grigoryev
2012-04-27 12:33           ` tao.peng at emc.com
2012-05-03  9:45             ` Roman Grigoryev
2012-05-03 10:03               ` tao.peng at emc.com
2012-05-03 10:45                 ` Roman Grigoryev
2012-05-03 15:08                   ` tao.peng at emc.com
2012-04-27 20:23         ` [Lustre-devel] " Andreas Dilger
2012-04-29  4:33           ` Peng Tao
2012-04-28  8:59   ` Liang Zhen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.