From 73b3ecd85951f058e4d45c8d6f44508d7cede413 Mon Sep 17 00:00:00 2001 From: Stephen Lord Date: Mon, 16 Sep 2002 12:22:20 -0400 Subject: [PATCH] merge xfs up to 2.5.35 Date: Mon Sep 16 09:10:25 PDT 2002 Workarea: jen.americas.sgi.com:/src/lord/xfs-merge.2.5 Author: lord The following file(s) were checked into: bonnie.engr.sgi.com:/isms/slinx/2.5.x-xfs Modid: 2.5.x-xfs:slinx:127481a linux/fs/xfs/linux/xfs_lrw.c - 1.166 linux/fs/xfs/support/time.h - 1.7 linux/fs/xfs/linux/xfs_aops.c - 1.5 --- fs/xfs/linux/xfs_aops.c | 6 +++--- fs/xfs/linux/xfs_lrw.c | 6 +++++- fs/xfs/linux/xfs_version.h | 2 +- fs/xfs/support/time.h | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/fs/xfs/linux/xfs_aops.c b/fs/xfs/linux/xfs_aops.c index f0ba052d1b7d..72202e5a89ff 100644 --- a/fs/xfs/linux/xfs_aops.c +++ b/fs/xfs/linux/xfs_aops.c @@ -653,11 +653,11 @@ STATIC int linvfs_direct_IO( int rw, struct inode *inode, - char *buf, + const struct iovec *iov, loff_t offset, - size_t count) + unsigned long nr_segs) { - return generic_direct_IO(rw, inode, buf, offset, count, + return generic_direct_IO(rw, inode, iov, offset, nr_segs, linvfs_get_blocks_direct); } diff --git a/fs/xfs/linux/xfs_lrw.c b/fs/xfs/linux/xfs_lrw.c index b338349bf5b5..abb820267d95 100644 --- a/fs/xfs/linux/xfs_lrw.c +++ b/fs/xfs/linux/xfs_lrw.c @@ -433,6 +433,7 @@ xfs_write( xfs_fsize_t n, limit = XFS_MAX_FILE_OFFSET; xfs_iocore_t *io; vnode_t *vp; + struct iovec iov; int iolock; int direct = file->f_flags & O_DIRECT; int eventsent = 0; @@ -571,7 +572,10 @@ retry: xfs_inval_cached_pages(vp, &xip->i_iocore, *offset, 1, 1); } - ret = generic_file_write_nolock(file, buf, size, offset); + iov.iov_base = (void *)buf; + iov.iov_len = size; + + ret = generic_file_write_nolock(file, &iov, 1, offset); if ((ret == -ENOSPC) && DM_EVENT_ENABLED(vp->v_vfsp, xip, DM_EVENT_NOSPACE) && diff --git a/fs/xfs/linux/xfs_version.h b/fs/xfs/linux/xfs_version.h index 4799b964233d..5a41ef00df68 100644 --- a/fs/xfs/linux/xfs_version.h +++ b/fs/xfs/linux/xfs_version.h @@ -39,6 +39,6 @@ #ifndef __XFS_VERSION_H__ #define __XFS_VERSION_H__ -#define XFS_VERSION_STRING "CVS-09/13/02:21" +#define XFS_VERSION_STRING "CVS-09/15/02:17" #endif /* __XFS_VERSION_H__ */ diff --git a/fs/xfs/support/time.h b/fs/xfs/support/time.h index f48b48e6fea4..f0a488fb4f63 100644 --- a/fs/xfs/support/time.h +++ b/fs/xfs/support/time.h @@ -43,7 +43,7 @@ static inline void delay(long ticks) static inline void nanotime(struct timespec *tvp) { tvp->tv_sec = xtime.tv_sec; - tvp->tv_nsec = xtime.tv_usec * 1000; + tvp->tv_nsec = xtime.tv_nsec; } #endif /* __XFS_SUPPORT_TIME_H__ */ -- 2.39.5