From: Kevin Corry <corryk@us.ibm.com>
To: torvalds@transmeta.com
Cc: linux-kernel@vger.kernel.org, evms-devel@lists.sourceforge.net
Subject: [PATCH] EVMS core (9/9) misc
Date: Thu, 10 Oct 2002 14:39:46 -0500 [thread overview]
Message-ID: <0210101439460B.17770@boiler> (raw)
In-Reply-To: <02101014305502.17770@boiler>
Greetings,
Part 9 of the EVMS core driver.
This is a series of patches and files required to properly configure and
build EVMS as part of the kernel. Included here is:
- patch for the MAINTAINERS file to include EVMS contact information.
- patch for arch/i386/config.in to provide a configuration menu option
for EVMS. Patches for other architectures are available, and will be
submitted in the future.
- patch for drivers/Makefile to process the EVMS directory.
- EVMS-specific configuration files and Makefiles. These currently only
contain information on building the core driver. As addition plugins are
submitted, the appropriate patches against these files will be provided.
- patch for include/linux/list.h to add a list_for_each_entry_safe() macro.
- patch for include/linux/major.h to add the EVMS major number (117).
- patch for include/linux/sysctl.h to add entries for EVMS.
Kevin Corry
corryk@us.ibm.com
http://evms.sourceforge.net/
diff -Naur linux-2.5.41/MAINTAINERS linux-2.5.41-evms/MAINTAINERS
--- linux-2.5.41/MAINTAINERS Mon Oct 7 13:24:40 2002
+++ linux-2.5.41-evms/MAINTAINERS Thu Oct 10 11:23:27 2002
@@ -556,6 +556,13 @@
W: http://opensource.creative.com/
S: Maintained
+ENTERPRISE VOLUME MANAGEMENT SYSTEM (EVMS)
+P: Mark Peloquin, Steve Pratt, Kevin Corry
+M: peloquin@us.ibm.com, slpratt@us.ibm.com, corryk@us.ibm.com
+L: evms-devel@lists.sourceforge.net
+W: http://www.sourceforge.net/projects/evms/
+S: Supported
+
ETHEREXPRESS-16 NETWORK DRIVER
P: Philip Blundell
M: Philip.Blundell@pobox.com
diff -Naur linux-2.5.41/arch/i386/config.in linux-2.5.41-evms/arch/i386/config.in
--- linux-2.5.41/arch/i386/config.in Mon Oct 7 13:24:02 2002
+++ linux-2.5.41-evms/arch/i386/config.in Thu Oct 10 11:24:05 2002
@@ -370,6 +370,8 @@
fi
endmenu
+source drivers/evms/Config.in
+
source drivers/md/Config.in
source drivers/message/fusion/Config.in
diff -Naur linux-2.5.41/drivers/Makefile linux-2.5.41-evms/drivers/Makefile
--- linux-2.5.41/drivers/Makefile Mon Oct 7 13:24:49 2002
+++ linux-2.5.41-evms/drivers/Makefile Thu Oct 10 11:22:27 2002
@@ -41,5 +41,6 @@
obj-$(CONFIG_BLUEZ) += bluetooth/
obj-$(CONFIG_HOTPLUG_PCI) += hotplug/
obj-$(CONFIG_ISDN_BOOL) += isdn/
+obj-$(CONFIG_EVMS) += evms/
include $(TOPDIR)/Rules.make
diff -Naur linux-2.5.41/drivers/evms/Config.in linux-2.5.41-evms/drivers/evms/Config.in
--- linux-2.5.41/drivers/evms/Config.in Wed Dec 31 18:00:00 1969
+++ linux-2.5.41-evms/drivers/evms/Config.in Thu Oct 10 11:18:21 2002
@@ -0,0 +1,25 @@
+#
+# EVMS kernel configuration
+#
+
+mainmenu_option next_comment
+comment 'Enterprise Volume Management System'
+
+tristate 'EVMS Kernel Runtime' CONFIG_EVMS
+
+if [ "$CONFIG_EVMS" != "n" ]; then
+ choice ' EVMS Debug Level' \
+ "Critical CONFIG_EVMS_INFO_CRITICAL \
+ Serious CONFIG_EVMS_INFO_SERIOUS \
+ Error CONFIG_EVMS_INFO_ERROR \
+ Warning CONFIG_EVMS_INFO_WARNING \
+ Default CONFIG_EVMS_INFO_DEFAULT \
+ Details CONFIG_EVMS_INFO_DETAILS \
+ Debug CONFIG_EVMS_INFO_DEBUG \
+ Extra CONFIG_EVMS_INFO_EXTRA \
+ Entry_Exit CONFIG_EVMS_INFO_ENTRY_EXIT \
+ Everything CONFIG_EVMS_INFO_EVERYTHING" Default
+fi
+
+endmenu
+
diff -Naur linux-2.5.41/drivers/evms/Makefile linux-2.5.41-evms/drivers/evms/Makefile
--- linux-2.5.41/drivers/evms/Makefile Wed Dec 31 18:00:00 1969
+++ linux-2.5.41-evms/drivers/evms/Makefile Thu Oct 10 11:18:13 2002
@@ -0,0 +1,8 @@
+#
+# Makefile for the kernel EVMS driver and modules.
+#
+
+obj-$(CONFIG_EVMS) += core/
+
+include $(TOPDIR)/Rules.make
+
diff -Naur linux-2.5.41/drivers/evms/core/Config.help linux-2.5.41-evms/drivers/evms/core/Config.help
--- linux-2.5.41/drivers/evms/core/Config.help Wed Dec 31 18:00:00 1969
+++ linux-2.5.41-evms/drivers/evms/core/Config.help Thu Oct 10 11:16:58 2002
@@ -0,0 +1,30 @@
+CONFIG_EVMS
+ EVMS runtime driver. This is a plugin-based framework for volume
+ management, and combines support for partitioning, software RAID,
+ LVM, and more into a single interface.
+
+ User-space tools are required to perform administration of EVMS logical
+ volumes. Please visit <http://www.sourceforge.net/projects/evms> for
+ more details on downloading and installing these tools.
+
+ This driver is also available as a modules called evmscore.o ( = code
+ which can be inserted and removed from the running kernel whenever you
+ want). If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+
+CONFIG_EVMS_INFO_CRITICAL
+ Set the level for kernel messages from EVMS. Each level on the list
+ produces message for that level and all levels above it. Thus, level
+ "Critical" only logs the most critical messages (and thus the fewest),
+ whereas level "Everything" produces more information that will probably
+ ever be useful. Level "Default" is a good starting point. Level "Debug"
+ is good if you are having problems with EVMS and want more basic info
+ on what's going on during the volume discovery process.
+
+ EVMS also supports a boot-time kernel parameter to set the info level.
+ To use this method, specify "evms_info_level=5" at boot time, or add the
+ line "append = "evms_info_level=5"" to your lilo.conf file (replacing 5
+ with your desired info level). See include/linux/evms.h for the
+ numerical definitions of the info levels. To use this boot-time parameter,
+ the EVMS core driver must be statically built into the kernel (not as a
+ module).
diff -Naur linux-2.5.41/drivers/evms/core/Makefile linux-2.5.41-evms/drivers/evms/core/Makefile
--- linux-2.5.41/drivers/evms/core/Makefile Wed Dec 31 18:00:00 1969
+++ linux-2.5.41-evms/drivers/evms/core/Makefile Thu Oct 10 11:17:16 2002
@@ -0,0 +1,41 @@
+#
+# Makefile for the EVMS core.
+#
+
+export-objs := evms.o services.o
+
+evmscore-objs := evms.o services.o discover.o passthru.o
+
+obj-$(CONFIG_EVMS) += evmscore.o
+
+EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_DEFAULT
+ifeq ($(CONFIG_EVMS_INFO_CRITICAL),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_CRITICAL
+endif
+ifeq ($(CONFIG_EVMS_INFO_SERIOUS),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_SERIOUS
+endif
+ifeq ($(CONFIG_EVMS_INFO_ERROR),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_ERROR
+endif
+ifeq ($(CONFIG_EVMS_INFO_WARNING),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_WARNING
+endif
+ifeq ($(CONFIG_EVMS_INFO_DETAILS),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_DETAILS
+endif
+ifeq ($(CONFIG_EVMS_INFO_DEBUG),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_DEBUG
+endif
+ifeq ($(CONFIG_EVMS_INFO_EXTRA),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_EXTRA
+endif
+ifeq ($(CONFIG_EVMS_INFO_ENTRY_EXIT),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_ENTRY_EXIT
+endif
+ifeq ($(CONFIG_EVMS_INFO_EVERYTHING),y)
+ EXTRA_CFLAGS=-DEVMS_INFO_LEVEL=EVMS_INFO_EVERYTHING
+endif
+
+include $(TOPDIR)/Rules.make
+
diff -Naur linux-2.5.41/include/linux/list.h linux-2.5.41-evms/include/linux/list.h
--- linux-2.5.41/include/linux/list.h Mon Oct 7 13:22:55 2002
+++ linux-2.5.41-evms/include/linux/list.h Thu Oct 10 14:13:52 2002
@@ -240,6 +240,20 @@
pos = list_entry(pos->member.next, typeof(*pos), member), \
prefetch(pos->member.next))
+/**
+ * list_for_each_entry_safe - iterate over list of a given type, safe against removal of list entry
+ * @pos: the type * to use as a loop counter.
+ * @n: another type * to use as temporary storage
+ * @head: the head for your list.
+ * @member: the name of the list_struct within the struct.
+ */
+#define list_for_each_entry_safe(pos, n, head, member) \
+ for (pos = list_entry((head)->next, typeof(*pos), member), \
+ n = list_entry(pos->member.next, typeof(*pos), member); \
+ &pos->member != (head); \
+ pos = n, \
+ n = list_entry(pos->member.next, typeof(*pos), member))
+
#endif /* __KERNEL__ || _LVM_H_INCLUDE */
#endif
diff -Naur linux-2.5.41/include/linux/major.h linux-2.5.41-evms/include/linux/major.h
--- linux-2.5.41/include/linux/major.h Mon Oct 7 15:57:47 2002
+++ linux-2.5.41-evms/include/linux/major.h Wed Jul 10 09:45:46 2002
@@ -140,6 +140,8 @@
#define LVM_CHAR_MAJOR 109 /* Logical Volume Manager */
+#define EVMS_MAJOR 117 /* Enterprise Volume Management System */
+
#define RTF_MAJOR 150
#define RAW_MAJOR 162
diff -Naur linux-2.5.41/include/linux/sysctl.h linux-2.5.41-evms/include/linux/sysctl.h
--- linux-2.5.41/include/linux/sysctl.h Mon Oct 7 15:57:47 2002
+++ linux-2.5.41-evms/include/linux/sysctl.h Mon Oct 7 15:57:44 2002
@@ -578,7 +578,8 @@
DEV_HWMON=2,
DEV_PARPORT=3,
DEV_RAID=4,
- DEV_MAC_HID=5
+ DEV_MAC_HID=5,
+ DEV_EVMS=6,
};
/* /proc/sys/dev/cdrom */
@@ -594,6 +595,18 @@
/* /proc/sys/dev/parport */
enum {
DEV_PARPORT_DEFAULT=-3
+};
+
+/* /proc/sys/dev/evms */
+enum {
+ DEV_EVMS_INFO_LEVEL=1,
+ DEV_EVMS_MD=2
+};
+
+/* /proc/sys/dev/evms/raid */
+enum {
+ DEV_EVMS_MD_SPEED_LIMIT_MIN=1,
+ DEV_EVMS_MD_SPEED_LIMIT_MAX=2
};
/* /proc/sys/dev/raid */
prev parent reply other threads:[~2002-10-10 20:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-10 19:30 [PATCH] EVMS core (0/9) Kevin Corry
2002-10-10 19:35 ` [PATCH] EVMS core (1/9) evms.c Kevin Corry
2002-10-10 19:35 ` [PATCH] EVMS core (2/9) services.c Kevin Corry
2002-10-10 19:35 ` [PATCH] EVMS core (3/9) discover.c Kevin Corry
2002-10-10 19:37 ` [PATCH] EVMS core (4/9) passthru.c Kevin Corry
2002-10-10 19:37 ` [PATCH] EVMS core (5/9) evms_core.h Kevin Corry
2002-10-10 19:37 ` [PATCH] EVMS core (6/9) evms.h Kevin Corry
2002-10-10 19:39 ` [PATCH] EVMS core (7/9) evms_ioctl.h Kevin Corry
2002-10-10 19:39 ` [PATCH] EVMS core (8/9) evms_biosplit.h Kevin Corry
2002-10-10 19:39 ` Kevin Corry [this message]
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=0210101439460B.17770@boiler \
--to=corryk@us.ibm.com \
--cc=evms-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox