<div dir="ltr">(added lustre-devel, since there&#39;s good backstory for others here)<div class="gmail_extra"><br></div><div class="gmail_extra">Don&#39;t worry if you aren&#39;t an expert in C - much of the initial cleanup is easy.  Just mop up a file, and make sure the kernel still builds again.  There&#39;s a good guide on working with the linux-next kernel here:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://www.kernel.org/doc/man-pages/linux-next.html">https://www.kernel.org/doc/man-pages/linux-next.html</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">I&#39;ve been following these directions to send an emailed patch series:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="https://burzalodowa.wordpress.com/2013/10/05/how-to-send-patches-with-git-send-email/">https://burzalodowa.wordpress.com/2013/10/05/how-to-send-patches-with-git-send-email/</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">We should probably keep these cleanups in one big patch series, to ease upstream adoption.  I suggest branching linux-next (I&#39;m working off the 20150518 tag currently), and committing things as you finish mopping them up with git commit -s &lt;file&gt;.  That way, git automatically inserts the &quot;Signed-off-by&quot; line for you.  If you send a patch series over to me, I&#39;ll sign it off as well, and fold it into the series I&#39;m regularly posting.  You can do that with the following:</div><div class="gmail_extra"><br></div><div class="gmail_extra">git format-patch --subject-prefix=&quot;PATCH&quot; -o &lt;output dir&gt; -&lt;# commits in series&gt;</div><div class="gmail_extra">git send-email -&lt;# commits&gt; --subject-prefix=&quot;PATCH&quot; --to=&lt;dest email&gt; &lt;output dir&gt;</div><div class="gmail_extra"><br></div><div class="gmail_extra">BTW, adding --compose to the git send-email line will pop up an editor, to write an introduction to the series (the [PATCH 0/8] email, introducing the set).  Be sure your commits include a single-line comment summarizing the change, a blank line, a more verbose (if needed) comment, another blank line, and then the Signed-off-by header.  Otherwise the kernel gatekeepers have trouble merging, and you&#39;ll be dinged on syntax.</div><div class="gmail_extra"><br></div><div class="gmail_extra">If I can help in any way, please let me know.</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">--<br>Mike Shuey</div></div>
<br><div class="gmail_quote">On Thu, May 21, 2015 at 1:53 PM, Drokin, Oleg <span dir="ltr">&lt;<a href="mailto:oleg.drokin@intel.com" target="_blank">oleg.drokin@intel.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">The procedure is to use git send-email (with --annotation if more than one patch) and that would generate the diffstats and other stuff.<br>
<div class=""><div class="h5"><br>
On May 21, 2015, at 1:32 PM, Chris Hanna wrote:<br>
<br>
&gt; Hi Mike,<br>
&gt;<br>
&gt; Great, I&#39;ll work on the osc for starters.  I should also warn that I&#39;m<br>
&gt; not an expert in C, I&#39;m just an admin of an XSEDE resource that isn&#39;t in<br>
&gt; production yet, so I have some free cycles.  I will run checkpatch on<br>
&gt; anything I build and double-check.  I&#39;ll keep my old K&amp;R C book handy<br>
&gt; for good luck.<br>
&gt;<br>
&gt; Is the procedure, like you&#39;ve done already, to mail Oleg and CC<br>
&gt; <a href="mailto:devel@driverdev.osuosl.org">devel@driverdev.osuosl.org</a>, <a href="mailto:gregkh@linuxfoundation.org">gregkh@linuxfoundation.org</a>,<br>
&gt; <a href="mailto:kernel-janitors@vger.kernel.org">kernel-janitors@vger.kernel.org</a>, <a href="mailto:linux-kernel@vger.kernel.org">linux-kernel@vger.kernel.org</a> and HPDD<br>
&gt; list with the git stats and full git patch?<br>
&gt;<br>
&gt; I can post future mailings to lustre-devel, I&#39;m already subscribed.<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; Chris<br>
&gt;<br>
&gt; On 5/21/15 11:55 AM, Michael Shuey wrote:<br>
&gt;&gt; Chris, good to virtually meet you!<br>
&gt;&gt;<br>
&gt;&gt; I don&#39;t know of anyone (other than myself) submitting cleanup patches for<br>
&gt;&gt; linux-next, though there are a number of patches under LU-6215 and LU-6142<br>
&gt;&gt; in the HPDD tree that do some cleanups.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ve mostly been focusing on cleaning the lnet part of the tree; if you<br>
&gt;&gt; wanted to start in on some of the lustre parts, that would be great.  I&#39;ve<br>
&gt;&gt; been breaking the task up into multiple phases:<br>
&gt;&gt;<br>
&gt;&gt; 1) clean whitespace - tabs, not spaces, to indent; fix variable alignment<br>
&gt;&gt; in headers, and change variable declaration blocks to use a single space<br>
&gt;&gt; (between type &amp; variable)<br>
&gt;&gt;<br>
&gt;&gt; 2) eliminate obvious dead code<br>
&gt;&gt;<br>
&gt;&gt; 3) fix remaining <a href="http://checkpatch.pl" target="_blank">checkpatch.pl</a> issues (underway now)<br>
&gt;&gt;<br>
&gt;&gt; 4) (TBD) sync code with HPDD&#39;s tree<br>
&gt;&gt;<br>
&gt;&gt; If you wanted to start down on lustre/osc and lustre/ptlrpc, that&#39;d be<br>
&gt;&gt; good.  I&#39;m collecting patches against both the <a href="http://kernel.org" target="_blank">kernel.org</a> tree and the HPDD<br>
&gt;&gt; tree, to propagate dead code removal to HPDD (and largely ignoring<br>
&gt;&gt; formatting and <a href="http://checkpatch.pl" target="_blank">checkpatch.pl</a> fixes for HPDD right now).  Any patching you<br>
&gt;&gt; can provide would be most appreciated!<br>
&gt;&gt;<br>
&gt;&gt; BTW, we should probably spin up a mail thread about this somewhere more<br>
&gt;&gt; public.  Are you on lustre-devel, and would you mind posting future<br>
&gt;&gt; coordination emails to the whole list?<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Mike Shuey<br>
&gt;&gt;<br>
&gt;&gt; On Wed, May 20, 2015 at 2:22 PM, Chris Hanna &lt;<a href="mailto:hannac@iu.edu">hannac@iu.edu</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Greetings!<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I should have some time this week to work on this, any suggestions for<br>
&gt;&gt;&gt; where I could start in Greg&#39;s linux-next tree?  Is anyone doing format<br>
&gt;&gt;&gt; cleanup on &#39;/drivers/staging/lustre/lustre/osc/&#39;, for example?  I don&#39;t<br>
&gt;&gt;&gt; want to duplicate something already in process.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt; Chris<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 5/15/15 4:02 PM, Drokin, Oleg wrote:<br>
&gt;&gt;&gt;&gt; Hello!<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On May 15, 2015, at 10:19 AM, Michael Shuey wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I&#39;m relatively new to <a href="http://kernel.org" target="_blank">kernel.org</a> development, and completely new to<br>
&gt;&gt;&gt; lustre development - so be warned, I&#39;ll have many newbie questions.  That<br>
&gt;&gt;&gt; said, I&#39;d very much like to help ensure lustre stays in the upstream<br>
&gt;&gt;&gt; kernel, and do whatever I can to shift as much development upstream as<br>
&gt;&gt;&gt; possible.  At the moment, I&#39;ve been looking at trivial cleanups<br>
&gt;&gt;&gt; (indentation, dead code removal, etc.) as a means to learn how to send<br>
&gt;&gt;&gt; patches upstream.  I&#39;m happy to continue this, and begin eliminating<br>
&gt;&gt;&gt; checkpatch warnings as well.  It&#39;s a good learning exercise, and once I<br>
&gt;&gt;&gt; have a rhythm for submitting patches and testing I can bring in some of my<br>
&gt;&gt;&gt; team and move on to other tasks on the list.<br>
&gt;&gt;&gt;&gt;&gt; That said, I&#39;ve got some logistics questions...<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; 1) What development mailing lists should I track?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I follow lustre-discuss and lustre-devel, and hpdd-discuss.  Is there<br>
&gt;&gt;&gt; an hpdd-devel, where major code shifts are discussed?  Or is discussion<br>
&gt;&gt;&gt; primarily through developer days, issue trackers, and out-of-band mail<br>
&gt;&gt;&gt; threads like this?<br>
&gt;&gt;&gt;&gt; hpdd-disuss is currently the designated place to send patches to.<br>
&gt;&gt;&gt; lustre-devel is where we&#39;d eventually shift.<br>
&gt;&gt;&gt;&gt; That said, sadly there are not too much public discussions of things<br>
&gt;&gt;&gt; frequently because stuff is usually developed by a single company.<br>
&gt;&gt;&gt;&gt; So most of discussion is happening at developer days and forums like<br>
&gt;&gt;&gt; opensfs CWG. Also email threads and tickets.<br>
&gt;&gt;&gt;&gt;&gt; 2) Is there a current &quot;getting started with Lustre dev&quot; guide?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; There&#39;s little documentation on <a href="http://lustre.org" target="_blank">lustre.org</a> about managing development<br>
&gt;&gt;&gt; - and what I&#39;ve found tends to be either very old (e.g., Oracle days) or<br>
&gt;&gt;&gt; incomplete (e.g., developer day slides, where specifics were only covered<br>
&gt;&gt;&gt; in person).  Is there a more current guide?  Or should I bug Morrone for an<br>
&gt;&gt;&gt; account on <a href="http://lustre.org" target="_blank">lustre.org</a>, and build such a guide in his wiki?  I&#39;m happy to<br>
&gt;&gt;&gt; add documentation as well\u2026<br>
&gt;&gt;&gt;&gt; For community tree lustre )meaning not the in-kernel thing) it&#39;s<br>
&gt;&gt;&gt; <a href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Development" target="_blank">https://wiki.hpdd.intel.com/display/PUB/Lustre+Development</a><br>
&gt;&gt;&gt;&gt; in particular <a href="https://wiki.hpdd.intel.com/display/PUB/Submitting+Changes" target="_blank">https://wiki.hpdd.intel.com/display/PUB/Submitting+Changes</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; 2) What&#39;s the end goal here, between <a href="http://kernel.org" target="_blank">kernel.org</a> and HPDD trees?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; HPDD and <a href="http://kernel.org" target="_blank">kernel.org</a> maintain two separate trees.  Presumably patches<br>
&gt;&gt;&gt; should be developed for both, correct?  If so, will parts of the HPDD tree<br>
&gt;&gt;&gt; be going away at any point - to be supplanted by <a href="http://kernel.org" target="_blank">kernel.org</a>?  I know Greg<br>
&gt;&gt;&gt; KH has indicated that development should occur in <a href="http://kernel.org" target="_blank">kernel.org</a> - but that<br>
&gt;&gt;&gt; may not be possible, given the need to support older vendor kernels.<br>
&gt;&gt;&gt; HPDD&#39;s tree isn&#39;t really upstream for <a href="http://kernel.org" target="_blank">kernel.org</a>, either - there&#39;s a<br>
&gt;&gt;&gt; number of pieces that can&#39;t go in right now.<br>
&gt;&gt;&gt;&gt;&gt; Where is this going?<br>
&gt;&gt;&gt;&gt; This is a complicated question, really.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Initially EMC rammed this thing in, since supposedly it gives you &quot;free&quot;<br>
&gt;&gt;&gt; update of codebase to support newer kernels.<br>
&gt;&gt;&gt;&gt; Well, it did not pan out exactly as planned and they bailed out. Now we<br>
&gt;&gt;&gt; get to keep the pieces.<br>
&gt;&gt;&gt;&gt; Having the client in the tree is indeed good for it being updated for<br>
&gt;&gt;&gt; in-kernel API changes and stuff.<br>
&gt;&gt;&gt;&gt; Currently it&#39;s a liability, though since we need to maintain<br>
&gt;&gt;&gt; compatibility with this somewhat old code snapshot and no new features<br>
&gt;&gt;&gt; could be added.<br>
&gt;&gt;&gt;&gt; Ideally in the end it would be a fully featured up to date client that<br>
&gt;&gt;&gt; would be shipped by major distros.<br>
&gt;&gt;&gt;&gt; Also having this code fully accepted means certain things we&#39;d like<br>
&gt;&gt;&gt; added to kernel APIs is easier to justify since the main argument of &quot;no<br>
&gt;&gt;&gt; code in kernel uses this&quot; goes away.<br>
&gt;&gt;&gt;&gt; I feel like we wound not be able to fully drop client support from our<br>
&gt;&gt;&gt; hpdd tree in any foreseeable future because we need compatibility with all<br>
&gt;&gt;&gt; old distros that don&#39;t ship new enough kernel.<br>
&gt;&gt;&gt;&gt; And then once they all start carrying it, they&#39;d probably won&#39;t have any<br>
&gt;&gt;&gt; moedrn features too so there would still be place for a backported client<br>
&gt;&gt;&gt; or something.<br>
&gt;&gt;&gt;&gt;&gt; 3) How do patches go into HPDD&#39;s tree?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I&#39;ve found some slides from Andreas; I&#39;m starting to understand what<br>
&gt;&gt;&gt; role Jenkins, Gerrit, and the HPDD tree play.  How does one get patches<br>
&gt;&gt;&gt; into this?  git send-email to a list, bug someone for an account on Gerrit,<br>
&gt;&gt;&gt; or what?   Or should I not be looking at the HPDD tree, and only staring at<br>
&gt;&gt;&gt; <a href="http://kernel.org" target="_blank">kernel.org</a>&#39;s tree?<br>
&gt;&gt;&gt;&gt; <a href="https://wiki.hpdd.intel.com/display/PUB/Submitting+Changes" target="_blank">https://wiki.hpdd.intel.com/display/PUB/Submitting+Changes</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; You&#39;ll need to create your own account in gerrit and use that to submit<br>
&gt;&gt;&gt; patches.<br>
&gt;&gt;&gt;&gt; For upstream kernel work, you should not really be looking into hpdd<br>
&gt;&gt;&gt; tree much other than submitting same patches to hpdd tree for stuff like<br>
&gt;&gt;&gt; unneeded proc files removal and tools updates.<br>
&gt;&gt;&gt;&gt; Bye,<br>
&gt;&gt;&gt;&gt;    Oleg<br>
&gt;&gt;&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div></div>