<br><font size=2 face="sans-serif">Hi Andreas and Lustre folks,</font>
<br>
<br><font size=2 face="sans-serif">After asking the noob question on how
to patch Lustre.  I figured out how to apply bug patch 18695 and compile
Lustre 1.6.7 with the source code last night.  I read up on how the
patch command works, applied the 4 patches and then compiled it.  The
only issue I encountered was for the 18695-client-patch.patch.  Hunk
#1 of 2 wouldn't go into file.c (so I manually edited it, and added the
one liner where it said it wanted it, hated to do it that way, but I'm
working on a tight deadline to turn this over for testing).  For peace
of mind, as we hadn't migrated our data into our filesystems yet, I re-ran
my mkfs.lustre --reformat scripts on all my MGS / MDS / OSS filesystems.
 Our RHEL 5.3 XEN systems are loading the patched MGS / MDS / OSS
server and client Lustre modules and mounting the filesystems.  We're
crossing fingers hoping we won't have those data corruption issues the
folks at Tokyo University experienced.</font>
<br>
<br><font size=2 face="sans-serif">Any new Lustre admin who's interested
in what I did to apply the patch, here's kind of a high level view:</font>
<br>
<br><font size=2 face="sans-serif">1.        Copied
bug18695.patch, bug18695_LASSERT.patch, and 18695-regression-test.patch
to the server where I'd loaded the Lustre source code.</font>
<br>
<br><font size=2 face="sans-serif">2.        Took
a tarball of the existing /usr/src/lustre-1.6.7 directory (in case I messed
things up)</font>
<br>
<br><font size=2 face="sans-serif">3.        Searched
for more information on patch as I'm definitely not a developer (read the
man page, found this blog article from SUN that has a blip about patch:
http://blogs.sun.com/mberg/entry/building_lustre_1_6_4, and found this
helpful, old doc that talks about unified diffs, rcsdiff and patch: http://www.linuxjournal.com/article/1237)</font>
<br>
<br><font size=2 face="sans-serif">4.        Found
the files being patched and did the following for the Lustre server side
source code:</font>
<br>
<br><font size=2 face="sans-serif">         
      SYNTAX: patch <file-that-needs-patching>
    <patch-that-fixes file></font>
<br>
<br><font size=2 face="sans-serif">         
      cd /usr/src/lustre-1.6.7</font>
<br><font size=2 face="sans-serif">         
      patch <b>lustre/mds/mds_open.c</b> /tmp/bug18695.patch</font>
<br><font size=2 face="sans-serif">         
      patch <b>lustre/lvfs/fsfilt_ext3.c</b> /tmp/bug18695_LASSERT.patch</font>
<br><font size=2 face="sans-serif">         
      patch<b> lustre/tests/sanityN.sh</b> /tmp/18695-regression-test.patch</font>
<br>
<br><font size=2 face="sans-serif">5.        Followed
the walkthrough from Joey Jablonski's blog for compiling Lustre (very helpful
and similar to the Lustre Quick Start Guide):</font>
<br><font size=2 face="sans-serif">         
      </font>
<br><font size=2 face="sans-serif">         
      http://mergingbusinessandit.blogspot.com/2008/10/building-lustre-1651-against-latest.html</font>
<br><font size=2 face="sans-serif">         
      </font>
<br><font size=2 face="sans-serif">6.        Uninstalled
my old lustre-1.6.7*rpms:</font>
<br>
<br><font size=2 face="sans-serif">         
      umount /<lustre filesystem(s)></font>
<br><font size=2 face="sans-serif">         
      modprobe -r lustre</font>
<br><font size=2 face="sans-serif">         
      rpm -qa | grep lustre</font>
<br><font size=2 face="sans-serif">         
      rpm -e --nodeps <old lustre-1.6.7*rpm(s)></font>
<br>
<br><font size=2 face="sans-serif">7.        Installed
the newly compiled bug 18695 patched lustre-1.6.7*rpms (I already had a
compiled and patched Lustre XEN kernel and Sun's e2fsprogs in place from
before):</font>
<br>
<br><font size=2 face="sans-serif">         
      rpm -ivh <newly compiled lustre-1.6.7*rpms></font>
<br><font size=2 face="sans-serif">         
      depmod -a</font>
<br><font size=2 face="sans-serif">         
      modprobe lustre</font>
<br>
<br><font size=2 face="sans-serif">8.        Followed
the walkthrough from Joey's blog on how to build a Lustre filesystem, mounted
it up and ran some file creation loops through it:</font>
<br>
<br><font size=2 face="sans-serif">         
      http://mergingbusinessandit.blogspot.com/2008/10/building-new-lustre-filesystem.html</font>
<br>
<br><font size=2 face="sans-serif">Joey's blogs were real life savers.
 Hope this helps someone else!</font>
<br>
<br><font size=2 face="sans-serif">Cheers,<br>
<br>
Ms. Andrea D. Rucks<br>
Sr. Unix Systems Administrator,<br>
Lawson ITS Unix Server Team<br>
_____________________________<br>
<br>
Lawson<br>
380 St. Peter Street<br>
St. Paul, MN 55102<br>
Tel: 651-767-6252<br>
http://www.lawson.com</font>
<br>
<br><font size=2 face="sans-serif">__________________</font>
<br>
<br><tt><font size=2>On Apr 08, 2009  16:58 -0500, Andrea Rucks wrote:<br>
> For a new production system, we downloaded Lustre 1.6.7 a couple weeks
ago<br>
> and have installed and configured it.  I just read this warning:<br>
><br>
> >A bug has been identified in 1.6.7 that can cause directory corruptions<br>
> >on the MDT. A patch and full details are in bug 18695 -<br>
> >https://bugzilla.lustre.org/show_bug.cgi?id=18695<br>
><br>
> >We recommend to anyone running 1.6.7 on the MDS to unmount the
MDT, run<br>
> >e2fsck against the MDT device and apply the patch from bug 18695
as soon<br>
> >as possible.<br>
><br>
> I've visited this page, but am uncertain as to how to "apply
the patch"<br>
> (does it require compiling?).  Are there any instructions available,
or<br>
> perhaps someone could point me to a FAQ?<br>
</font></tt>
<br><tt><font size=2>I would instead suggest to downgrade the RPMs on your
MDS to 1.6.6 until<br>
the 1.6.7.1 packages are available.<br>
</font></tt>
<br><tt><font size=2>Cheers, Andreas<br>
--<br>
Andreas Dilger<br>
Sr. Staff Engineer, Lustre Group<br>
Sun Microsystems of Canada, Inc.<br>
</font></tt>
<br>