=================
0.0.1 2/19/2002 <braam@clusterfs.com>
+0.0.2 3/14/2002 <braam@clusterfs.com> describe branches / stable tag
This document describes versioning of source and binaries for Lustre.
4. test:
- when developers feel it is time to exchange a named version
-What will run, what won't:
+What will run, what won't ?
+---------------------------
1. If the test level is non-zero no guarantees of any kind are made.
+
2. For three digit releases/tags the code should perform
according to the announcement.
+Moving tags
+-----------
+
+The last stable release will be tagged: CVS tag "stable"
+The last operational development snapshot will be CVS tag "dstable"
+
+Branches
+--------
+
+For even minor releases a branch tag will be created. The branch tag
+will be of the form:
+
+bmajor_minor
+
+Note that the CVS head is where development is going. If developers
+use a branch they must eventually merge that back into the head.
+Typically this is done by importing changes into the branch and
+removing the sticky tags:
+
+cvs update -A
+
+fixing any conflicts and then committing.
\ No newline at end of file
--- /dev/null
+EXTRA_DIST = mds_pack.c mds_updates.c obd_pack.c page.c
+
-ln -s ../lib/page.c
+LINX=page.c
llight_SOURCES = page.c super.c rw.c file.c dir.c sysctl.c namei.c symlink.c
+dist-hook:
+ list='$(LINX)'; for f in $$list; do rm -f $(distdir)/$$f; done
+
include $(top_srcdir)/Rules
err = mdc_getattr(&sbi->ll_mds_client, ino, type,
OBD_MD_FLNOTOBD|OBD_MD_FLBLOCKS, &request);
if ( err ) {
- CERROR("obdo_fromid failed\n");
+ CERROR("failure %d inode %ld\n", err, ino);
ptlrpc_free_req(request);
EXIT;
return ERR_PTR(-abs(err));
EXTRA_PROGRAMS = mdc
-mdc_SOURCES = mds_pack.c mdc_request.c mdc_reint.c mds_updates.c
+LINX=mds_pack.c mds_updates.c
+mdc_SOURCES = mdc_request.c mdc_reint.c $(LINX)
mds_pack.c:
ln -s ../lib/mds_pack.c .
mds_updates.c:
ln -s ../lib/mds_updates.c .
+dist-hook:
+ list='$(LINX)'; for f in $$list; do rm -f $(distdir)/$$f; done
+
+
include $(top_srcdir)/Rules
modulefs_DATA = mds.o
EXTRA_PROGRAMS = mds
+LINX=mds_pack.c mds_updates.c
mds_pack.c:
ln -s ../lib/mds_pack.c .
mds_updates.c:
ln -s ../lib/mds_updates.c .
-mds_SOURCES = mds_pack.c handler.c mds_reint.c mds_updates.c
+mds_SOURCES = handler.c mds_reint.c $(LINX)
+
+dist-hook:
+ list='$(LINX)'; for f in $$list; do rm -f $(distdir)/$$f; done
include $(top_srcdir)/Rules
modulefs_DATA = osc.o
EXTRA_PROGRAMS = osc
-
+LINX= obd_pack.c
osc_SOURCES = obd_pack.c osc_request.c # super.c rw.c file.c dir.c sysctl.c super.c namei.c symlink.c
obd_pack.c:
ln -s ../lib/obd_pack.c .
+dist-hook:
+ list='$(LINX)'; for f in $$list; do rm -f $(distdir)/$$f; done
+
include $(top_srcdir)/Rules
modulefs_DATA = ost.o
EXTRA_PROGRAMS = ost
+LINX=page.c obd_pack.c
obd_pack.c:
ln -s ../lib/obd_pack.c .
page.c:
ln -s ../lib/page.c
-ost_SOURCES = page.c obd_pack.c ost_handler.c
+ost_SOURCES = $(LINX) ost_handler.c
+dist-hook:
+ list='$(LINX)'; for f in $$list; do rm -f $(distdir)/$$f; done
include $(top_srcdir)/Rules
# This code is issued under the GNU General Public License.
# See the file COPYING in this distribution
-EXTRA_DIST = license-status maketags.sh mkobddevs obd.spec obdtrace_demo.scr
+EXTRA_DIST = license-status maketags.sh mkobddevs obdtrace_demo.scr lustre.spec
# obd.spec
-%define version 0.007
-%define kversion 2.4.9
-%define aclevel ac10
-%define izolevel 2
+%define linuxdir @LINUX@
+%define version 0.3.2.0
+%define kversion @KVERSION@
+%define extra_version @EXTRAVERSION@
+%define module_dir @moduledir@
Release: 0
-%define extraversion -%{aclevel}
+%define extraversion -%{extra_version}
%define kuname %{kversion}%{extraversion}
%define knamever %{kversion}_%{aclevel}
-%define bdir $RPM_BUILD_DIR/obd-%{version}-%{knamever}
+%define bdir $RPM_BUILD_DIR/%{module_dir}/fs
-Summary: Object-Based Disk utility programs
-Name: lustre
+Summary: Lustre Lite File System
+Name: lustre-lite
Version: %{version}
Copyright: GPL
Group: Utilities/System
Source: ftp://ftp.lustre.com/pub/lustre/obd-%{version}.tar.gz
%description
-Object-Based Disk utilities and demonstration scripts.
+The Lustre Lite Cluster File System: kernel drivers for file system,
+servers and utilities.
%package -n lustre-modules
-Summary: Object-Based Disk storage drivers for Linux %{kuname}
+Summary: Kernel Lustre drivers for Linux %{kuname}
Group: Development/Kernel
-#Requires: kernel-intermezzo = %{knamever}_%{izolevel}
%description -n lustre-modules
-Object-Based Disk storage drivers for Linux %{kuname}.
+Lustre file System, server and network drivers for Linux %{kuname}.
%package -n lustre-source
Summary: Object-Based Disk storage driver source
Group: Development/Kernel
%description -n lustre-source
-Object-Based Disk storage driver source.
+Lustre Lite Source for further development
%prep
%setup -n obd-%{version}
tar -cf - . | (cd $RPM_BUILD_ROOT/usr/src/obd-%{version} && tar -xvBpf -)
# Set an explicit path to our Linux tree, if we can.
-enable=
-linuxdir=/usr/src/linux-%{kuname}
-test -d $linuxdir && enable=--enable-linuxdir=$linuxdir
-./configure $enable
+./configure --enable-linuxdir=$linuxdir
make
%install
%files -n lustre-modules
%attr(-, root, root) %doc COPYING
-%attr(-, root, root) /lib/modules/%{kuname}/fs/obd*.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/llight.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/ptlrpc.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/mds.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/mdc.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/ost.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/osc.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/obdclass.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/obdfilter.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/obdecho.o
+%attr(-, root, root) /lib/modules/%{kuname}/fs/obdext2.o
%files -n lustre-source
%attr(-, root, root) /usr/src/obd-%{version}
DEFS:=
+EXTRA_DIST = parser.h
CFLAGS:=-g -I. -I/usr/include/glib-1.2 -I$(PORTALS)/include \
-I/usr/lib/glib/include -I$(srcdir)/../include -Wall
KFLAGS:=
+++ /dev/null
-package Pack;
-use Carp;
-use Exporter;
-@EXPORT = qw(LOGL, UNLOGL, LOGU32, UNLOGU32, LLOGU32, LUNLOGU32, LOGU64, UNLOGU64, LLOGU64, LUNLOGU64);
-
-sub round_len {
- return ($_[0] + 3) & ~0x3;
-}
-
-sub roundq_len {
- return ($_[0] + 3) & ~0x7;
-}
-
-# pack a string $_[2]
-# at $offset ($_[1])
-# in $buf ($_[0])
-# padd to 32bit alignment move $_[1] forward
-
-sub LOGL{
- my $len = length($_[2]);
- my $rlen = round_len($len);
- my $padd = $rlen + $off - length($_[0]);
-
- if ($padd > 0) {
- $_[0] .= pack "x$padd";
- }
- substr $_[0], $_[1], $len, $_[2];
- $_[1] += $rlen;
-}
-
-# pack $_[2], a u32, into $_[0] at offset $_[1]
-sub LOGU32 {
- if ($_[1] != round_len($_[1])) {
- confess "packing I on non-word boundary";
- }
- my $padd = 4 + $off - length($_[0]);
-
- if ($padd > 0) {
- $_[0] .= pack "L", $_[2];
- } else {
- substr $_[0], $_[1], $len, pack "L", $_[2];
- }
- $_[1] += 4;
-}
-
-# pack $_[2], a u32, into $_[0] at offset $_[1]
-# use little endian
-sub LLOGU32 {
- if ($_[1] != round_len($_[1])) {
- confess "packing V on non-word boundary";
- }
- my $padd = 4 + $off - length($_[0]);
-
- if ($padd > 0) {
- $_[0] .= pack "V", $_[2];
- } else {
- substr $_[0], $_[1], $len, pack "V", $_[2];
- }
- $_[1] += 4;
-}
-
-sub LLOGU64 {
- if ($_[1] != roundq_len($_[1])) {
- confess "packing Q on non-word boundary";
- }
- my $padd = 8 + $off - length($_[0]);
-
- if ($padd > 0) {
- $_[0] .= pack "VV", $_[3], $_[2];
- } else {
- substr $_[0], $_[1], $len, pack "VV", $_[3], $_[2];
- }
- $_[1] += 8;
-}
-
-sub LLOGU64 {
- if ($_[1] != roundq_len($_[1])) {
- confess "packing Q on non-word boundary";
- }
- my $padd = 8 + $off - length($_[0]);
-
- if ($padd > 0) {
- $_[0] .= pack "LL", $_[3], $_[2];
- } else {
- substr $_[0], $_[1], $len, pack "LL", $_[3], $_[2];
- }
- $_[1] += 8;
-}
-
-sub UNLOGL {
- if (length($_[0]) < $_[1] + round_len($_[2]) ) {
- confess "unpacking buf beyond string length";
- }
-
- $_[3] = unpack "x$_[1]a$_[2]", $_[0];
- $_[1] += round_len($_[2]);
- return $_[3];
-}
-
-sub UNLOGU32 {
- if (length($_[0]) < $_[1] + 4) {
- confess "unpacking u32 beyond string length";
- }
-
- $_[2] = unpack "x$_[1]L", $_[0];
- $_[1] += 4;
- return $_[2];
-}
-
-sub LUNLOGU32 {
- if (length($_[0]) < $_[1] + 4) {
- confess "lunpacking u32 beyond string length";
- }
- $_[2] = unpack "x$_[1]V", $_[0];
- $_[1] += 4;
- return $_[2];
-}
-
-sub UNLOGU64 {
- if (length($_[0]) < $_[1] + 8) {
- confess "unpacking u64 beyond string length";
- }
-
- ($_[3], $_[2]) = unpack "x$_[1]LL", $_[0];
- $_[1] += 8;
- return ($_[2], $_[3]);
-}
-
-sub LUNLOGU64 {
- if (length($_[0]) < $_[1] + 8) {
- confess "lunpacking u64 beyond string length";
- }
-
- ($_[3], $_[2]) = unpack "x$_[1]VV", $_[0];
- $_[1] += 8;
- return ($_[2], $_[3]);
-}
-
-sub test {
- $buf = "";
- $off = 0;
-
- LOGL($buf, $off, "moose");
- print "off $off\n";
- printf "len %d\n", length($buf);
- LLOGU64($buf, $off, 0x01020304, 0x05060708);
- print "off $off\n";
- printf "len %d\n", length($buf);
- LLOGU32($buf, $off, 0x01020304);
- print "off $off\n";
- printf "len %d\n", length($buf);
- $off = 0;
- UNLOGL($buf, $off, length("moose"), $str);
- print "off $off $str\n";
- LUNLOGU64($buf, $off, $high, $low);
- printf "off $off high %x low %x\n", $high, $low;
- LUNLOGU32($buf, $off, $low);
- printf "off $off long %x\n", $low;
-
- $off = 0;
- $str = UNLOGL($buf, $off, length("moose"));
- print "assigned off $off $str\n";
- ($high, $low) = LUNLOGU64($buf, $off);
- printf "assigned off $off high %x low %x\n", $high, $low;
- $low = LUNLOGU32($buf, $off, $low);
- printf "assigned off $off long %x\n", $low;
-
- sysopen F, "/tmp/out", 2;
- syswrite F, $buf, length($buf);
-}
-
-# test();