chiark / gitweb /
remove chassis_id program
authorKay Sievers <kay.sievers@suse.de>
Mon, 12 Sep 2005 12:28:59 +0000 (14:28 +0200)
committerKay Sievers <kay.sievers@suse.de>
Mon, 12 Sep 2005 12:28:59 +0000 (14:28 +0200)
Broken and unmaintained!

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
extras/chassis_id/Makefile [deleted file]
extras/chassis_id/README [deleted file]
extras/chassis_id/chassis_id.c [deleted file]
extras/chassis_id/chassis_id.h [deleted file]
extras/chassis_id/install.txt [deleted file]
extras/chassis_id/provision.tbl [deleted file]
extras/chassis_id/table.c [deleted file]
extras/chassis_id/udev.rules [deleted file]

diff --git a/extras/chassis_id/Makefile b/extras/chassis_id/Makefile
deleted file mode 100644 (file)
index ae5c959..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-# * 
-# * Makefile
-# *
-# * Copyright (C) 2004 Intel Corporation.  All rights reserved.
-# *
-# * This program is free software; you can redistribute it and/or
-# * modify it under the terms of the GNU General Public
-# * License v2.0 as published by the Free Software Foundation; 
-# *
-# * 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 021110-1307, USA.
-# *
-# * Authors: Atul Sabharwal
-# *          
-# *
-
-TARGET = chassis_id
-
-exec_prefix =   ${prefix}
-sbindir =       ${exec_prefix}/sbin
-INSTALL = /usr/bin/install -c
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_DATA  = ${INSTALL} -m 644
-all:   chassis_id
-
-ifneq ($(strip $(USE_KLIBC)),true)
-chassis_id:    chassis_id.c table.c
-       $(QUIET) $(CC) -o $(TARGET) $(CFLAGS) chassis_id.c table.c
-
-install: all
-       $(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(sbindir)/$(TARGET)
-else
-chassis_id:
-       @echo
-       @echo "!!! chassis_id is incompatible with klibc !!!"
-       @echo
-       @exit 0
-
-install: all
-endif
-
-clean:
-       rm -rf core a.out $(TARGET)
-
diff --git a/extras/chassis_id/README b/extras/chassis_id/README
deleted file mode 100644 (file)
index 51add49..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-                                     README.txt
-                                     ~~~~~~~~~~
-Chassis_id is a callout program which is used to give geographic names to devices.  It uses
-another callout program scsi_id to determine the serial number of a device and then looks up
-the provisioning table based on this key. It retrieves  geographic information 
-( chassis#, slot# and host# ) about the device and prints it to stdout. These fields are
-used by udev to create the device entry.
-
-Using Udev:
-~~~~~~~~~~
-Chassis_id gets invoked by udev using the udev as below:
-
-BUS="scsi", PROGRAM="/usr/local/bin/chassis_id", NAME="/chassis%c{1}/slot%c{2}/host%c{3}/disk-%c{4}
-
-The provisioning table ( file provision.tbl ) has to be put in /usr/local/bin and as of now has
-to be populated manually. This is the only place where the geographic map of devices is kept
-in the system.
-
-
-Usage Model:
-~~~~~~~~~~~~
-On ATCA based blade architecture systems, blade insertion/removal is common. We create names
-in a 3 level deep tree which represent the geographic map of the devices.
-
-
-CONTACT:
-~~~~~~~~
-Please feel free to contact atul.sabharwal@intel.com with questions, comments, suggestions.
diff --git a/extras/chassis_id/chassis_id.c b/extras/chassis_id/chassis_id.c
deleted file mode 100644 (file)
index de86087..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* 
- * chassis_id.c
- *
- * Copyright (C) 2004 Intel Corporation.  All rights reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License v 2.0 as published by the Free Software Foundation; 
- *
- * 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 021110-1307, USA.
- *
- * Authors: Atul Sabharwal
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <syslog.h>
-
-#include "chassis_id.h"
-
-//#define DEBUG              1
-
-/* Run SCSI id to find serial number of the device */
-static int getserial_number(char * devpath, char * snumber)
-{
-       FILE *fp;
-       char vendor[255], model[255], cmd[255];
-       int retval;
-
-       sprintf(cmd, "/sbin/scsi_id -s %s -p 0x80", devpath);
-
-       fp = popen(cmd, "r");
-
-       if (fp == NULL)
-               return -ERROR_BAD_SNUMBER;
-
-       fscanf(fp, "%s %s %s", vendor, model, snumber);
-       #ifdef DEBUG
-       syslog(LOG_PID| LOG_DAEMON| LOG_ERR, "\n%s", snumber );
-       #endif
-
-       retval = pclose(fp);
-       if (retval == -1)
-               return -ERROR_BAD_SNUMBER;
-       else
-               return NO_ERROR;
-}
-
-int main(int argc, char **argv, char **envp)
-{
-       int chassis_num, slot_num, retval;
-       char disk_snum[255], devpath[255];
-       char *ptr;
-       int disk_index;
-
-       syslog( LOG_PID| LOG_DAEMON| LOG_ERR, "\n%s", "starting chassis_id" );
-
-       ptr = getenv("DEVPATH");
-       if (ptr == NULL)
-               return -ERROR_NO_DEVPATH;
-
-       sscanf(ptr, "%s", &devpath[0]);
-       #ifdef DEBUG
-       syslog(LOG_PID|LOG_DAEMON| LOG_ERR, "Devpath %s", devpath);
-       #endif
-
-       retval = table_init();
-       if (retval < 0)
-       return -ERROR_BAD_TABLE;
-
-       getserial_number(devpath, disk_snum);
-
-       /* Now we open the provisioning table t find actual entry for the serial number*/
-       disk_index =  table_find_disk(disk_snum, &chassis_num, &slot_num);
-       if ( disk_index == -1 ) {
-               // typical provisioning error
-               return -ERROR_NO_DISK;
-       } else {
-               table_select_disk( disk_index );
-       }
-       return 0;
-}
diff --git a/extras/chassis_id/chassis_id.h b/extras/chassis_id/chassis_id.h
deleted file mode 100644 (file)
index 1463bd2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/* 
- * chassis_id.h
- *
- * Copyright (C) 2004 Intel Corporation.  All rights reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License v 2.0 as published by the Free Software Foundation; 
- *
- * 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 021110-1307, USA.
- *
- * Authors: Atul Sabharwal
- *
- */
-
-#ifndef _CHASSIS_ID_H
-#define _CHASSIS_ID_H
-
-//#define DEBUG                        1
-#define ERROR                  1
-#define ERROR_NO_SLOT          2
-#define ERROR_NO_CHASSIS       3
-#define ERROR_NO_DEVPATH       4
-#define ERROR_BAD_SNUMBER      5
-#define ERROR_NO_DISK          6
-#define ERROR_BAD_TABLE                7
-#define ERROR_BAD_SCAN         8
-#define NO_ERROR               0
-
-extern int table_init(void);
-extern int table_find_disk(const char *serialnumber , int *chassis_num, int *slot_num);
-extern int table_select_disk(int diskindex);
-
-#endif
diff --git a/extras/chassis_id/install.txt b/extras/chassis_id/install.txt
deleted file mode 100644 (file)
index a567afe..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-
-Udev does not come pre-installed on a Linux system. Hence, we need to do the following before
-a Linux system is ready ::
-
-Steps:
-~~~~~
-1.  Install libsysfs shared libraries by installing sysfsutils-0.4.0.
-
-2.  Download latest version of udev from www.kernel.org site. It is
-    under repository->utils->kernel path chain.
-
-    Do make and make install so as to install udev. To install scsi_id,
-    go into extras/scsi_id folder to compile scsi_id. Typically, this
-    would be in /sbin folder.  Now, change scsi_id.cfg and set the
-    global option to work with all devices ( -g) and comment out the
-    black list option ( -b ).
-
-3.  Download chassis_id callout code and compile. Install chassis_id and
-    provision.tbl file in /usr/local/bin.
-
-4.  In /etc/rc.sysinit, add mount command to mount the sys memory file
-    system. ( mount -t sysfs sys /sys ). The /sys is necessary as
-    lot of the software components expect it to be in /sys.
-
-5.  Now, in /etc/udev/udev.rules, install the udev rules file. This
-    is the GDN config file which is used by udev to create folders
-    in the form chasis<N>/slot<M>/port<O>/disk<P>.
-
-6.  Now, you are almost there. Refer to PROVISIONING file.
-
-
-PROVISIONING:
-1.  For GDN, the provisioning file is in the format :
-   <id>  <host>   <number_of_disks>     <chassis#>    <slot#>  <serial#>  <name>
-
-   <host>            SCSI host on which the device is connected
-   <Number of disks> how many disks on this blade ?
-   <chassis#>        chassis Number
-   <slot#>           Physical slot number
-   <serial#>         Serial Number for the disk
-   <name>            Name of the disk device.
-
-2.  To fill the provisioning table, the user needs to collect this information and
-    fill provision.tbl.
-
-    The serial number is found from the command scsi_id -p 0x80 -s <device name>.
-
-    The host number is availble from the sys file system. The chassis & slot
-    are visual data and should be enetered into provision.tbl.
diff --git a/extras/chassis_id/provision.tbl b/extras/chassis_id/provision.tbl
deleted file mode 100644 (file)
index c137fd5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-id  host   number_of_disks     chassis#    slot#   serial#                  name
-1    1         2               1           2      3BM07NKA000070456Z6B     disk1
-2    1         2               1           2      3BM07R68000070456ZCK     disk2
-3    2          2              1           3      3EV08ANK00007219JAVA     disk3
-4    2          2              1           4      3EV00NZB000072190Y90     disk4
diff --git a/extras/chassis_id/table.c b/extras/chassis_id/table.c
deleted file mode 100644 (file)
index ee64ecc..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/* 
- * table.c
- *
- * Copyright (C) 2004 Intel Corporation.  All rights reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License v2.0 as published by the Free Software Foundation; 
- *
- * 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 021110-1307, USA.
- *
- * Authors: Atul Sabharwal
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-
-#include "chassis_id.h"
-
-#define TABLE_SIZE 100
-#define PROVISION_DB  "/usr/local/bin/provision.tbl"
-
-struct provision_record
-{
-       int  id;
-       int  num_disks;
-       int  chassis_num;
-       int  slot_num;
-       char serial_num[32];
-       char name[32];
-} ptable[TABLE_SIZE];
-
-int ptable_size;
-
-/* Initialize the provisioning table by reading the data from special file provision.tbl *
-   Return error if something does not work appropriately.                                */
-int table_init(void)
-{
-       FILE *fp;
-       char ptr[255];
-       int i;
-
-       fp = fopen( PROVISION_DB, "r");
-
-       if ((fp== NULL) || feof(fp))
-                return -1;
-
-       // skip the first line of text which contains descriptive details.
-       fgets(ptr, 80, fp);     
-       i = 0;
-       while (!feof(fp)) {
-               fgets(ptr, 80, fp);     
-               sscanf(ptr, "%d %d %d %d %s %s", &ptable[i].id,
-                       &ptable[i].num_disks, 
-                       &ptable[i].chassis_num, &ptable[i].slot_num,
-                       ptable[i].serial_num, ptable[i].name);
-               i++;       
-       }  
-
-       ptable_size = i;
-       fclose(fp);
-       return 0;
-}
-
-
-/* return -1 when no disk found. Otherwise return index of disk */
-int table_find_disk(const char *serialnumber , int *chassis_num, int *slot_num)
-{
-       int i;
-
-       for (i = 0; i < ptable_size; i++) {
-               if (strcmp(ptable[i].serial_num, serialnumber) == 0) {
-                       *chassis_num =  ptable[i].chassis_num;
-                       *slot_num = ptable[i].slot_num;
-                       break;
-               }
-       }
-
-       if (i == ptable_size)
-               return -1;
-       else
-               return i;
-}
-
-/* This function is primarily there for passing the selected disk entry to udev
- * so that it can create descriptive GDN for it. So, for that we need to output
- * this data to stdout.
- */
-int table_select_disk(int diskindex)
-{
-       printf("%d ", ptable[diskindex].chassis_num);
-       printf("%d ", ptable[diskindex].slot_num);
-       printf("%s ", ptable[diskindex].name);
-
-       return 0;
-}
-
diff --git a/extras/chassis_id/udev.rules b/extras/chassis_id/udev.rules
deleted file mode 100644 (file)
index b1618c1..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# There are a number of modifiers that are allowed to be used in some of the
-# fields.  See the udev man page for a full description of them.
-#
-# See the udev.rules.examples file for more examples of how to create rules
-#
-
-BUS="scsi", PROGRAM="/usr/local/bin/chassis_id", NAME="/chassis%c{1}/slot%c{2}/%c{3}"