--- /dev/null
+include /dev/obd in the documentation
+
+
+attach: attaching ext2obd allows ext2 module to be unloaded. Unload,
+then do cleanup, get Oops...
+
+syncing: invalid IOCTL
+
+create: more than one object
+
+preallocate: IOCTL
+
+statfs:
+
+restoresnap: decrements directory count for ext2
--- /dev/null
+BUILDING LUSTRE
+---------------
+
+To build the lustre obd module, you must first build portals.
+
+Portals is available from the same CVS repository of the lustre
+project module portals, see http://www.lustre.org
+
+To build:
+ sh autogen.sh
+ ./configure --enable-linuxdir=/usr/src/linux --enable-portalsdir=/usr/src/portals
+ make
+
+To play with Lustre Lite:
+ cd obd/tests
+ sh llmount.sh
+
+To clean up:
+ sh llmountcleanup.sh
+
+Feedback:
+ lustre-devel@lists.sf.net
+ lustre-discuss@lists.sf.net
+
+- Peter -
\ No newline at end of file
--- /dev/null
+
+ NOTE! This copyright does *not* cover user programs that use kernel
+ services by normal system calls - this is merely considered normal use
+ of the kernel, and does *not* fall under the heading of "derived work".
+ Also note that the GPL below is copyrighted by the Free Software
+ Foundation, but the instance of code that it refers to (the Linux
+ kernel) is copyrighted by me and others who actually wrote it.
+
+ Linus Torvalds
+
+----------------------------------------
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+\f
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
--- /dev/null
+2001-06-29 18:15 PDT rzahir
+
+ * obdfs/flushd.c: conditionalized number of C_DEBUG messages.
+ * include/linux/obd_class.h: added obd_devicename member to
+ struct obd_device (name is either ptr to dentry or uuid).
+ * ext2obd/ext2_obd.c: setup() converts dentry into rdev number.
+ class/class_obd.c: setup() converts name into obd_device dentry
+ class/obdcontrol: setup() passes /dev/obd name into ioctl
+ (used to be rdev number and if invalid rdev number was passed
+ old ext2_obd.c would crash kernel when trying to read superblock).
+ * class/obdcontrol: added "status, procsys, script, insmod, rmmod,
+ lsmod, shell and close" commands for obdcontrol. This allows
+ easier scripting from within obdcontrol. Introduced ability to
+ maintain multiple open obd devices from a single obdcontrol
+ session. Device command toggles device context. Obdcontrol
+ maintains multiple open file handles. "script <file>" command is
+ useful for "sourcing" scripts without leaving obdcontrol.
+ shell <command> allows any shell command to be executed from
+ within obdcontrol.
+ * class/proc_lustre.c: added support for /proc/lustre/obd/<n>/status.
+ These are read-only /proc entries that track /dev/obd<n>
+ internal state.
+ * obdtrace/* & include/linux/obd_class.h: obd_trace a logical obd
+ module useful for tracing and performance debug of the Lustre
+ obd protocol stack. obdtrace module creates
+ /proc/lustre/obd/<n>/stats file. Reading this /proc file shows
+ per OBD performance statistics. Any write to this /proc file
+ resets the counters for this OBD.
+ * scripts/obdtrace_demo.scr: Example of obdtrace that
+ takes advantage of new obdcontrol functionality.
+ * doc/obdtrace_demo.txt: shows obdtrace capabilities.
+
+
+2000-03-06 12:33 adilger
+
+ * obdfs/ext2_obd: added punch/truncate methods
+
+2000-01-26 01:40 adilger
+
+ * obdfs/flushd.c: removed iput() from dequeue routine, since we no
+ longer remove the inodes from the list in this routine, rather
+ waiting to do it in flush_reqs, which also does a iput()
+
+2000-01-25 12:55 adilger
+
+ * obdfs/super.c: add call to flush pages when unmounting filesystem
+ * obdfs/flushd.c: pass "check_time" parameter to flush routines
+ * obdfs/namei.c: fixed rename call to getpage to use offset, not index
+ * snap/*: tested snapshots with new vector I/O, async writes - OK
+ * tests/snaprun.sh: small script to step through testing of some
+ snapshot features
+
+2000-01-24 18:55 braam
+
+ * obdfs/rw.c: fixed obdfs_getpage() to use page index, not offset
+ * obdfs/rw.c, flushd.c: added superblock lock for inode/page lists,
+ added new iget()/iput() on all inodes in page cache to prevent
+ them from being flushed from memory while waiting for write.
+
+2000-01-22 02:55 adilger
+
+ * flush daemon testing/debugging - inode list still needs a lock
+ * snapshot compiles with vector I/O now - untested
+
+2000-01-20 18:05 adilger
+
+ * add dirty inode list to superblock
+
+2000-01-20 11:50 adilger
+
+ * ext2obd/ext2obd.c: fixed brw I/O to have array of iobufs, not pointer
+ * obdfs/super.c: add superblock to list of superblocks
+ * obdfs/flushd.c: use pupdated() to do page writes
+
+2000-01-19 18:05 adilger
+
+ * ext2obd/ext2obd.c: changed _brw to use vector I/O with brw_kiovec()
+ * obdfs/rw.c, obdfs/flushd.c: updated for async page cache
+
+2000-01-18 20:20 adilger
+
+ * class/obdcontrol: fixed read, write, create to work with obdos
+ (write is still not fully functional)
+ * ext2obd/ext2obd.c: ext2obd_write() - copy inode data back into obdo
+ add a few missing iput()s for error conditions
+
+2000-01-18 13:30 adilger
+
+ * modified _brw method to allow array of obdos to be submitted for
+ multiple I/Os with one call
+
+2000-01-18 11:30 adilger
+
+ * include/obd_support.h: removed printk() of long long values
+ (sometimes does not print properly)
+ * obdfs/rw.c: added obdo_from_inode() call in obdfs_brw(), as inode
+ was not properly being copied into obdo, causing occasional confusion
+ * snap/snap.c: always copy back obdo data to primary from disk obdo
+ * obdsync/*: removed from CVS
+
+2000-01-14 08:05 adilger
+
+ * snap/*: obdo snapshots should be working now.
+
+2000-01-13 13:50 adilger
+
+ * snap/*: working on storing obdmd outside of inode
+
+2000-01-11 14:25 adilger
+
+ * snap/*: updated to work with new obdo methods, untested
+
+2000-01-10 10:37 adilger
+
+ * obdfs/*, ext2obd/*: updated to work with new obdo methods, tested
+
+1999-12-29 13:57 adilger
+
+ * obdsync/*: added to CVS
+ * obdfs/super.c,rw.c: added start of page cache
+
+1999-12-29 10:20 adilger
+
+ * ext2obd/ext2_obd.c, snap/snap.c: change parameters for create
+ * class/obdcontrol: update copy, migrate dst & src parameter order
+
+1999-12-23 14:21 adilger
+
+ * demos/snaprest.sh: ensure client is disconnected after snaprestore
+ * class/class_obd.c: debugging for connection counts, made error
+ returns more consistent, check connections when doing cleanup
+
+1999-12-23 03:10 adilger
+
+ * ext2obd/ext2_obd.c: added iput() after reading a bad inode,
+ remove EXT2_UNDEL_DIR_INO from list of iterated inodes.
+ * class/obdcontrol: after snaprestore remove snapshot from
+ table by key not index
+
+1999-12-22 13:44 adilger
+
+ * demos/snaprest.sh: mount /dev/obd2 on /mnt/obd at end of restore
+
+1999-12-22 13:11 adilger
+
+ * snap/snap.c: always try to collapse an object in snap_restoreobj()
+ * demos/snaprest.sh: need to rework snaprestore process
+ * demos/basesetup.sh: check if /dev/obd* exist
+ * demos/baseclean.sh: don't remove temp file
+
+1999-12-22 08:43 adilger
+
+ * demos/obdtest.sh: added new script
+
+1999-12-21 18:03 adilger
+
+ * class/obdcontrol: added "basedev" parameter to the attach command
+ for ext2_obd. This was required after the removal of Filesystem()
+ * demos/*: moved test scripts here, renamed by function
+
+1999-12-21 17:03 adilger
+
+ * class/obdcontrol: merge snapattach into attach, fix scsi_obd packing
+ * snap/cleanup.sh: use ../class/cleanup.sh like snap/setup.sh does
+
+1999-12-21 00:41 braam
+
+ * doc/obd-howto.sgml: numerous edits
+ * class/obdcontrol: make things clearer (no implicit filesystem)
+ * change to our official MAJOR (186).
+
+1999-12-20 17:03 adilger
+
+ * doc/obd-howto.sgml: added issues/bugs section
+ * snap/test*.sh: added brief comments to each script
+
+1999-12-20 16:08 adilger
+
+ * doc/obd-howto.sgml: updated for initial public release
+ * obdfs/many: changed to have separate dir/file operations,
+ * ext2obd/ext2_obd: cosmetic changes to match ext2 code more closely
+ * include/linux/obd_class.h: change obdo_{cpy,cmp}_md() to allow
+ include or exclude flags for copy/compare of metadata
+ * snap/snaptable.c: comment iterator functions clearly
+
+1999-12-17 10:20 adilger
+
+ * include/linux/obd_sim.h: renamed to obd_ext2.h
+ * Configure: revert PCI, APIC checks (otherwise won't compile after
+ config)
+
+1999-12-17 08:45 adilger
+
+ * doc/obd-howto.sgml: completed OBD tutorial section
+ * snap/snap.c: in eliminate_obj() turn off S_IFDIR flag on object
+ before passing to underlying obdext2 driver, so it doesn't
+ decrement the dir count for the group
+ * Configure: removed questions for PCMCIA specific features
+ * class/obdcontrol: disconnect session when changing devices
+
+1999-12-14 20:32 adilger
+
+ * include/linux/obdfs.h: add symlink_inode_operations, prototypes
+ * obdfs/symlink.c, obdfs/namei.c: handle obdfs symlinks properly
+
+1999-12-13 17:55 adilger
+
+ * snap/snap.c, class/obdcontrol: added support for snapshot restores
+ on unmounted OBD filesystems
+ * snap/setup3.sh, snap/cleanup3.sh: scripts to test 3 snapshots
+ * include/linux/obd_snap_support.h: iterator struct/function prototypes
+
+1999-12-13 09:30 adilger
+
+ * all: significant overhaul by Peter to avoid problems with OBD
+ metadata conflicting with ext2 block data in the inode.
+ * class/obdcontrol: added proper commands for snapdelete/snaprestore
+ * class/obdcontrol: device command now disconnects old session if any
+ * ext2obd/*: updated for kernel 2.3.30
+ * include/linux/obd_class.h: helper functions inode metadata cpy/cmp
+ * include/linux/obd_snap.h: new magic less likely for block conflict
+ now that the redirector can have "i_blocks" set
+ * obd/obdfs: updated for kernel 2.3.30
+ * snap/snap.c: use new obd metadata copy helper routines
+ * snap/snap.c: updated delete/restore snapshot iterator functions
+
+1999-12-08 21:42 adilger
+
+ * snap/snap.c: snap_do_cow() fixed case with existing indirect object
+ * snap/snap.c: snap_delsnap() removes (partly) a snapshot
+ * ext2obd/ext2_obd.c: fixed iterator to handle reserved inodes
+ * ext2obd/ext2_obd.c: fixed direct_brw() to handle > 1 block offset
+ * class/obdcontrol: added testsnapiterator command/ioctl
+ * class/setup.sh: added creation of /tmp/fs, 4k block size
+ * obdfs/namei.c: fixed new directory size after write
+
+1999-12-07 11:45 adilger
+
+ * snap/snap.c: fixed check for snap_create() to test for correct
+ read-only copy
+
+1999-12-06 16:53 adilger
+
+ * snap/snap.c, snap/snaptable.c: Fixed up snapshot to work again with
+ snaptables, added snap_iterate() calldown, snap_cleanup() to free
+ a snapshot table entry
+ * ext2obd/ext2_obd.c: added iterator ext2obd_iterate() for all inodes
+ * class/class_obd.c: blocked TCGETS IOCTL, added connection ID to calls
+ * class/obdcontrol: added IOCTL for testing iterator, connection ID
+
+1999-12-06 08:00 braam
+
+ * Added a file handling snapshot tables
+ * Added an ioctl system that allows ioctls to be made without
+ specific devices being attached (pass method down).
+ * Numerous small routines for snapshot handling.
+
+1999-12-03 16:53 adilger
+
+ * Makefile: made "all" the default target
+ * class/class_obd.c, class/genops.c, snap/snap.c: re-ordered
+ migrate, copy argument order to be consistent (dst, src)
+ * snap/snap.c: fixed unlink to work in all cases of (direct,
+ indirect)
+ * snap/setup.sh: check for mounted obdfs before starting
+ * snap/cleanup.sh: remove loop device
+ * ext2obd/ext2_obd.c: start of iterator
+
+1999-12-03 11:08 adilger
+
+ * snap/snap.c: implemented unlink functionality for snapshots.
+ * doc/obd-howto.sgml: started on OBD howto documentation
+
+1999-12-02 13:40 braam
+
+ * class/genops.c: Undo accidental commit
+
+1999-12-02 13:36 braam
+
+ * .cvsignore, class/.cvsignore, class/genops.c, ext2obd/.cvsignore,
+ inofs/.cvsignore, obdfs/.cvsignore, oraid1/.cvsignore,
+ rpcclient/.cvsignore, rpctarget/.cvsignore, snap/.cvsignore: Added
+ .cvsignore files to the repository
+
+1999-12-02 12:33 adilger
+
+ * snap/setup.sh: Updated to use the new "now" and "current" flags
+ when creating snapshots.
+
+1999-12-01 17:11 braam
+
+ * class/obdcontrol, doc/OLVM.txt, include/linux/obd_snap.h,
+ obdfs/super.c, snap/snap.c: Updated snapshot indexes in superblock
+ to not depend on index "0" as being the current snapshot. We still
+ need to push the inode attributes to the snap copy so that
+ size/times are correct.
+
+1999-12-01 11:45 adilger
+
+ * class/genops.c, ext2obd/Makefile, ext2obd/dir.c, ext2obd/file.c,
+ ext2obd/inode.c, ext2obd/truncate.c, include/linux/obdfs.h,
+ obdfs/rw.c, snap/cleanup.sh, snap/setup.sh, tests/fs.sh: Updated
+ parameters for obdfs_writepage() to use struct *dentry instead of
+ struct *file, and call in odbfs_write_one_page() to use new
+ parameters. Updated gen_copy_data() to round up the number of
+ pages copied in while loop.
+
+1999-12-01 01:02 braam
+
+ * snap/snap.c: small test
+
+1999-11-30 12:06 braam
+
+ * class/genops.c, class/setup.sh, ext2obd/Makefile,
+ ext2obd/ext2_obd.c, include/linux/obd_support.h, obdfs/namei.c,
+ snap/snap.c: fixes for 2.3.25 and higher
+
+1999-11-24 14:15 braam
+
+ * BUGS, Makefile, doc/OLVM.txt, ext2obd/ext2_obd.c,
+ include/linux/obd_class.h, include/linux/obd_snap.h,
+ include/linux/obd_support.h, include/linux/obdfs.h, obdfs/dir.c,
+ obdfs/rw.c, obdfs/super.c: Changes to accomodate the snapshot
+ features!
+
+1999-11-24 12:46 braam
+
+ * class/: class_obd.c, cleanup.sh, genops.c, obdcontrol, setup.sh:
+ Changes to accomodate the snapshot driver.
+
+ For working snapshot code, see the snap directory and the
+ snap/setup.sh script. The code is not complete, unlink hasn't been
+ done yet.
+
+1999-11-24 12:42 braam
+
+ * snap/snap.c: first working snapshot OBD driver; see setup.sh for
+ usage.
+
+1999-11-03 <braam@cs.cmu.edu>
+
+ * class/obdcontrol: add Device directive to change OBD device
+ while running
+ * class/obdcontrol: add Filesystem directive to change disk
+ partition while running
+ * rename sim_obd to ext2_obd; prevent doubling up on ext2_unlink
+ etc.
+ * obdfs/super.c fixes to pass device to kernel and to allow
+ mouting multiple devices.
+ * clean up the calling of operations and finding of connection
+ numbers from obdfs
+
+1999-11-02 12:19 braam
+
+ * Makefile: Minimal changes to the makefiles.
+
+1999-11-02 12:12 braam
+
+ * Configure, Makefile, make.rules, class/Makefile, doc/notes.txt,
+ ext2obd/Makefile, ext2obd/sim_obd.c, ext2obd/test.c,
+ ext2obd/test2.c, include/linux/inofs.h, include/linux/obd_rpc.h,
+ include/linux/obd_support.h, include/linux/obdfs.h, inofs/Makefile,
+ inofs/file.c, inofs/inofs.h, inofs/namei.c, inofs/rw.c,
+ inofs/super.c, obdfs/Makefile, obdfs/dir.c, obdfs/file.c,
+ obdfs/namei.c, obdfs/notes.txt, obdfs/rw.c, obdfs/super.c,
+ oraid1/Makefile, rpcclient/Makefile, rpcclient/obdxdr.c,
+ rpcclient/proc.c, rpcclient/rpc_obd.c, snap/Makefile, snap/snap.c,
+ tests/test.c, tests/test2.c: New direcotory layout: subdirs for
+ different clients and file systems documentation, tests and lib
+ subdirectories.
+
+1999-11-01 <braam@wolf.rockies.stelias.com>
+
+ * OBDFS fixes:
+ - code ported to 2.3.24 (no patches needed anymore)
+ - the obdfs_find_entry function which had a nasty bug
+ - rename now works
+ - all pages are currently in a locked state when touched by obdfs
+ - Configure/Makefile fixed to work without MODVERSIONS
+ - read_inode/write_inode copy out the data area
+
+1999-11-01 10:44 braam
+
+ * .cvsignore, ChangeLog, Configure, class/cleanup.sh,
+ class/genops.c, class/obdcontrol, class/setup.sh, class/sysctl.c,
+ doc/API.txt, ext2obd/Makefile, ext2obd/inode.c, ext2obd/sim_obd.c,
+ include/linux/obd_class.h, include/linux/obd_rpc.h,
+ include/linux/obd_snap.h, include/linux/obd_support.h,
+ include/linux/obdfs.h, inofs/Makefile, inofs/file.c, inofs/inofs.h,
+ inofs/namei.c, inofs/rw.c, inofs/super.c, inofs/sysctl.c,
+ obdfs/Makefile, obdfs/dir.c, obdfs/file.c, obdfs/namei.c,
+ obdfs/rw.c, obdfs/super.c, obdfs/symlink.c, obdfs/sysctl.c,
+ rpcclient/obdxdr.c, rpcclient/rpc_obd.c: Over of the changes:
+ Many bugfixes INOFS added SNAP added
+
+ See ChangeLog for details
+
+1999-10-28 <braam@wolf.rockies.stelias.com>
+
+ * INOFS: a new "inode" file system was written. It tests components
+ of obdfs and could be useful for Coda/AFS servers and object
+ databases.
+
+ * This file system will not have directories, but access pure
+ objects. Readdir will be an iterator and to create objects with
+ known names (integers of course) the preallocation function will
+ need to be completed.
+
+ * This will still need to exploit preallocation and and a readdir
+ function should be added
+
+1999-10-22 <braam@wolf.rockies.stelias.com>
+
+ * Beginning of a "rpc_client" layout for OBD
+
+
+1999-10-21 <braam@wolf.rockies.stelias.com>
+
+ * Much of the snap shot client driver is there (see API.txt).
+ This driver introduced the need for substantial changes in the
+ calling interface of the OBD layers. More to come.
+
+ * Part of the RAID1 driver added. Also here many changes to the
+ calling interface were needed.
+
+1999-10-21 12:39 braam
+
+ * BUGS, ChangeLog, Configure, class/class_obd.c, class/genops.c,
+ class/obdcontrol, class/setup.sh, doc/OLVM.txt, ext2obd/Makefile,
+ ext2obd/sim_obd.c, oraid1/raid1_obd.c, snap/snap.c,
+ include/linux/obd.h, include/linux/obd_class.h,
+ include/linux/obd_raid1.h, include/linux/obd_sim.h,
+ include/linux/obd_snap.h, include/linux/obd_support.h,
+ include/linux/obdfs.h, obdfs/dir.c, obdfs/file.c, obdfs/namei.c,
+ obdfs/rw.c, obdfs/super.c, patches/patch-2.3.21: New files: for
+ raid1 for snap shots OLVM a technical description of the
+ logical volume management genops generic operations useful to
+ many obd clients
+
+ Fixes: numerous fixes to the file system several fixes to
+ OBD and obdcontrol
+
+ Current state: does not compile
+
+1999-10-21 00:47 braam
+
+ * ChangeLog, Makefile, class/class_obd.c, class/cleanup.sh,
+ class/genops.c, class/obdcontrol, class/setup.sh, doc/OLVM.txt,
+ ext2obd/Makefile, ext2obd/ext2_obd.c, ext2obd/sim_obd.c,
+ ext2obd/super.c, include/linux/obd_class.h,
+ include/linux/obd_sim.h, include/linux/obd_snap.h,
+ include/linux/obd_support.h, include/linux/obdfs.h, obdfs/namei.c,
+ obdfs/rw.c, obdfs/super.c, oraid1/raid1_obd.c, rpcclient/rpc_obd.c,
+ scripts/maketags.sh, snap/snap.c: Cleanup : no more "sim" now
+ "ext2" can mount multiple devices obdcontrol
+ improved more work on snap (doesn't compile yet)
+
+ check in just before we are again overhauling the
+ interface.
+
+1999-10-12 21:29 braam
+
+ * Configure, class/class_obd.c, class/obdcontrol,
+ ext2obd/sim_obd.c, include/linux/obd_class.h,
+ include/linux/obd_support.h, include/linux/obdfs.h, obdfs/dir.c,
+ obdfs/namei.c, obdfs/rw.c, obdfs/super.c: Numerous fixes, including
+ the attach code, better page locking etc.
+
+1999-09-25 21:20 braam
+
+ * class/class_obd.c, class/obdcontrol, doc/API.txt,
+ ext2obd/sim_obd.c, ext2obd/super.c, include/linux/obd_class.h,
+ include/linux/obd_sim.h, include/linux/obd_support.h,
+ include/linux/obdfs.h, obdfs/Makefile, obdfs/dir.c, obdfs/file.c,
+ obdfs/namei.c, obdfs/rw.c, obdfs/super.c, obdfs/sysctl.c: Added
+ code for obdfs to do writes to files and reads of directories and
+ files.
+
+1999-09-11 00:25 braam
+
+ * class/class_obd.c, class/obdcontrol, class/sysctl.c,
+ ext2obd/Makefile, ext2obd/balloc.c, ext2obd/bitmap.c,
+ ext2obd/dir.c, ext2obd/file.c, ext2obd/fsync.c, ext2obd/ialloc.c,
+ ext2obd/inode.c, ext2obd/interface.c, ext2obd/ioctl.c,
+ ext2obd/psdev.c, ext2obd/sim_obd.c, ext2obd/super.c,
+ ext2obd/truncate.c, include/linux/obd_class.h,
+ include/linux/obd_psdev.h, include/linux/obd_sim.h,
+ include/linux/presto.h, include/linux/presto_upcall.h,
+ include/linux/sim_obd.h: Much cleaner separation of the class and
+ simulated obd code.
+
+1999-09-11 00:25 braam
+
+ * include/linux/obd_support.h: Whoops, forgotten!
+
+1999-09-03 15:01 braam
+
+ * Configure, class/obdcontrol, ext2obd/interface.c,
+ ext2obd/ioctl.c, ext2obd/psdev.c: fixes for deliverables.
+
+1999-09-03 15:01 braam
+
+ * COPYING: forgot the good old gpl
+
+1999-08-31 17:05 braam
+
+ * class/obdcontrol, ext2obd/Makefile, ext2obd/README,
+ ext2obd/acl.c, ext2obd/balloc.c, ext2obd/dir.c, ext2obd/file.c,
+ ext2obd/fsync.c, ext2obd/ialloc.c, ext2obd/inode.c,
+ ext2obd/interface.c, ext2obd/ioctl.c, ext2obd/super.c,
+ ext2obd/symlink.c, ext2obd/test.c, ext2obd/truncate.c: Fixes for
+ Linux 2.3 as well as bug fixes after Ayman's testing.
+
+1999-08-31 17:05 braam
+
+ * patches/: patch-2.2.10, patch-2.3.15: patches for the kernel
+ code.
+
+1999-08-31 17:05 braam
+
+ * obdfs/super.c: Minor change for Linux 2.3
+
+1999-08-16 16:41 braam
+
+ * obdfs/super.c: fix the module unloading bug.
+
+1999-08-10 10:18 braam
+
+ * Configure, class/obdcontrol, doc/API.txt, ext2obd/Makefile,
+ ext2obd/README, ext2obd/file.c, ext2obd/ialloc.c, ext2obd/inode.c,
+ ext2obd/interface.c, ext2obd/ioctl.c, ext2obd/psdev.c,
+ ext2obd/super.c, include/linux/obdfs.h, include/linux/sim_obd.h,
+ obdfs/README, obdfs/notes.txt: Numerous patches and fixes to Phil's
+ initial attack.
+
+ In particular we now have clean tracking of inode counts, so that
+ things attach detach cleanly. Enough there for deliverable 1 & 2.
+
+1999-07-28 22:10 pschwan
+
+ * doc/API.txt, ext2obd/README, ext2obd/interface.c: [no log
+ message]
+
+1999-07-28 10:11 braam
+
+ * Configure, Makefile, class/sysctl.c, ext2obd/balloc.c,
+ ext2obd/bitmap.c, ext2obd/dir.c, ext2obd/file.c, ext2obd/fsync.c,
+ ext2obd/ialloc.c, ext2obd/inode.c, ext2obd/interface.c,
+ ext2obd/ioctl.c, ext2obd/psdev.c, ext2obd/super.c,
+ ext2obd/truncate.c, include/linux/obdfs.h, include/linux/sim_obd.h,
+ include/linux/sym_obd.h, obdfs/super.c, obdfs/sysctl.c: Fixed a
+ spelling mistake: "symulated" --> "simulated" (sym_obd etc).
+
+ Improved configuration scripts
+
+ Removed compiler warnings from re-defining ext2_error
+
+1999-06-24 16:16 pschwan
+
+ * Configure, Makefile, class/obdcontrol, ext2obd/file.c,
+ ext2obd/ialloc.c, ext2obd/inode.c, ext2obd/interface.c,
+ ext2obd/ioctl.c, ext2obd/psdev.c, ext2obd/super.c,
+ include/linux/sym_obd.h, include/linux/obdfs.h, obdfs/Makefile,
+ obdfs/super.c, obdfs/sysctl.c: the last two weeks' work
+
+1999-06-09 18:17 pschwan
+
+ * class/obdcontrol, ext2obd/balloc.c, ext2obd/bitmap.c,
+ ext2obd/dir.c, ext2obd/file.c, ext2obd/fsync.c, ext2obd/ialloc.c,
+ ext2obd/inode.c, ext2obd/interface.c, ext2obd/ioctl.c,
+ ext2obd/super.c, ext2obd/truncate.c, include/linux/sym_obd.h:
+ mostly read, 2.2.1 -> 2.2.9 updates
+
+1999-06-05 13:02 pschwan
+
+ * class/obdcontrol, class/sysctl.c, ext2obd/Makefile,
+ ext2obd/balloc.c, ext2obd/bitmap.c, ext2obd/file.c,
+ ext2obd/ialloc.c, ext2obd/inode.c, ext2obd/interface.c,
+ ext2obd/ioctl.c, ext2obd/psdev.c, ext2obd/super.c, ext2obd/test.c,
+ ext2obd/test2.c, ext2obd/truncate.c, include/linux/presto.h,
+ include/linux/sym_obd.h: A couple days of changes--much
+ improvement.
+
+1999-06-02 19:34 pschwan
+
+ * ext2obd/Makefile, ext2obd/balloc.c, ext2obd/bitmap.c,
+ ext2obd/dir.c, ext2obd/file.c, ext2obd/fsync.c, ext2obd/ialloc.c,
+ ext2obd/inode.c, ext2obd/interface.c, ext2obd/ioctl.c,
+ ext2obd/psdev.c, ext2obd/super.c, ext2obd/test.c, ext2obd/test2.c,
+ ext2obd/truncate.c, include/linux/obd_psdev.h,
+ include/linux/presto.h, include/linux/presto_upcall.h,
+ include/linux/sym_obd.h: foo
+
+1999-06-02 19:28 pschwan
+
+ * Configure, Makefile, config.in: foo
+
--- /dev/null
+ GNU Free Documentation License
+ Version 1.1, March 2000
+
+ Copyright (C) 2000 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+written document "free" in the sense of freedom: to assure everyone
+the effective freedom to copy and redistribute it, with or without
+modifying it, either commercially or noncommercially. Secondarily,
+this License preserves for the author and publisher a way to get
+credit for their work, while not being considered responsible for
+modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work that contains a
+notice placed by the copyright holder saying it can be distributed
+under the terms of this License. The "Document", below, refers to any
+such manual or work. Any member of the public is a licensee, and is
+addressed as "you".
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (For example, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, whose contents can be viewed and edited directly and
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup has been designed to thwart or discourage
+subsequent modification by readers is not Transparent. A copy that is
+not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML designed for human modification. Opaque formats include
+PostScript, PDF, proprietary formats that can be read and edited only
+by proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML produced by some word processors for output
+purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies of the Document numbering more than 100,
+and the Document's license notice requires Cover Texts, you must enclose
+the copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a publicly-accessible computer-network location containing a complete
+Transparent copy of the Document, free of added material, which the
+general network-using public has access to download anonymously at no
+charge using public-standard network protocols. If you use the latter
+option, you must take reasonably prudent steps, when you begin
+distribution of Opaque copies in quantity, to ensure that this
+Transparent copy will remain thus accessible at the stated location
+until at least one year after the last time you distribute an Opaque
+copy (directly or through your agents or retailers) of that edition to
+the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has less than five).
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section entitled "History", and its title, and add to
+ it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. In any section entitled "Acknowledgements" or "Dedications",
+ preserve the section's title, and preserve in the section all the
+ substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section as "Endorsements"
+ or to conflict in title with any Invariant Section.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections entitled "History"
+in the various original documents, forming one section entitled
+"History"; likewise combine any sections entitled "Acknowledgements",
+and any sections entitled "Dedications". You must delete all sections
+entitled "Endorsements."
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, does not as a whole count as a Modified Version
+of the Document, provided no compilation copyright is claimed for the
+compilation. Such a compilation is called an "aggregate", and this
+License does not apply to the other self-contained works thus compiled
+with the Document, on account of their being thus compiled, if they
+are not themselves derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one quarter
+of the entire aggregate, the Document's Cover Texts may be placed on
+covers that surround only the Document within the aggregate.
+Otherwise they must appear on covers around the whole aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License provided that you also include the
+original English version of this License. In case of a disagreement
+between the translation and the original English version of this
+License, the original English version will prevail.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License. However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.1
+ or any later version published by the Free Software Foundation;
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have no Invariant Sections, write "with no Invariant Sections"
+instead of saying which ones are invariant. If you have no
+Front-Cover Texts, write "no Front-Cover Texts" instead of
+"Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
--- /dev/null
+# Copyright (C) 2001 Cluster File Systems, Inc.
+#
+# This code is issued under the GNU General Public License.
+# See the file COPYING in this distribution
+
+AUTOMAKE_OPTIONS = foreign
+SUBDIRS = rpc llight lib ldlm obdecho mdc osc mds ost utils tests filterobd
+SUBDIRS+= class ext2obd obdfs obdtrace demos doc scripts extN
+#SUBDIRS+= oraid1 rpctarget inofs rpcclient tests snap
+EXTRA_DIST = BUGS FDL Rules include patches
+
+# We get the version from the spec file.
+configure: scripts/lustre.spec.in
+
+dist-hook:
+ find $(distdir) -name .deps | xargs rm -rf
+
+include $(top_srcdir)/Rules
--- /dev/null
+Build instructions can be found in the lustre-HOWTO in the doc directory.
--- /dev/null
+# Copyright (C) 2001 Cluster File Systems, Inc.
+#
+# This code is issued under the GNU General Public License.
+# See the file COPYING in this distribution
+
+# Build a kernel module, name.o, and install it in $(moduledir) by:
+# MODULE = name
+# module_DATA = name.o
+# EXTRA_PROGRAMS = name
+# name_SOURCES = my.c files.c
+# include $(top_srcdir)/Rules
+
+$(MODULE).o: $($(MODULE)_OBJECTS)
+ $(LD) -m "`$(LD) --help | awk '/supported emulations/ {print $$4}'`" -r -o $(MODULE).o $($(MODULE)_OBJECTS)
+
+tags:
+ rm -f $(top_srcdir)/TAGS
+ rm -f $(top_srcdir)/tags
+ find $(top_srcdir)/../portals -name '*.[hc]' | xargs etags -a
+ find $(top_srcdir) -name '*.[hc]' | xargs etags -a
+ find $(top_srcdir)/../portals -name '*.[hc]' | xargs ctags -a
+ find $(top_srcdir) -name '*.[hc]' | xargs ctags -a
+
+EXTRA_DIST += CVS
\ No newline at end of file
--- /dev/null
+AC_MSG_CHECKING(if you are running user mode linux for $host_alias..)
+if test -e $LINUX/include/asm-um ; then
+if test X`ls -id $LINUX/include/asm | awk '{print $1}'` = X`ls -id $LINUX/include/asm-um | awk '{print $1}'` ; then
+ host_cpu="um";
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
+else
+ AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(setting make flags system architecture: )
+case ${host_cpu} in
+ um )
+ AC_MSG_RESULT($host_cpu)
+ KCFLAGS='-g -Wall -pipe -Wno-trigraphs -Wstrict-prototypes -fno-strict-aliasing -fno-common '
+ KCPPFLAGS='-D__KERNEL__ -U__i386__ -Ui386 -DUM_FASTCALL -D__arch_um__ -DSUBARCH="i386" -DNESTING=0 -D_LARGEFILE64_SOURCE -Derrno=kernel_errno -DPATCHLEVEL=4 -DMODULE -I$(LINUX)/arch/um/include '
+ MOD_LINK=elf_i386
+;;
+ i*86 )
+ AC_MSG_RESULT($host_cpu)
+ KCFLAGS='-g -O2 -Wall -Wstrict-prototypes -pipe'
+ KCPPFLAGS='-D__KERNEL__ -DMODULE '
+ MOD_LINK=elf_i386
+;;
+
+ alpha )
+ AC_MSG_RESULT($host_cpu)
+ KCFLAGS='-g -O2 -Wall -Wstrict-prototypes -pipe'
+ KCPPFLAGS='-D__KERNEL__ -DMODULE '
+ MOD_LINK=elf64_alpha
+;;
+
+ ia64 )
+ AC_MSG_RESULT($host_cpu)
+ KCFLAGS='-Wall -Wstrict-prototypes -Wno-trigraphs -g -O2 -fno-strict-aliasing -fno-common -pipe -ffixed-r13 -mfixed-range=f10-f15,f32-f127 -falign-functions=32 -mb-step'
+ KCPPFLAGS='-D__KERNEL__ -DMODULE'
+ MOD_LINK=elf64_ia64
+;;
+
+ sparc64 )
+ AC_MSG_RESULT($host_cpu)
+ KCFLAGS='-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -Wno-unused -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare -Wa,--undeclared-regs'
+ KCPPFLAGS='-D__KERNEL__'
+ MOD_LINK=elf64_sparc
+
+;;
+
+ default )
+ AC_ERROR("Unknown Linux Platform")
+esac
+
+AC_MSG_CHECKING(for MODVERSIONS)
+if egrep -e 'MODVERSIONS.*1' $LINUX/include/linux/autoconf.h >/dev/null 2>&1;
+then
+ MFLAGS="-DMODULE -DMODVERSIONS -include $LINUX/include/linux/modversions.h -DEXPORT_SYMTAB"
+ AC_MSG_RESULT(yes)
+else
+ MFLAGS=
+ AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING(for SMP)
+if egrep -e SMP=y $LINUX/.config >/dev/null 2>&1; then
+ SMPFLAG=
+ AC_MSG_RESULT(yes)
+else
+ SMPFLAG=
+ AC_MSG_RESULT(no)
+fi
+
+CFLAGS="$KCFLAGS $MFLAGS"
+ARCHCPPFLAGS="$KCPPFLAGS"
--- /dev/null
+#!/bin/sh
+
+find . -type d -name .deps | xargs rm -rf
+automake --add-missing &&
+aclocal &&
+autoconf
--- /dev/null
+AC_INIT
+AC_CANONICAL_SYSTEM
+
+# Copyright (C) 2001 Cluster File Systems, Inc.
+#
+# This code is issued under the GNU General Public License.
+# See the file COPYING in this distribution
+
+# Automake variables. Steal the version number from lustre.spec.in.
+AM_INIT_AUTOMAKE(obd, builtin([esyscmd], [sed -ne '/^%define version /{ s/.*version //; p; q; }' scripts/lustre.spec.in]))
+#AM_MAINTAINER_MODE
+AC_PROG_CC
+AC_PROG_RANLIB
+
+# Kernel build environment.
+ac_default_prefix=
+bindir='${exec_prefix}/usr/bin'
+sbindir='${exec_prefix}/usr/sbin'
+
+linuxdir_def=/usr/src/linux
+AC_ARG_ENABLE(linuxdir, [ --enable-linuxdir=[path] set path to Linux source (default=/usr/src/linux)],, enable_linuxdir=$linuxdir_def)
+
+LINUX=$enable_linuxdir
+AC_SUBST(LINUX)
+
+sinclude(archdep.m4)
+
+KINCFLAGS='-I. -I$(top_srcdir)/include -I$(PORTALS)/include -I$(LINUX)/include'
+CPPFLAGS="$KINCFLAGS $ARCHCPPFLAGS"
+
+portalsdir_def='$(top_srcdir)/../portals'
+AC_ARG_ENABLE(portalsdir, [ --enable-portalsdir=[path] set path to Portals source (default=../portals)],, enable_portalsdir=$portalsdir_def)
+PORTALS=$enable_portalsdir
+AC_SUBST(PORTALS)
+
+AC_MSG_CHECKING(if make dep has been run in kernel source)
+if test -f $LINUX/include/linux/config.h ; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_ERROR(** cannot find $LINUX/include/linux/config.h. Run make dep in $LINUX.)
+fi
+
+AC_MSG_CHECKING(if autoconf.h is in kernel source)
+if test -f $LINUX/include/linux/autoconf.h ; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_ERROR(** cannot find $LINUX/include/linux/autoconf.h. Run make config in $LINUX.)
+fi
+
+
+AC_MSG_CHECKING(for Linux release)
+
+dnl We need to rid ourselves of the nasty [ ] quotes.
+changequote(, )
+LVERSION="`sed -ne 's/^VERSION[ ]*=[ ]*//gp' $LINUX/Makefile`"
+PATCHLEVEL="`sed -ne 's/^PATCHLEVEL[ ]*=[ ]*//gp' $LINUX/Makefile`"
+SUBLEVEL="`sed -ne 's/^SUBLEVEL[ ]*=[ ]*//gp' $LINUX/Makefile`"
+EXTRAVERSION="`sed -ne 's/^EXTRAVERSION[ ]*=[ ]*//gp' $LINUX/Makefile`"
+changequote([, ])
+
+RELEASE="$LVERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION"
+moduledir='$(libdir)/modules/'$RELEASE
+AC_SUBST(moduledir)
+AC_SUBST(EXTRAVERSION)
+
+modulefsdir='$(moduledir)/fs'
+AC_SUBST(modulefsdir)
+
+AC_MSG_RESULT($RELEASE)
+AC_SUBST(RELEASE)
+
+# Directories for documentation and demos.
+docdir='${prefix}/usr/share/doc/$(PACKAGE)'
+AC_SUBST(docdir)
+
+demodir='$(docdir)/demo'
+AC_SUBST(demodir)
+
+AC_OUTPUT(Makefile lib/Makefile ldlm/Makefile obdecho/Makefile rpc/Makefile \
+ osc/Makefile mdc/Makefile mds/Makefile ost/Makefile utils/Makefile \
+ tests/Makefile filterobd/Makefile class/Makefile ext2obd/Makefile \
+ llight/Makefile obdfs/Makefile obdtrace/Makefile demos/Makefile \
+ snap/Makefile doc/Makefile scripts/Makefile scripts/lustre.spec \
+ extN/Makefile)
--- /dev/null
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission. M.I.T. makes no representations about the
+# suitability of this software for any purpose. It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ chmodcmd=""
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
--- /dev/null
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+case "$1" in
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing - GNU libit 0.0"
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+ aclocal)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acinclude.m4' or \`configure.in'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`configure.in'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acconfig.h' or \`configure.in'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequirements for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
--- /dev/null
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id: mkinstalldirs,v 1.1 2002/05/27 16:48:11 pschwan Exp $
+
+errstatus=0
+
+for file
+do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case "$pathcomp" in
+ -* ) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
--- /dev/null
+obd-*/obd-*
+CVS
+*~
+make.rules
+config.*
+*.o
+*.orig
+*.backup
+.depfiles
+ext2obd/dir.c
+ext2obd/file.c
+ext2obd/ialloc.c
+ext2obd/inode.c
+ext2obd/super.c
+ext2obd/fsync.c
+ext2obd/ioctl.c
+ext2obd/balloc.c
+ext2obd/acl.c
+ext2obd/namei.c
+ext2obd/symlink.c
+ext2obd/bitmap.c