From: heinzm@sourceware.org
To: dm-cvs@sourceware.org, dm-devel@redhat.com
Subject: dmraid ./CHANGELOG ./KNOWN_BUGS ./README ./TOD ...
Date: 22 Feb 2008 17:06:56 -0000 [thread overview]
Message-ID: <20080222170656.30272.qmail@sourceware.org> (raw)
CVSROOT: /cvs/dm
Module name: dmraid
Changes by: heinzm@sourceware.org 2008-02-22 17:06:54
Modified files:
. : CHANGELOG KNOWN_BUGS README TODO
lib : version.h
lib/format : format.c
lib/format/ddf : ddf1.c ddf1_crc.c ddf1_lib.c
tools : Makefile.in VERSION
Log message:
1.0.0.rc14 checkin
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/CHANGELOG.diff?cvsroot=dm&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/KNOWN_BUGS.diff?cvsroot=dm&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/README.diff?cvsroot=dm&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/TODO.diff?cvsroot=dm&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/lib/version.h.diff?cvsroot=dm&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/lib/format/format.c.diff?cvsroot=dm&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/lib/format/ddf/ddf1.c.diff?cvsroot=dm&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/lib/format/ddf/ddf1_crc.c.diff?cvsroot=dm&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/lib/format/ddf/ddf1_lib.c.diff?cvsroot=dm&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/tools/Makefile.in.diff?cvsroot=dm&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/dmraid/tools/VERSION.diff?cvsroot=dm&r1=1.3&r2=1.4
--- dmraid/CHANGELOG 2008/02/22 17:06:00 1.3
+++ dmraid/CHANGELOG 2008/02/22 17:06:54 1.4
@@ -1,6 +1,23 @@
-Changelog from dmraid 1.0.0.rc12 to 1.0.0.rc13 2006.10.11
+Changelog from dmraid 1.0.0.rc13 to 1.0.0.rc14 2006.11.08
+FIXES:
+------
+o asr.c: fixed Adaptec HostRAID DDF1 discovery
+o ddf1_crc.c: added crc() routine to avoid linking to zlib alltogether,
+ because Ubuntu had problems with this
+
+
+FEATURES:
+---------
+
+
+MISCELANIOUS:
+-------------
+
+
+
+Changelog from dmraid 1.0.0.rc12 to 1.0.0.rc13 2006.10.11
FIXES:
------
@@ -11,7 +28,6 @@
Changelog from dmraid 1.0.0.rc11 to 1.0.0.rc12 2006.09.22
-
FIXES:
------
o sil.c: quorate() OBO fix
@@ -24,7 +40,6 @@
o added reload functionality to devmapper.c (IBM)
o sil.[ch]: added JBOD support
-
MISCELANIOUS:
-------------
o streamlined devmapper.c
--- dmraid/KNOWN_BUGS 2008/02/22 17:04:35 1.2
+++ dmraid/KNOWN_BUGS 2008/02/22 17:06:54 1.3
@@ -1,7 +1,4 @@
-KNOWN_BUGS in dmraid 1.0.0.rc12 2005.05.15
+KNOWN_BUGS in dmraid 1.0.0.rc14 2005.11.08
o "dmraid --sets[a/i]" doesn't work properly. Use the short option -s.
-
-o DOS partition recognition fails to recognize all partitions in
- certain cases; likely a size issue with the underlying RAID set
--- dmraid/README 2008/02/22 17:06:00 1.4
+++ dmraid/README 2008/02/22 17:06:54 1.5
@@ -1,6 +1,6 @@
********************************************************************************
* *
-* dmraid (Device-Mapper Software RAID support tool) 1.0.0.rc13 2006.10.11 *
+* dmraid (Device-Mapper Software RAID support tool) 1.0.0.rc14 2006.11.08 *
* *
* (C)opyright 2004-2006 Heinz Mauelshagen, Red Hat GmbH. *
* All rights reserved. *
--- dmraid/TODO 2008/02/22 17:04:35 1.2
+++ dmraid/TODO 2008/02/22 17:06:54 1.3
@@ -1,7 +1,7 @@
--- dmraid 1.0.0.rc12 TODO -- 2006.09.19
+-- dmraid 1.0.0.rc14 TODO -- 2006.11.08
-o use kpartx instead of my own metadata format handlers
+o use kpartx instead of my own DOS metadata format handler
o more enhancements for RAID set consistency checks
--- dmraid/lib/version.h 2008/02/22 17:06:00 1.3
+++ dmraid/lib/version.h 2008/02/22 17:06:54 1.4
@@ -1,12 +1,12 @@
#ifndef DMRAID_LIB_VERSION
-#define DMRAID_LIB_VERSION "1.0.0.rc13"
+#define DMRAID_LIB_VERSION "1.0.0.rc14"
#define DMRAID_LIB_MAJOR_VERSION 1
#define DMRAID_LIB_MINOR_VERSION 0
#define DMRAID_LIB_SUBMINOR_VERSION 0
-#define DMRAID_LIB_VERSION_SUFFIX "rc13"
+#define DMRAID_LIB_VERSION_SUFFIX "rc14"
-#define DMRAID_LIB_DATE "(2006.10.11)"
+#define DMRAID_LIB_DATE "(2006.11.08)"
#endif
--- dmraid/lib/format/format.c 2008/02/22 17:04:35 1.2
+++ dmraid/lib/format/format.c 2008/02/22 17:06:54 1.3
@@ -18,7 +18,7 @@
* Comment next line out to avoid pre-registration
* checks on metadata format handlers.
*/
-#define CHECK_FORMAT_HANDLER
+// #define CHECK_FORMAT_HANDLER
#ifdef CHECK_FORMAT_HANDLER
/*
* Check that mandatory members of a metadata form handler are present.
--- dmraid/lib/format/ddf/ddf1.c 2008/02/22 17:04:35 1.1
+++ dmraid/lib/format/ddf/ddf1.c 2008/02/22 17:06:54 1.2
@@ -353,7 +353,7 @@
if (ddf1->adapter &&
ddf1->adapter->pci_vendor == PCI_VENDOR_ID_ADAPTEC2) {
- log_notice(lc, "%s: Adaptec mode discvered on %s",
+ log_notice(lc, "%s: Adaptec mode discovered on %s",
handler, di->path);
ddf1->adaptec_mode = 1;
}
@@ -682,7 +682,7 @@
struct ddf1_config_record *cr,
struct ddf1_phys_drive *pd)
{
- if (cr)
+ if (cr && cr->sectors)
/* Some Adaptec controllers need this clamping. */
return type(lc, ddf1, cr) == t_raid0 ?
cr->sectors - cr->sectors % stride(cr) : cr->sectors;
--- dmraid/lib/format/ddf/ddf1_crc.c 2008/02/22 17:04:35 1.1
+++ dmraid/lib/format/ddf/ddf1_crc.c 2008/02/22 17:06:54 1.2
@@ -16,11 +16,51 @@
#include "ddf1.h"
#include "ddf1_crc.h"
#include "ddf1_lib.h"
-#include "zlib.h"
#define DM_BYTEORDER_SWAB
#include <datastruct/byteorder.h>
+/*
+ * CRC table code to avoid linking to zlib, because Ubuntu has
+ * problems with that plus this additionally saves space.
+ */
+
+/* Make the table for a fast CRC. */
+#define CRC_TABLE_SIZE 256
+static inline void crc_table_init(uint32_t *crc_table)
+{
+ static int new = 1; /* Flag for table not yet computed. */
+
+ if (new) {
+ uint32_t c, n, k;
+
+ for (new = n = 0; n < CRC_TABLE_SIZE; *(crc_table++) = c, n++) {
+ for (c = n, k = 0; k < 8; k++)
+ c = (c & 1) ? (c >> 1) ^ 0xEDB88320L : c >> 1;
+ }
+ }
+}
+
+/*
+ * Update a running CRC with the bytes buf[0..len-1] -- the CRC
+ * should be initialized to all 1's, and the transmitted value
+ * is the 1's complement of the final running CRC (see the
+ * crc() routine below).
+ */
+/* Return the CRC of the bytes buf[0..len-1]. */
+static uint32_t crc(uint32_t crc, unsigned char *buf, int len)
+{
+ int n;
+ static uint32_t crc_table[CRC_TABLE_SIZE]; /* CRCs of 8-bit messages. */
+
+ crc_table_init(crc_table);
+ for (n = 0; n < len; n++)
+ crc = crc_table[(crc ^ buf[n]) & (CRC_TABLE_SIZE - 1)] ^
+ (crc >> 8);
+
+ return crc ^ 0xFFFFFFFFL;
+}
+
/* CRC info for various functions below */
struct crc_info {
void *p;
@@ -32,22 +72,23 @@
/* Compute the checksum of a table */
static uint32_t do_crc32(struct lib_context *lc, struct crc_info *ci)
{
- uint32_t old_csum = *ci->crc, ret = crc32(0, NULL, 0); /* Init CRC */
+ uint32_t old_csum = *ci->crc, ret = 0xFFFFFFFF;
- *ci->crc = 0xFFFFFFFF;
- ret = crc32(ret, ci->p, ci->size); /* zlib */
+ *ci->crc = ret;
+ ret = crc(ret, ci->p, ci->size);
*ci->crc = old_csum;
return ret;
}
+/* Return VD record size. */
static inline size_t record_size(struct ddf1 *ddf1)
{
return ddf1->primary->vd_config_record_len * DDF1_BLKSIZE;
}
-#define CRC32(postfix, record_type, macro) \
-static int crc32_ ## postfix(struct lib_context *lc, struct dev_info *di, \
- struct ddf1 *ddf1, int idx) \
+#define CRC32(suffix, record_type, macro) \
+static int crc32_ ## suffix(struct lib_context *lc, struct dev_info *di, \
+ struct ddf1 *ddf1, int idx) \
{ \
struct record_type *r = macro(ddf1, idx); \
struct crc_info ci = { \
@@ -86,9 +127,10 @@
crc32 = do_crc32(lc, ci);
if (*ci->crc != crc32)
- log_warn(lc, "%s: %s with CRC %X, expected %X on %s",
+ log_print(lc, "%s: %s with CRC %X, expected %X on %s",
HANDLER, ci->text, crc32, *ci->crc, di->path);
+
return 1;
}
@@ -159,7 +201,7 @@
}
}
- return type == CHECK ? ret & check_cfg_crc(lc, di, ddf1) :
+ return type == CHECK ? (ret & check_cfg_crc(lc, di, ddf1)) :
update_cfg_crc(lc, di, ddf1);
}
--- dmraid/lib/format/ddf/ddf1_lib.c 2008/02/22 17:04:35 1.1
+++ dmraid/lib/format/ddf/ddf1_lib.c 2008/02/22 17:06:54 1.2
@@ -57,7 +57,9 @@
struct ddf1_header *h = ddf1->primary;
/* The 0xFFFF nonsense is a weird Adaptec quirk */
- return (h->max_primary_elements == 0xFFFF && ddf1->adaptec_mode) ?
+// bz211016
+// return (h->max_primary_elements == 0xFFFF && ddf1->adaptec_mode) ?
+ return (h->max_primary_elements == 0xFFFF) ?
h->max_phys_drives : h->max_primary_elements;
}
--- dmraid/tools/Makefile.in 2008/02/22 17:04:36 1.2
+++ dmraid/tools/Makefile.in 2008/02/22 17:06:54 1.3
@@ -20,7 +20,7 @@
TARGETS=\
dmraid
-DMRAIDLIBS=-ldmraid -lz
+DMRAIDLIBS=-ldmraid
include $(top_srcdir)/make.tmpl
--- dmraid/tools/VERSION 2008/02/22 17:06:01 1.3
+++ dmraid/tools/VERSION 2008/02/22 17:06:54 1.4
@@ -1 +1 @@
-1.0.0.rc13 (2006.10.11)
+1.0.0.rc14 (2006.11.08)
reply other threads:[~2008-02-22 17:06 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080222170656.30272.qmail@sourceware.org \
--to=heinzm@sourceware.org \
--cc=dm-cvs@sourceware.org \
--cc=dm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.