[Libsysio-commit] cplant: libsysio/drivers/yod fs_yod.c
Brought to you by:
lward
|
From: Ruth K. <rk...@us...> - 2003-05-01 22:52:51
|
Update of /cvsroot/libsysio/libsysio/drivers/yod
In directory sc8-pr-cvs1:/tmp/cvs-serv29533
Modified Files:
Tag: cplant
fs_yod.c
Log Message:
Remove dependency on cplant include file, fix warnings
Index: fs_yod.c
===================================================================
RCS file: /cvsroot/libsysio/libsysio/drivers/yod/Attic/fs_yod.c,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -w -b -B -p -r1.1.2.3 -r1.1.2.4
--- fs_yod.c 1 May 2003 15:44:42 -0000 1.1.2.3
+++ fs_yod.c 1 May 2003 22:52:46 -0000 1.1.2.4
@@ -74,11 +74,13 @@
* Remote file system driver
* calls are re-directed to the initiating yod
*/
+#include "cplant-yod.h"
/* stat struct used by yod, which
* is not compiled with __USE_FILE_OFFSET64
*/
#define __yod_stat stat
+#ifdef ALPHA_LINUX
#define COPY_STAT(src, dest) \
do { \
memset((dest), 0, sizeof((*dest))); \
@@ -98,6 +100,25 @@ do {
(dest)->st_flags = (src)->st_flags; \
(dest)->st_gen = (src)->st_gen; \
} while (0);
+#else
+#define COPY_STAT(src, dest) \
+do { \
+ memset((dest), 0, sizeof((*dest))); \
+ (dest)->st_dev = (src)->st_dev; \
+ (dest)->st_ino = (src)->st_ino; \
+ (dest)->st_mode = (src)->st_mode; \
+ (dest)->st_nlink = (src)->st_nlink; \
+ (dest)->st_uid = (src)->st_uid; \
+ (dest)->st_gid = (src)->st_gid; \
+ (dest)->st_rdev = (src)->st_rdev; \
+ (dest)->st_size = (src)->st_size; \
+ (dest)->st_atime = (src)->st_atime; \
+ (dest)->st_mtime = (src)->st_mtime; \
+ (dest)->st_ctime = (src)->st_ctime; \
+ (dest)->st_blksize = (src)->st_blksize; \
+ (dest)->st_blocks = (src)->st_blocks; \
+} while (0);
+#endif
/*
* Yod file identifiers format.
@@ -238,10 +259,12 @@ static int
yod_fstat(int fd, struct intnl_stat *buf)
{
int err;
+ struct __yod_stat stbuf;
- err = fstat_yod(fd, buf);
+ err = fstat_yod(fd, &stbuf);
if (err)
err = -errno;
+ COPY_STAT(&stbuf, buf);
return err;
}
@@ -715,14 +738,12 @@ yod_getdirentries(struct inode *ino,
result = *basep;
if (*basep != nino->ni_fpos &&
- lseek_yod(
- nino->ni_fd,
+ (result = lseek_yod(nino->ni_fd,
*basep,
- &result,
- SEEK_SET) == -1)
+ SEEK_SET) == -1))
return -errno;
nino->ni_fpos = result;
- cc = getdirentries_yod(nino->ni_fd, buf, nbytes);
+ cc = getdirentries_yod(nino->ni_fd, buf, nbytes, &result);
if (cc < 0)
return -errno;
nino->ni_fpos += cc;
@@ -952,11 +973,9 @@ doio(ssize_t (*f)(int, const struct iove
!(S_ISCHR(ino->i_mode) ||
S_ISSOCK(ino->i_mode) ||
S_ISFIFO(ino->i_mode)) &&
- lseek_yod(
- nino->ni_fd,
+ (result = lseek_yod(nino->ni_fd,
ioctx->ioctx_offset,
- &result,
- SEEK_SET) == -1) {
+ SEEK_SET) == -1)) {
ioctx->ioctx_cc = -1;
ioctx->ioctx_errno = errno;
} else {
@@ -983,8 +1002,14 @@ doio(ssize_t (*f)(int, const struct iove
static ssize_t
_readv(int fd, const struct iovec *vector, int count)
{
+ int i;
+ ssize_t total;
- return read_yod(fd, vector, count);
+ for (i = 0; i < count; i++)
+ total += read_yod(fd,
+ vector[i].iov_base,
+ vector[i].iov_len);
+ return total;
}
static int
@@ -1032,7 +1057,7 @@ yod_inop_iodone(struct ioctx *ioctxp __I
}
static int
-yod_inop_fcntl(struct inode *ino, int cmd, va_list ap)
+yod_inop_fcntl(struct inode *ino __IS_UNUSED, int cmd, va_list ap __IS_UNUSED)
{
switch (cmd)
{
|