* [LTP] [PATCH 2/6] ltp: move type definitions up in "doio.c"
@ 2011-04-04 12:08 Alex Elder
0 siblings, 0 replies; 3+ messages in thread
From: Alex Elder @ 2011-04-04 12:08 UTC (permalink / raw)
To: ltp-list
The definitions of some types are spread around in the file
"testcases/kernel/fs/doio/doio.c". Group them near the top of the
file. This is in preparation for the next change, which adds
full-fledged C prototypes for all functions in the file.
All changes in this patch are simple "bulk moves" of blocks of
code from one place in the file to another.
Signed-off-by: Alex Elder <aelder@sgi.com>
---
testcases/kernel/fs/doio/doio.c | 220 +++++++++++++++++++-------------------
1 files changed, 110 insertions(+), 110 deletions(-)
diff --git a/testcases/kernel/fs/doio/doio.c b/testcases/kernel/fs/doio/doio.c
index a2c50aa..65b76da 100644
--- a/testcases/kernel/fs/doio/doio.c
+++ b/testcases/kernel/fs/doio/doio.c
@@ -87,6 +87,115 @@
#include "random_range.h"
#include "string_to_tokens.h"
+#define NMEMALLOC 32
+#define MEM_DATA 1 /* data space */
+#define MEM_SHMEM 2 /* System V shared memory */
+#define MEM_T3ESHMEM 3 /* T3E Shared Memory */
+#define MEM_MMAP 4 /* mmap(2) */
+
+#define MEMF_PRIVATE 0001
+#define MEMF_AUTORESRV 0002
+#define MEMF_LOCAL 0004
+#define MEMF_SHARED 0010
+
+#define MEMF_FIXADDR 0100
+#define MEMF_ADDR 0200
+#define MEMF_AUTOGROW 0400
+#define MEMF_FILE 01000 /* regular file -- unlink on close */
+#define MEMF_MPIN 010000 /* use mpin(2) to lock pages in memory */
+
+struct memalloc {
+ int memtype;
+ int flags;
+ int nblks;
+ char *name;
+ void *space; /* memory address of allocated space */
+ int fd; /* FD open for mmaping */
+ int size;
+} Memalloc[NMEMALLOC];
+
+/*
+ * Structure for maintaining open file test descriptors. Used by
+ * alloc_fd().
+ */
+
+struct fd_cache {
+ char c_file[MAX_FNAME_LENGTH+1];
+ int c_oflags;
+ int c_fd;
+ long c_rtc;
+#ifdef sgi
+ int c_memalign; /* from F_DIOINFO */
+ int c_miniosz;
+ int c_maxiosz;
+#endif
+#ifndef CRAY
+ void *c_memaddr; /* mmapped address */
+ int c_memlen; /* length of above region */
+#endif
+};
+
+/*
+ * Name-To-Value map
+ * Used to map cmdline arguments to values
+ */
+struct smap {
+ char *string;
+ int value;
+};
+
+struct aio_info {
+ int busy;
+ int id;
+ int fd;
+ int strategy;
+ volatile int done;
+#ifdef CRAY
+ struct iosw iosw;
+#endif
+#ifdef sgi
+ aiocb_t aiocb;
+ int aio_ret; /* from aio_return */
+ int aio_errno; /* from aio_error */
+#endif
+ int sig;
+ int signalled;
+ struct sigaction osa;
+};
+
+/* ---------------------------------------------------------------------------
+ *
+ * A new paradigm of doing the r/w system call where there is a "stub"
+ * function that builds the info for the system call, then does the system
+ * call; this is called by code that is common to all system calls and does
+ * the syscall return checking, async I/O wait, iosw check, etc.
+ *
+ * Flags:
+ * WRITE, ASYNC, SSD/SDS,
+ * FILE_LOCK, WRITE_LOG, VERIFY_DATA,
+ */
+
+struct status {
+ int rval; /* syscall return */
+ int err; /* errno */
+ int *aioid; /* list of async I/O structures */
+};
+
+struct syscall_info {
+ char *sy_name;
+ int sy_type;
+ struct status *(*sy_syscall)();
+ int (*sy_buffer)();
+ char *(*sy_format)();
+ int sy_flags;
+ int sy_bits;
+};
+
+#define SY_WRITE 00001
+#define SY_ASYNC 00010
+#define SY_IOSW 00020
+#define SY_SDS 00100
+
#ifndef O_SSD
#define O_SSD 0 /* so code compiles on a CRAY2 */
#endif
@@ -173,33 +282,6 @@ int havesigint = 0;
#define SKIP_REQ -2 /* skip I/O request */
-#define NMEMALLOC 32
-#define MEM_DATA 1 /* data space */
-#define MEM_SHMEM 2 /* System V shared memory */
-#define MEM_T3ESHMEM 3 /* T3E Shared Memory */
-#define MEM_MMAP 4 /* mmap(2) */
-
-#define MEMF_PRIVATE 0001
-#define MEMF_AUTORESRV 0002
-#define MEMF_LOCAL 0004
-#define MEMF_SHARED 0010
-
-#define MEMF_FIXADDR 0100
-#define MEMF_ADDR 0200
-#define MEMF_AUTOGROW 0400
-#define MEMF_FILE 01000 /* regular file -- unlink on close */
-#define MEMF_MPIN 010000 /* use mpin(2) to lock pages in memory */
-
-struct memalloc {
- int memtype;
- int flags;
- int nblks;
- char *name;
- void *space; /* memory address of allocated space */
- int fd; /* FD open for mmaping */
- int size;
-} Memalloc[NMEMALLOC];
-
/*
* Global file descriptors
*/
@@ -207,27 +289,6 @@ struct memalloc {
int Wfd_Append; /* for appending to the write-log */
int Wfd_Random; /* for overlaying write-log entries */
-/*
- * Structure for maintaining open file test descriptors. Used by
- * alloc_fd().
- */
-
-struct fd_cache {
- char c_file[MAX_FNAME_LENGTH+1];
- int c_oflags;
- int c_fd;
- long c_rtc;
-#ifdef sgi
- int c_memalign; /* from F_DIOINFO */
- int c_miniosz;
- int c_maxiosz;
-#endif
-#ifndef CRAY
- void *c_memaddr; /* mmapped address */
- int c_memlen; /* length of above region */
-#endif
-};
-
#define FD_ALLOC_INCR 32 /* allocate this many fd_map structs */
/* at a time */
@@ -297,15 +358,6 @@ struct fd_cache *alloc_fdcache(char *, int);
#define U_ALL (U_CORRUPTION | U_IOSW | U_RVAL)
-/*
- * Name-To-Value map
- * Used to map cmdline arguments to values
- */
-struct smap {
- char *string;
- int value;
-};
-
struct smap Upanic_Args[] = {
{ "corruption", U_CORRUPTION },
{ "iosw", U_IOSW },
@@ -314,25 +366,6 @@ struct smap Upanic_Args[] = {
{ NULL, 0 }
};
-struct aio_info {
- int busy;
- int id;
- int fd;
- int strategy;
- volatile int done;
-#ifdef CRAY
- struct iosw iosw;
-#endif
-#ifdef sgi
- aiocb_t aiocb;
- int aio_ret; /* from aio_return */
- int aio_errno; /* from aio_error */
-#endif
- int sig;
- int signalled;
- struct sigaction osa;
-};
-
struct aio_info Aio_Info[MAX_AIO];
struct aio_info *aio_slot();
@@ -2220,39 +2253,6 @@ struct io_req *req;
#endif /* _CRAY1 */
-/* ---------------------------------------------------------------------------
- *
- * A new paradigm of doing the r/w system call where there is a "stub"
- * function that builds the info for the system call, then does the system
- * call; this is called by code that is common to all system calls and does
- * the syscall return checking, async I/O wait, iosw check, etc.
- *
- * Flags:
- * WRITE, ASYNC, SSD/SDS,
- * FILE_LOCK, WRITE_LOG, VERIFY_DATA,
- */
-
-struct status {
- int rval; /* syscall return */
- int err; /* errno */
- int *aioid; /* list of async I/O structures */
-};
-
-struct syscall_info {
- char *sy_name;
- int sy_type;
- struct status *(*sy_syscall)();
- int (*sy_buffer)();
- char *(*sy_format)();
- int sy_flags;
- int sy_bits;
-};
-
-#define SY_WRITE 00001
-#define SY_ASYNC 00010
-#define SY_IOSW 00020
-#define SY_SDS 00100
-
char *
fmt_ioreq(struct io_req *ioreq, struct syscall_info *sy, int fd)
{
@@ -5435,4 +5435,4 @@ FILE *stream;
fprintf(stream, "\t of io_req structures (see doio.h). Currently\n");
fprintf(stream, "\t only the iogen program generates the proper\n");
fprintf(stream, "\t format\n");
-}
\ No newline at end of file
+}
--
1.7.4
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself;
WebMatrix provides all the features you need to develop and
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 3+ messages in thread* [LTP] [PATCH 0/6] ltp: kill off some compile warnings
@ 2011-04-01 22:01 Alex Elder
2011-04-01 22:01 ` [LTP] [PATCH 1/6] ltp: fix databinchk() definition Alex Elder
0 siblings, 1 reply; 3+ messages in thread
From: Alex Elder @ 2011-04-01 22:01 UTC (permalink / raw)
To: ltp-list
The motivation for this series of patches is to eliminate build
warnings in files under "testcases/kernel/fs/doio/". The main
reason warnings are emitted is that most functions are defined using
old-style C syntax. So most of the changes amount to updating such
functions to use standard C prototypes.
The first patch fixes a buggy header file. The next one gathers
type definitions to the top of "doio.c" so they are defined when
needed in declaring all the function prototypes.
The last patch enables the "-Wall" flag to gcc for these files.
-Alex
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself;
WebMatrix provides all the features you need to develop and
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 3+ messages in thread
* [LTP] [PATCH 1/6] ltp: fix databinchk() definition
2011-04-01 22:01 [LTP] [PATCH 0/6] ltp: kill off some compile warnings Alex Elder
@ 2011-04-01 22:01 ` Alex Elder
2011-04-01 22:01 ` [LTP] [PATCH 2/6] ltp: move type definitions up in "doio.c" Alex Elder
0 siblings, 1 reply; 3+ messages in thread
From: Alex Elder @ 2011-04-01 22:01 UTC (permalink / raw)
To: ltp-list
Fix a bogus (misspelled) declaration for databinchk() in
"include/databin.h".
Then, change databinchk() so that its second argument is a signed
rather than an unsigned character pointer. This is consistent with
the way it is used throughout the code. Because of the way that
argument is used, it won't change the behavior of that function; its
value is immediately assigned to a local variable, which is still
unsigned. Add a cast in that assignment to force the conversion.
Signed-off-by: Alex Elder <aelder@sgi.com>
---
include/databin.h | 2 +-
lib/databin.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/databin.h b/include/databin.h
index c168799..93c3863 100644
--- a/include/databin.h
+++ b/include/databin.h
@@ -39,6 +39,6 @@
void databingen( int mode, char *buffer, int bsize, int offset );
-void databinchedk( int mode, unsigned char *buffer, int bsize, int offset, char **errmsg);
+int databinchk( int mode, char *buffer, int bsize, int offset, char **errmsg);
#endif
diff --git a/lib/databin.c b/lib/databin.c
index 6659ccf..c0f4307 100644
--- a/lib/databin.c
+++ b/lib/databin.c
@@ -91,7 +91,7 @@ int ind;
int
databinchk(mode, buffer, bsize, offset, errmsg)
int mode; /* either a, c, r, z, o, or C */
-unsigned char *buffer; /* buffer pointer */
+char *buffer; /* buffer pointer */
int bsize; /* size of buffer */
int offset; /* offset into the file where buffer starts */
char **errmsg;
@@ -102,7 +102,7 @@ char **errmsg;
long expbits;
long actbits;
- chr=buffer;
+ chr = (unsigned char *) buffer;
total=bsize;
if (errmsg != NULL) {
--
1.7.4
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself;
WebMatrix provides all the features you need to develop and
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 3+ messages in thread* [LTP] [PATCH 2/6] ltp: move type definitions up in "doio.c"
2011-04-01 22:01 ` [LTP] [PATCH 1/6] ltp: fix databinchk() definition Alex Elder
@ 2011-04-01 22:01 ` Alex Elder
2011-04-06 13:14 ` Cyril Hrubis
0 siblings, 1 reply; 3+ messages in thread
From: Alex Elder @ 2011-04-01 22:01 UTC (permalink / raw)
To: ltp-list
The definitions of some types are spread around in the file
"testcases/kernel/fs/doio/doio.c". Group them near the top of the
file. This is in preparation for the next change, which adds
full-fledged C prototypes for all functions in the file.
All changes in this patch are simple "bulk moves" of blocks of
code from one place in the file to another.
Signed-off-by: Alex Elder <aelder@sgi.com>
---
testcases/kernel/fs/doio/doio.c | 220 +++++++++++++++++++-------------------
1 files changed, 110 insertions(+), 110 deletions(-)
diff --git a/testcases/kernel/fs/doio/doio.c b/testcases/kernel/fs/doio/doio.c
index a2c50aa..65b76da 100644
--- a/testcases/kernel/fs/doio/doio.c
+++ b/testcases/kernel/fs/doio/doio.c
@@ -87,6 +87,115 @@
#include "random_range.h"
#include "string_to_tokens.h"
+#define NMEMALLOC 32
+#define MEM_DATA 1 /* data space */
+#define MEM_SHMEM 2 /* System V shared memory */
+#define MEM_T3ESHMEM 3 /* T3E Shared Memory */
+#define MEM_MMAP 4 /* mmap(2) */
+
+#define MEMF_PRIVATE 0001
+#define MEMF_AUTORESRV 0002
+#define MEMF_LOCAL 0004
+#define MEMF_SHARED 0010
+
+#define MEMF_FIXADDR 0100
+#define MEMF_ADDR 0200
+#define MEMF_AUTOGROW 0400
+#define MEMF_FILE 01000 /* regular file -- unlink on close */
+#define MEMF_MPIN 010000 /* use mpin(2) to lock pages in memory */
+
+struct memalloc {
+ int memtype;
+ int flags;
+ int nblks;
+ char *name;
+ void *space; /* memory address of allocated space */
+ int fd; /* FD open for mmaping */
+ int size;
+} Memalloc[NMEMALLOC];
+
+/*
+ * Structure for maintaining open file test descriptors. Used by
+ * alloc_fd().
+ */
+
+struct fd_cache {
+ char c_file[MAX_FNAME_LENGTH+1];
+ int c_oflags;
+ int c_fd;
+ long c_rtc;
+#ifdef sgi
+ int c_memalign; /* from F_DIOINFO */
+ int c_miniosz;
+ int c_maxiosz;
+#endif
+#ifndef CRAY
+ void *c_memaddr; /* mmapped address */
+ int c_memlen; /* length of above region */
+#endif
+};
+
+/*
+ * Name-To-Value map
+ * Used to map cmdline arguments to values
+ */
+struct smap {
+ char *string;
+ int value;
+};
+
+struct aio_info {
+ int busy;
+ int id;
+ int fd;
+ int strategy;
+ volatile int done;
+#ifdef CRAY
+ struct iosw iosw;
+#endif
+#ifdef sgi
+ aiocb_t aiocb;
+ int aio_ret; /* from aio_return */
+ int aio_errno; /* from aio_error */
+#endif
+ int sig;
+ int signalled;
+ struct sigaction osa;
+};
+
+/* ---------------------------------------------------------------------------
+ *
+ * A new paradigm of doing the r/w system call where there is a "stub"
+ * function that builds the info for the system call, then does the system
+ * call; this is called by code that is common to all system calls and does
+ * the syscall return checking, async I/O wait, iosw check, etc.
+ *
+ * Flags:
+ * WRITE, ASYNC, SSD/SDS,
+ * FILE_LOCK, WRITE_LOG, VERIFY_DATA,
+ */
+
+struct status {
+ int rval; /* syscall return */
+ int err; /* errno */
+ int *aioid; /* list of async I/O structures */
+};
+
+struct syscall_info {
+ char *sy_name;
+ int sy_type;
+ struct status *(*sy_syscall)();
+ int (*sy_buffer)();
+ char *(*sy_format)();
+ int sy_flags;
+ int sy_bits;
+};
+
+#define SY_WRITE 00001
+#define SY_ASYNC 00010
+#define SY_IOSW 00020
+#define SY_SDS 00100
+
#ifndef O_SSD
#define O_SSD 0 /* so code compiles on a CRAY2 */
#endif
@@ -173,33 +282,6 @@ int havesigint = 0;
#define SKIP_REQ -2 /* skip I/O request */
-#define NMEMALLOC 32
-#define MEM_DATA 1 /* data space */
-#define MEM_SHMEM 2 /* System V shared memory */
-#define MEM_T3ESHMEM 3 /* T3E Shared Memory */
-#define MEM_MMAP 4 /* mmap(2) */
-
-#define MEMF_PRIVATE 0001
-#define MEMF_AUTORESRV 0002
-#define MEMF_LOCAL 0004
-#define MEMF_SHARED 0010
-
-#define MEMF_FIXADDR 0100
-#define MEMF_ADDR 0200
-#define MEMF_AUTOGROW 0400
-#define MEMF_FILE 01000 /* regular file -- unlink on close */
-#define MEMF_MPIN 010000 /* use mpin(2) to lock pages in memory */
-
-struct memalloc {
- int memtype;
- int flags;
- int nblks;
- char *name;
- void *space; /* memory address of allocated space */
- int fd; /* FD open for mmaping */
- int size;
-} Memalloc[NMEMALLOC];
-
/*
* Global file descriptors
*/
@@ -207,27 +289,6 @@ struct memalloc {
int Wfd_Append; /* for appending to the write-log */
int Wfd_Random; /* for overlaying write-log entries */
-/*
- * Structure for maintaining open file test descriptors. Used by
- * alloc_fd().
- */
-
-struct fd_cache {
- char c_file[MAX_FNAME_LENGTH+1];
- int c_oflags;
- int c_fd;
- long c_rtc;
-#ifdef sgi
- int c_memalign; /* from F_DIOINFO */
- int c_miniosz;
- int c_maxiosz;
-#endif
-#ifndef CRAY
- void *c_memaddr; /* mmapped address */
- int c_memlen; /* length of above region */
-#endif
-};
-
#define FD_ALLOC_INCR 32 /* allocate this many fd_map structs */
/* at a time */
@@ -297,15 +358,6 @@ struct fd_cache *alloc_fdcache(char *, int);
#define U_ALL (U_CORRUPTION | U_IOSW | U_RVAL)
-/*
- * Name-To-Value map
- * Used to map cmdline arguments to values
- */
-struct smap {
- char *string;
- int value;
-};
-
struct smap Upanic_Args[] = {
{ "corruption", U_CORRUPTION },
{ "iosw", U_IOSW },
@@ -314,25 +366,6 @@ struct smap Upanic_Args[] = {
{ NULL, 0 }
};
-struct aio_info {
- int busy;
- int id;
- int fd;
- int strategy;
- volatile int done;
-#ifdef CRAY
- struct iosw iosw;
-#endif
-#ifdef sgi
- aiocb_t aiocb;
- int aio_ret; /* from aio_return */
- int aio_errno; /* from aio_error */
-#endif
- int sig;
- int signalled;
- struct sigaction osa;
-};
-
struct aio_info Aio_Info[MAX_AIO];
struct aio_info *aio_slot();
@@ -2220,39 +2253,6 @@ struct io_req *req;
#endif /* _CRAY1 */
-/* ---------------------------------------------------------------------------
- *
- * A new paradigm of doing the r/w system call where there is a "stub"
- * function that builds the info for the system call, then does the system
- * call; this is called by code that is common to all system calls and does
- * the syscall return checking, async I/O wait, iosw check, etc.
- *
- * Flags:
- * WRITE, ASYNC, SSD/SDS,
- * FILE_LOCK, WRITE_LOG, VERIFY_DATA,
- */
-
-struct status {
- int rval; /* syscall return */
- int err; /* errno */
- int *aioid; /* list of async I/O structures */
-};
-
-struct syscall_info {
- char *sy_name;
- int sy_type;
- struct status *(*sy_syscall)();
- int (*sy_buffer)();
- char *(*sy_format)();
- int sy_flags;
- int sy_bits;
-};
-
-#define SY_WRITE 00001
-#define SY_ASYNC 00010
-#define SY_IOSW 00020
-#define SY_SDS 00100
-
char *
fmt_ioreq(struct io_req *ioreq, struct syscall_info *sy, int fd)
{
@@ -5435,4 +5435,4 @@ FILE *stream;
fprintf(stream, "\t of io_req structures (see doio.h). Currently\n");
fprintf(stream, "\t only the iogen program generates the proper\n");
fprintf(stream, "\t format\n");
-}
\ No newline at end of file
+}
--
1.7.4
------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself;
WebMatrix provides all the features you need to develop and
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-04-06 12:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-04 12:08 [LTP] [PATCH 2/6] ltp: move type definitions up in "doio.c" Alex Elder
-- strict thread matches above, loose matches on Subject: below --
2011-04-01 22:01 [LTP] [PATCH 0/6] ltp: kill off some compile warnings Alex Elder
2011-04-01 22:01 ` [LTP] [PATCH 1/6] ltp: fix databinchk() definition Alex Elder
2011-04-01 22:01 ` [LTP] [PATCH 2/6] ltp: move type definitions up in "doio.c" Alex Elder
2011-04-06 13:14 ` Cyril Hrubis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox