Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 202055 Details for
Bug 282455
sys-apps/raidutils-0.0.6-r1 silently segfaults with recent kernels
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to fix reported issues.
raidutils-0.0.6-debian-8-multiple-issues.patch (text/plain), 27.58 KB, created by
John R. Graham
on 2009-08-23 17:08:07 UTC
(
hide
)
Description:
Patch to fix reported issues.
Filename:
MIME Type:
Creator:
John R. Graham
Created:
2009-08-23 17:08:07 UTC
Size:
27.58 KB
patch
obsolete
># ># Derived from http://ftp.de.debian.org/debian/pool/main/r/raidutils/raidutils_0.0.6-8.diff.gz ># Removed all of the Debian specific package and build system patches, leaving ># just the source code patches. ># - JRG, 2009-08-23 ># >--- raidutils-0.0.6.orig/lib/engmsg.c >+++ raidutils-0.0.6/lib/engmsg.c >@@ -152,7 +152,7 @@ > // > // Send off the message to the engine > // >- if(i = msgsnd(msqID,(struct msgbuf *)&HdrBuff,MsgDataSize,0) != -1) >+ if((i = msgsnd(msqID,(struct msgbuf *)&HdrBuff,MsgDataSize,0)) != -1) > { > // > // Let's set up a little loop here receiving messages in case >--- raidutils-0.0.6.orig/lib/engcalls.cpp >+++ raidutils-0.0.6/lib/engcalls.cpp >@@ -987,7 +987,7 @@ > > /* The Attach Failed, So DeAllocate The Shared Memory */ > >- if((int)SharedMemoryPtr == -1) >+ if((long)SharedMemoryPtr == -1) > { > shmctl(BufferID,IPC_RMID,&shm_buff); > SharedMemoryPtr = NULL; >--- raidutils-0.0.6.orig/raideng/eng_unix.cpp >+++ raidutils-0.0.6/raideng/eng_unix.cpp >@@ -491,7 +491,7 @@ > > /* Make Sure That We Could Attach */ > >- if((int)toEng_P != -1) >+ if((long)toEng_P != -1) > { > fromEng_P = toEng_P + HdrBuff.FromEngBuffOffset; > >@@ -909,7 +909,7 @@ > #else > void DisplayHelp(void) > { >- printf("The Pramaters For This Program Are :\n"); >+ printf("The Parameters For This Program Are :\n"); > printf( > " /VERBOSE : Display All Connection And Message Information\n"); > printf( >--- raidutils-0.0.6.orig/raideng/unreslvd.cpp >+++ raidutils-0.0.6/raideng/unreslvd.cpp >@@ -34,7 +34,7 @@ > char *__nw__FUi(int size) > { > char *p; >- p = (char *)malloc(size); >+ p = (char *)malloc((size_t)size); > return(p); > } > >--- raidutils-0.0.6.orig/raideng/i2odep.h >+++ raidutils-0.0.6/raideng/i2odep.h >@@ -203,7 +203,7 @@ > # define _F_set12bit4(w,x,y,z,u) ((w)->z = (u)) > # define _F_get16bit(w,x,y,z) ((U16)((w)->z)) > # define _F_set16bit(w,x,y,z,u) ((w)->z = (u)) >-#elif (defined(_DPT_BIG_ENDIAN)) >+#elif (defined(_DPT_BIG_ENDIAN) || defined(sparc)) > /* First 12 bits */ > # define _F_getTID(w,x,y) getL12bit(w,x,0) > # define _F_setTID(w,x,y,z) setL12bit(w,x,0,z) >--- raidutils-0.0.6.orig/raideng/connect.hpp >+++ raidutils-0.0.6/raideng/connect.hpp >@@ -189,7 +189,7 @@ > > // Constructor/Destructor............................. > >- dptSCSIcon_C::dptSCSIcon_C(); >+ dptSCSIcon_C(); > > // Message Handlers................................... > >--- raidutils-0.0.6.orig/raideng/raid.h >+++ raidutils-0.0.6/raideng/raid.h >@@ -271,7 +271,7 @@ > > // Constructor/Destructor............................. > >- raidDef_S::raidDef_S(); >+ raidDef_S(); > > }; > #endif // c++ >--- raidutils-0.0.6.orig/raideng/osd_unix.cpp >+++ raidutils-0.0.6/raideng/osd_unix.cpp >@@ -164,6 +164,10 @@ > #define TO_LOGGER_BUFFER_SIZE 0x1000 > #define FROM_LOGGER_BUFFER_SIZE 0x10000 > >+/* Definitions - Device names -----------------------------------------------*/ >+ >+char *DEV_CTL = "/dev/i2octl"; // formerly /dev/i2o/ctl >+ > /* Function Prototypes ------------------------------------------------------*/ > > DPT_RTN_T osdIOrequest(uSHORT ioMethod); >@@ -374,32 +378,44 @@ > > if(ioMethod==DPT_IO_PASS_THRU) > { >+ // make sure the device entry represents an active device and not >+ // just a device file that was probed without actually finding a >+ // device, so we don't wait 20 seconds trying to connect to >+ // it... >+ if(DefaultHbaDev->Flags == 0 ) >+ { >+ FormatTimeString(TimeString,time(0)); >+ printf("\nosdIDrequest : %s Fatal error, DefaultHbaDev does not point to an active controller.\n", TimeString); >+ fflush(stdout); >+ } >+ else { > >- /* Try To Open The First Adapter Device */ >+ /* Try To Open The First Adapter Device */ > >- for(Index = 0; Index < 20; ++Index) >- { >- FileID = open(DefaultHbaDev->NodeName,O_RDONLY); >- if((FileID == -1)&&(errno == ENOENT)) >- { >- sleep(1); >- } >- else { >- break; >- } >- } >+ for(Index = 0; Index < 20; ++Index) >+ { >+ FileID = open(DefaultHbaDev->NodeName,O_RDONLY); >+ if((FileID == -1)&&(errno == ENOENT)) >+ { >+ sleep(1); >+ } >+ else { >+ break; >+ } >+ } > > #ifdef _SINIX_ADDON >- if (DemoMode) >- FileID = 99; >+ if (DemoMode) >+ FileID = 99; > #endif >- if(FileID != -1) >- { >- retVal = MSG_RTN_COMPLETED; >- close(FileID); >- } >- else printf("\nosdIOrequest : File %s Could Not Be Opened", >- DefaultHbaDev->NodeName); >+ if(FileID != -1) >+ { >+ retVal = MSG_RTN_COMPLETED; >+ close(FileID); >+ } >+ else printf("\nosdIOrequest : File %s Could Not Be Opened", >+ DefaultHbaDev->NodeName); >+ } > } > if(Verbose) > printf("\nosdIOrequest : Return = %x",retVal); >@@ -501,6 +517,15 @@ > retVal = MSG_RTN_COMPLETED; > NumHBAs = BuildNodeNameList(); > >+ // If there are no HBAs found, abort with an explict error message. >+ if(NumHBAs == 0) >+ { >+ FormatTimeString(TimeString,time(0)); >+ printf("\nosdOpenEngine : %s Fatal error, no active controller device files found.\n", TimeString); >+ retVal = MSG_RTN_FAILED; >+ fflush(stdout); >+ } >+ > if(Verbose) > { > FormatTimeString(TimeString,time(0)); >@@ -1232,7 +1257,7 @@ > #elif defined (_DPT_SCO) || defined (SNI_MIPS) || defined(_DPT_SOLARIS) || defined(_DPT_BSDI) || defined(_DPT_FREE_BSD) || defined(_DPT_LINUX) > > #if defined(_DPT_LINUX_I2O) >- if(strcmp(HbaDevs[HbaNum].NodeName, "/dev/i2o/ctl")) >+ if(strcmp(HbaDevs[HbaNum].NodeName, DEV_CTL)) > i = ioctl(FileID,I2OUSRCMD,IoctlBuffer_P); > else { > struct i2o_cmd_passthru pt; >@@ -2144,7 +2169,7 @@ > i = 0; > } > #elif defined(_DPT_LINUX_I2O) >- if(strcmp(HbaDevs[Count].NodeName, "/dev/i2o/ctl")) >+ if(strcmp(HbaDevs[Count].NodeName, DEV_CTL)) > i = osdSendIoctl(&HbaDevs[Count],DPT_CTRLINFO,DataBuff,&pkt); > else { > /* >@@ -2367,7 +2392,7 @@ > SysInfo_P->busType = SI_PCI_BUS; > SysInfo_P->processorFamily = PROC_INTEL; > buffer_size = sysinfo(SI_ARCHITECTURE, buffer_ptr, 0); >- buffer_ptr = (char *)malloc((int)buffer_size); >+ buffer_ptr = (char *)malloc((size_t)buffer_size); > status = sysinfo(SI_ARCHITECTURE, buffer_ptr, buffer_size); > if (status != -1) > { >@@ -2647,7 +2672,7 @@ > > /* The Attach Failed, So DeAllocate The Shared Memory */ > >- if((int)SharedMemoryPtr == -1) >+ if((long)SharedMemoryPtr == -1) > { > Rtnval = 1; > shmctl(BufferID,IPC_RMID,&shm_buff); >@@ -2782,7 +2807,7 @@ > toLoggerTotalSize = toLoggerSize + sizeof(dptBuffer_S); > fromLoggerTotalSize = fromEngSize + sizeof(dptBuffer_S); > FromLoggerBuffOffset = toLoggerTotalSize; >- Ptr = (char *)malloc((uINT)(toLoggerTotalSize + fromLoggerTotalSize)); >+ Ptr = (char *)malloc((size_t)(toLoggerTotalSize + fromLoggerTotalSize)); > if(Ptr != NULL) > { > *toLogger_P_P = Ptr; >@@ -3421,7 +3446,7 @@ > { > void *Rtnval; > >- Rtnval = (void *)malloc((uINT)size); >+ Rtnval = (void *)malloc((size_t)size); > if(Verbose) > { > FormatTimeString(TimeString,time(0)); >@@ -3743,16 +3768,56 @@ > NumEntries = 0; > > # if (defined(_DPT_LINUX_I2O)) >+ uCHAR LinuxI2ODataBuff[MAX_I2O_CONTROLLERS]; >+ > memset(&pkt, 0, sizeof(EATA_CP)); > HbaDevs[NumEntries].Flags = 0; >- strcpy(HbaDevs[NumEntries].NodeName, "/dev/i2o/ctl"); >- IoctlRtn = osdSendIoctl(&HbaDevs[NumEntries], I2OGETIOPS, (uCHAR *)&NumEntries, &pkt); >+ strcpy(HbaDevs[NumEntries].NodeName, DEV_CTL); >+ IoctlRtn = osdSendIoctl(&HbaDevs[NumEntries], I2OGETIOPS, LinuxI2ODataBuff, &pkt); > if(!IoctlRtn) { >- for(i = 0; i < NumEntries; i ++) { >- HbaDevs[i].Flags = NODE_FILE_VALID_HBA_B | NODE_FILE_I2O_HBA_B; >- HbaDevs[i].IoAddress = UINTPTR_MAX; >- strcpy(HbaDevs[i].NodeName, "/dev/i2o/ctl"); >- } >+ // step through the returned data buffer and look for the >+ // non-zero entries, which indicate an active IOP. For each >+ // one we find, add a corresponding entry in HbaDevs. >+ for(i = 0; i < MAX_I2O_CONTROLLERS; i ++) { >+ if ( LinuxI2ODataBuff[i] != 0 ) >+ { >+ if(NumEntries >= MAX_HAS) >+ { >+ FormatTimeString(TimeString,time(0)); >+ >+ printf("\nBuildNodeNameList : %s Warning: Found more than %d Linux I2O Controlers; ignoring those that won't fit in the HbaDevs array.", >+ TimeString, MAX_HAS); >+ >+ fflush(stdout); >+ break; >+ } >+ if(Verbose) >+ { >+ FormatTimeString(TimeString,time(0)); >+ >+ printf("\nBuildNodeNameList : %s Found Linux I2O Controler, using %s device file for utility-relative controller number %d.", >+ TimeString, DEV_CTL, NumEntries); >+ >+ fflush(stdout); >+ } >+ >+ HbaDevs[NumEntries].Flags = NODE_FILE_VALID_HBA_B | NODE_FILE_I2O_HBA_B; >+ HbaDevs[NumEntries].IoAddress = UINTPTR_MAX; >+ strcpy(HbaDevs[NumEntries].NodeName, DEV_CTL); >+ >+ ++NumEntries; >+ } >+ else { >+ // for now, we'll assume that all the active IOP entries >+ // are at the front of the returned buffer. In order to >+ // support "gaps", we'd need to record the IOP index in the >+ // NodeFiles_S structure and use that instead of HbaNum when >+ // we call the I2OPASSTHRU ioctl (or make sure that >+ // everything that looks at HbaDevs can handle inactive >+ // entries in the middle of the array). >+ break; >+ } >+ } // for(i = 0; i < MAX_I2O_CONTROLLERS; i ++) > } > # endif > >--- raidutils-0.0.6.orig/include/get_info.h >+++ raidutils-0.0.6/include/get_info.h >@@ -364,6 +364,12 @@ > #include "device.hh" > #include "raid_dev.hh" > >+ // use PACK for things that should be packed; >+ // PACK_A for things that you'd like packed by would give a >+ // warning on anything except an ARM if actually packed; and >+ // PACK_WAS if it used to be packed by this gave warnings >+ // everywhere so now it isn't. >+ > #undef PACK > #if (defined(__GNUC__)) > # define PACK __attribute__ ((packed)) >@@ -371,19 +377,27 @@ > #define PACK > #endif > >+#ifdef __arm__ >+# define PACK_A PACK >+#else >+# define PACK_A >+#endif >+ >+#define PACK_WAS >+ > uSHORT flags2; // Supplemental flags word > uSHORT hbaIndex; // HBA index # (slot #) > uSHORT hbaFlags; // HBA flags - see bit definitions below > #if defined (_DPT_STRICT_ALIGN) > uSHORT sniAdjust3; > #endif >- uLONG magicNum PACK; // RAID magic # >- uLONG hbaTag PACK; // Reserved for future expansion >- uLONG flags3 PACK; // Miscellaneous flags - see bit definitions above >- uSHORT busSpeed PACK; // Negotiated bus speed (in Mhz) >- uCHAR p2Flags PACK; // Path 2 flags - see bit definitions above >- uCHAR reserved4 PACK; // Reserved for future expansion >- uLONG availableCapacity PACK; // Reserved for future expansion >+ uLONG magicNum PACK; // RAID magic # >+ uLONG hbaTag PACK; // Reserved for future expansion >+ uLONG flags3 PACK; // Miscellaneous flags - see bit definitions above >+ uSHORT busSpeed PACK; // Negotiated bus speed (in Mhz) >+ uCHAR p2Flags PACK_WAS; // Path 2 flags - see bit definitions above >+ uCHAR reserved4 PACK_WAS; // Reserved for future expansion >+ uLONG availableCapacity PACK; // Reserved for future expansion > > uCHAR udmaModeSupported;// The maximum UDMA mode supported > uCHAR udmaModeSelected; // The current operational UDMA mode >--- raidutils-0.0.6.orig/include/osd_unix.h >+++ raidutils-0.0.6/include/osd_unix.h >@@ -59,7 +59,7 @@ > #define DPT_EngineKey 0x02 /* Message Que and Type for engine */ > #define DPT_LoggerKey 0x03 /* Message Type For Logger */ > #define DPT_CommEngineKey 0x04 /* Message Que Type Created */ >- >+ > #define MSG_RECEIVE 0x40000000 /* Ored Into Logger PID For Return Msg */ > > #define ENGMSG_ECHO 0x00 /* Turnarround Echo Engine Message */ >@@ -68,23 +68,23 @@ > > /* Message Que Creation Flags */ > >-#define MSG_URD 00400 >-#define MSG_UWR 00200 >-#define MSG_GRD 00040 >-#define MSG_GWR 00020 >-#define MSG_ORD 00004 >-#define MSG_OWR 00002 >+#define MSG_URD 00400 >+#define MSG_UWR 00200 >+#define MSG_GRD 00040 >+#define MSG_GWR 00020 >+#define MSG_ORD 00004 >+#define MSG_OWR 00002 > #define MSG_ALLRD 00444 > #define MSG_ALLWR 00222 > > /* Message Que Creation Flags */ > >-#define SHM_URD 00400 >-#define SHM_UWR 00200 >-#define SHM_GRD 00040 >-#define SHM_GWR 00020 >-#define SHM_ORD 00004 >-#define SHM_OWR 00002 >+#define SHM_URD 00400 >+#define SHM_UWR 00200 >+#define SHM_GRD 00040 >+#define SHM_GWR 00020 >+#define SHM_ORD 00004 >+#define SHM_OWR 00002 > #define SHM_ALLRD 00444 > #define SHM_ALLWR 00222 > >@@ -101,7 +101,7 @@ > #define ExitEngOpenFail 10 > #define ExitDuplicateEngine 11 > >-#define ExitCommAllocFail 12 >+#define ExitCommAllocFail 12 > #define ExitDuplicateCommEng 13 > #define ExitCommConnectFail 14 > >@@ -117,7 +117,7 @@ > uCHAR ConfigLength[4]; /* Len in bytes after this field. */ > uCHAR EATAsignature[4]; > uCHAR EATAversion; >- uCHAR Flags1; >+ uCHAR Flags1; > uCHAR PadLength[2]; > uCHAR HBA[4]; > uCHAR CPlength[4]; /* Command Packet Length */ >@@ -127,8 +127,8 @@ > uCHAR Flags2; > uCHAR Reserved0; /* Reserved Field */ > uCHAR Flags3; >- uCHAR ScsiValues; >- uCHAR MaxLUN; /* Maximun LUN Supported */ >+ uCHAR ScsiValues; >+ uCHAR MaxLUN; /* Maximun LUN Supported */ > uCHAR Flags4; > uCHAR RaidNum; /* RAID HBA Number For Stripping */ > uCHAR Reserved3; /* Reserved Field */ >@@ -236,7 +236,7 @@ > /* Inform driver to reset adapter */ > #define I2ORESETCMD (('D'<<8)|78) > >-#else >+#else > > /* Unix Ioctl Command definitions */ > >@@ -360,13 +360,13 @@ > > uCHAR HbaTargetID; > uCHAR HbaLUN; >- >+ > #endif /* _DPT_AIX */ > > uCHAR cp_Flags1; /* Command Flags */ > uCHAR cp_Req_Len; /* AutoRequestSense Data length. */ > uCHAR cp_Resv1[3]; /* Reserved Fields */ >- uCHAR cp_Flags2; >+ uCHAR cp_Flags2; > uCHAR cp_Flags3; > uCHAR cp_ScsiAddr; > uCHAR cp_msg0; /* Identify and Disconnect Message. */ >@@ -390,17 +390,17 @@ > struct dpt_sg SG_List[DPT_MAX_DMA_SEGS]; > union { > char *b_scratch; >- struct scsi_cmd *b_ownerp; >+ struct scsi_cmd *b_ownerp; > } cc; > paddr_t ccb_paddr; > uSHORT IOAddress; >- >+ > #else /* _DPT_SOLARIS */ > > uLONG TimeOut ; > uCHAR HostStatus; > uCHAR TargetStatus; >- uCHAR Retries; >+ uCHAR Retries; > > #endif /* _DPT_SOLARIS else */ > >@@ -451,7 +451,7 @@ > uCHAR eataVersion; /* EATA Version */ > uLONG cpLength; /* EATA Command Packet Length */ > uLONG spLength; /* EATA Status Packet Length */ >- uCHAR drqNum; /* DRQ Index (0,5,6,7) */ >+ uCHAR drqNum; /* DRQ Index (0,5,6,7) */ > uCHAR flag1; /* EATA Flags 1 (Byte 9) */ > uCHAR flag2; /* EATA Flags 2 (Byte 30) */ > >@@ -462,10 +462,10 @@ > > typedef struct { > >- uINT state; /* Operational state */ >- uCHAR id[4]; /* Host adapter SCSI id */ >- uINT vect; /* Interrupt vector number */ >- uLONG base; /* Base I/O address */ >+ uINT state; /* Operational state */ >+ uCHAR id[4]; /* Host adapter SCSI id */ >+ uINT vect; /* Interrupt vector number */ >+ uLONG base; /* Base I/O address */ > int ha_max_jobs; /* Max number of Active Jobs */ > uLONG ha_cacheParams; > int ha_nbus; /* Number Of Busses on HBA */ >@@ -500,14 +500,14 @@ > uCHAR eataVersion; /* EATA Version */ > uLONG cpLength; /* EATA Command Packet Length */ > uLONG spLength; /* EATA Status Packet Length */ >- uCHAR drqNum; /* DRQ Index (0,5,6,7) */ >+ uCHAR drqNum; /* DRQ Index (0,5,6,7) */ > uCHAR eataflag1; /* EATA Flags 1 (Byte 9) */ > uCHAR eataflag2; /* EATA Flags 2 (Byte 30) */ > uCHAR maxChannel; /* Maximum Channel Number */ > uCHAR maxID; /* Maximum Target ID */ > uCHAR maxLUN; /* Maximum LUN */ > uCHAR HbaBusType; /* HBA Bus Type, EISA, PCI, etc */ >- uCHAR RaidNum; /* Host Adapter RAID Number */ >+ uCHAR RaidNum; /* Host Adapter RAID Number */ > > } HbaInfo; > >@@ -519,7 +519,7 @@ > > /* > * DPT Host Adapter config information structure - this structure contains >- * configuration information about an adapter. It is imbedded into the >+ * configuration information about an adapter. It is imbedded into the > * dpt_ctl structure. > */ > >@@ -554,7 +554,7 @@ > /* > * DPT statistics structure definitions > */ >-typedef struct IO_SIZE_STATS >+typedef struct IO_SIZE_STATS > { > uLONG TotalIoCount; > uLONG IoCountRead; >@@ -566,7 +566,7 @@ > > } IO_SIZE_STATS_T, *pIO_SIZE_STATS_T; > >-typedef struct STATS_DATA >+typedef struct STATS_DATA > { > uLONG TotalIoCount; > uLONG TotalUnCachedIoCount; >--- raidutils-0.0.6.orig/include/mgr.hh >+++ raidutils-0.0.6/include/mgr.hh >@@ -34,8 +34,8 @@ > #define PACK > #endif > >- dptCaddr_S maxAddr PACK; // Maximum physical address supported >- dptCaddr_S minAddr PACK; // Minimum physical address supported >+ dptCaddr_S maxAddr PACK_A; // Maximum physical address supported >+ dptCaddr_S minAddr PACK_A; // Minimum physical address supported > > // RAID manager information (Ignore if not a RAID manager) > >--- raidutils-0.0.6.orig/include/device.hh >+++ raidutils-0.0.6/include/device.hh >@@ -27,6 +27,14 @@ > */ > > // Data unique to every engine device >+ >+ >+// use PACK for things that should be packed; >+// PACK_A for things that you'd like packed by would give a >+// warning on anything except an ARM if actually packed; and >+// PACK_WAS if it used to be packed by this gave warnings >+// everywhere so now it isn't. >+ > #undef PACK > #if (defined(__GNUC__)) > # define PACK __attribute__ ((packed)) >@@ -34,11 +42,17 @@ > #define PACK > #endif > >+#ifdef __arm__ >+# define PACK_A PACK >+#else >+# define PACK_A >+#endif >+ > uSHORT scsiOffset; // 0=Async mode > // Non-zero = SCSI offset > uSHORT xfrSpeed; // SCSI transfer speed >-dptCcapacity_S capacity PACK; // Device capacity >-dptCemuParam_S emulation PACK; // Emulated drive parameters >+dptCcapacity_S capacity PACK_A; // Device capacity >+dptCemuParam_S emulation PACK_A; // Emulated drive parameters > // DPT specific name (ASCII string) > // (Up to 8 valid chars + NULL terminator + 1) > uCHAR dptName[DPT_NAME_SIZE+2]; >--- raidutils-0.0.6.orig/include/hba.hh >+++ raidutils-0.0.6/include/hba.hh >@@ -34,13 +34,13 @@ > #define PACK > #endif > >- dptIOaddr_U ioAddr PACK; // EISA/ISA/PCI address >+ dptIOaddr_U ioAddr PACK_A; // EISA/ISA/PCI address > uSHORT drvrRefNum; // Number by which the driver ref- > // erences this HBA > #if defined (_DPT_STRICT_ALIGN) > uSHORT sniAdjust4; > #endif >- dptHBAid_U id PACK; // EISA = ID PAL bytes >+ dptHBAid_U id PACK_A; // EISA = ID PAL bytes > // ISA = Not used > // PCI = vendor ID, product ID > uSHORT drqNum; // DRQ # (0,5,6,7,0xffff=invalid) >@@ -80,7 +80,7 @@ > uCHAR raidID; // Software selectable RAID ID # > uCHAR slotID; // Slot specific RAID ID # > >- dptChanInfo_S chanInfo[NUM_CHAN_INFO] PACK; // SCSI channel info (multi-channel boards) >+ dptChanInfo_S chanInfo[NUM_CHAN_INFO] PACK_A; // SCSI channel info (multi-channel boards) > > uCHAR excludeStart; > uCHAR excludeEnd; >--- raidutils-0.0.6.orig/include/linux/i2o-dev.h >+++ raidutils-0.0.6/include/linux/i2o-dev.h >@@ -24,7 +24,6 @@ > /* How many controllers are we allowing */ > #define MAX_I2O_CONTROLLERS 32 > >-#include <linux/compiler.h> > > #ifndef __KERNEL__ > >--- raidutils-0.0.6.orig/raidutil/setscfg.hpp >+++ raidutils-0.0.6/raidutil/setscfg.hpp >@@ -59,7 +59,7 @@ > { > > public: >- setscfg::setscfg(); >+ setscfg(); > virtual ~setscfg(); > > Dpt_Error execute(String_List **output); >--- raidutils-0.0.6.orig/raidutil/setcache.hpp >+++ raidutils-0.0.6/raidutil/setcache.hpp >@@ -55,11 +55,11 @@ > class SetCache:public Command > { > public: >- SetCache::SetCache( >- SCSI_Addr_List *addresses, // a list of addresses >- int on, // Whether to enable or disable >- int rw // Read or write cacheing. >- ); // to delete raid tables on >+ SetCache( >+ SCSI_Addr_List *addresses, // a list of addresses >+ int on, // Whether to enable or disable >+ int rw // Read or write cacheing. >+ ); // to delete raid tables on > SetCache( const SetCache &new_SetCache ); > virtual ~SetCache(); > SetCache &operator = ( SetCache &right ); >--- raidutils-0.0.6.orig/raidutil/setscfg.cpp >+++ raidutils-0.0.6/raidutil/setscfg.cpp >@@ -95,4 +95,4 @@ > ENTER("Command &setscfg::Clone() const"); > EXIT(); > return(*new setscfg(*this)); >-} >\ No newline at end of file >+} >--- raidutils-0.0.6.orig/raidutil/eventlog.hpp >+++ raidutils-0.0.6/raidutil/eventlog.hpp >@@ -77,7 +77,7 @@ > { > > public: >- EventLog::EventLog(SCSI_Addr_List *deviceList, >+ EventLog(SCSI_Addr_List *deviceList, > EventLogOptions cmd); > EventLog(const EventLog &new_EventLog); > virtual ~EventLog(); >--- raidutils-0.0.6.orig/raidutil/alarm.hpp >+++ raidutils-0.0.6/raidutil/alarm.hpp >@@ -58,7 +58,7 @@ > class AlarmStatus:public Command > { > public: >- AlarmStatus::AlarmStatus( int hba, AlarmCommand cmd ); >+ AlarmStatus( int hba, AlarmCommand cmd ); > AlarmStatus( const AlarmStatus &new_AlarmStatus ); > virtual ~AlarmStatus(); > AlarmStatus &operator = ( AlarmStatus &right ); >--- raidutils-0.0.6.orig/raidutil/rmwflash.hpp >+++ raidutils-0.0.6/raidutil/rmwflash.hpp >@@ -59,7 +59,7 @@ > { > > public: >- RMWFlash::RMWFlash(int hbaNo, char *Data, int Region, unsigned long Offset, unsigned Size); >+ RMWFlash(int hbaNo, char *Data, int Region, unsigned long Offset, unsigned Size); > RMWFlash(const RMWFlash &new_RMWFlash); > virtual ~RMWFlash(); > >--- raidutils-0.0.6.orig/raidutil/segment.hpp >+++ raidutils-0.0.6/raidutil/segment.hpp >@@ -51,7 +51,7 @@ > { > > public: >- arraySegment::arraySegment(SCSI_Address raidToSeg, uLONG segSize[8], uLONG segOffset[8], bool showSeg); >+ arraySegment(SCSI_Address raidToSeg, uLONG segSize[8], uLONG segOffset[8], bool showSeg); > arraySegment(const arraySegment &new_arraySegment); > virtual ~arraySegment(); > >--- raidutils-0.0.6.orig/raidutil/namarray.hpp >+++ raidutils-0.0.6/raidutil/namarray.hpp >@@ -58,7 +58,7 @@ > { > > public: >- NameArray::NameArray(SCSI_Address arrayToName, char *arrayName); >+ NameArray(SCSI_Address arrayToName, char *arrayName); > NameArray(const NameArray &new_NameArray); > virtual ~NameArray(); > >--- raidutils-0.0.6.orig/raidutil/expand.hpp >+++ raidutils-0.0.6/raidutil/expand.hpp >@@ -55,7 +55,7 @@ > class Expand:public Command > { > public: >- Expand::Expand (SCSI_Address raid, SCSI_Addr_List *list); >+ Expand (SCSI_Address raid, SCSI_Addr_List *list); > Expand (const Expand &new_Expand); > virtual ~Expand(); > Expand &operator = (Expand &right); >--- raidutils-0.0.6.orig/raidutil/uartdmp.hpp >+++ raidutils-0.0.6/raidutil/uartdmp.hpp >@@ -59,7 +59,7 @@ > { > > public: >- UartDmp::UartDmp(int hbaNo, char *fileName); >+ UartDmp(int hbaNo, char *fileName); > UartDmp(const UartDmp &new_UartDmp); > virtual ~UartDmp(); > >--- raidutils-0.0.6.orig/raidutil/command.cpp >+++ raidutils-0.0.6/raidutil/command.cpp >@@ -2237,13 +2237,14 @@ > } > > >-#ifdef sparc >-# define VOLATILE volatile >-#else >-# define VOLATILE >-#endif >- >-extern "C" { VOLATILE void exit (int);} >+//// Comment out this stuff, for Debian. >+// #ifdef sparc >+// # define VOLATILE volatile >+// #else >+// # define VOLATILE >+// #endif >+// >+// extern "C" { VOLATILE void exit (int);} > > void Command::Init_Engine(int scanHbasOnly) > { >--- raidutils-0.0.6.orig/raidutil/forcest.hpp >+++ raidutils-0.0.6/raidutil/forcest.hpp >@@ -65,7 +65,7 @@ > class ForceState:public Command > { > public: >- ForceState::ForceState(SCSI_Addr_List *deviceList, ForceStateOptions cmd); >+ ForceState(SCSI_Addr_List *deviceList, ForceStateOptions cmd); > ForceState(const ForceState &new_ForceState); > virtual ~ForceState(); > >--- raidutils-0.0.6.orig/raidutil/setrate.hpp >+++ raidutils-0.0.6/raidutil/setrate.hpp >@@ -59,8 +59,8 @@ > public: > > // Set the (global) rebuild rate >- SetRate::SetRate(int rate, SCSI_Addr_List *objs); >- SetRate::SetRate(const SetRate &right); >+ SetRate(int rate, SCSI_Addr_List *objs); >+ SetRate(const SetRate &right); > virtual ~SetRate(); > > Dpt_Error execute(String_List **output); >--- raidutils-0.0.6.orig/raidutil/parser.cpp >+++ raidutils-0.0.6/raidutil/parser.cpp >@@ -730,6 +730,7 @@ > { > EventLog *temp = new EventLog (components, eventLogOpts); > cmd_List->add_Item (*temp); >+ delete temp; > } > else > Error_in_Parsing(EventStrings[STR_PARSE_ERR_MUST_SPECIFY_ADDRESS], this_Commands_Text); >@@ -1645,7 +1646,7 @@ > temp = new NvramBit (Cache_Stale, params.hba_Num, temp_set); > else > temp = new NvramBit (Cache_Stale, -1, temp_set); >- cmd_List->add_Item (*temp); >+ cmd_List->add_Item (*temp); > delete temp; > } > else if (!strncmp(command_Line, "+cluster", strlen("cluster"))) >--- raidutils-0.0.6.orig/raidutil/taskctrl.hpp >+++ raidutils-0.0.6/raidutil/taskctrl.hpp >@@ -59,7 +59,7 @@ > class TaskControl:public Command > { > public: >- TaskControl::TaskControl(SCSI_Addr_List *deviceList, TaskCommandOptions cmd); >+ TaskControl(SCSI_Addr_List *deviceList, TaskCommandOptions cmd); > TaskControl(const TaskControl &new_TaskControl); > virtual ~TaskControl(); > >--- raidutils-0.0.6.orig/raidutil/zap.hpp >+++ raidutils-0.0.6/raidutil/zap.hpp >@@ -55,7 +55,7 @@ > class Zap:public Command > { > public: >- Zap::Zap( >+ Zap( > SCSI_Addr_List *addresses, // a list of addresses > int resync = 0 // (send reset to hba or not) > ); // to delete raid tables on
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 282455
: 202055 |
202057
|
202063
|
230147