From: Badari Pulavarty --- 25-akpm/fs/direct-io.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff -puN fs/direct-io.c~direct-io-retval-fix-2 fs/direct-io.c --- 25/fs/direct-io.c~direct-io-retval-fix-2 2004-04-15 18:09:35.961681480 -0700 +++ 25-akpm/fs/direct-io.c 2004-04-15 18:09:35.965680872 -0700 @@ -125,7 +125,7 @@ struct dio { /* AIO related stuff */ struct kiocb *iocb; /* kiocb */ int is_async; /* is IO async ? */ - int result; /* IO result */ + ssize_t result; /* IO result */ }; /* @@ -898,7 +898,7 @@ out: /* * Releases both i_sem and i_alloc_sem */ -static int +static ssize_t direct_io_worker(int rw, struct kiocb *iocb, struct inode *inode, const struct iovec *iov, loff_t offset, unsigned long nr_segs, unsigned blkbits, get_blocks_t get_blocks, dio_iodone_t end_io, @@ -906,8 +906,8 @@ direct_io_worker(int rw, struct kiocb *i { unsigned long user_addr; int seg; - int ret = 0; - int ret2; + ssize_t ret = 0; + ssize_t ret2; size_t bytes; dio->bio = NULL; _