From: charles Date: Wed, 29 Oct 2003 20:38:56 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://yaffs.net/gitweb/?p=yaffs%2F.git;a=commitdiff_plain;h=a9560949315e843e724b87af545c8cd0940ba5f6 *** empty log message *** --- diff --git a/utils/mmaptest.c b/utils/mmaptest.c new file mode 100644 index 0000000..582946c --- /dev/null +++ b/utils/mmaptest.c @@ -0,0 +1,65 @@ + +// mmaptest.c +// Used to test mmap writing (ie yaffs_writepage) +// +// Written by James McKenzie +// + +#include +#include +#include +#include +#include +#include + +int +main (int argc, char *argv[]) +{ + int fd; + off_t size = 0; + void *map; + + size = 6291456; + + (void) unlink ("testfile"); + + fd = open ("testfile", O_RDWR | O_CREAT | O_TRUNC, 0666); + + if (fd < 0) + { + perror ("open"); + return -1; + } + + if (lseek (fd, size, SEEK_SET) != size) + { + perror ("lseek"); + return -1; + } + + if (write (fd, "", 1) != 1) + { + perror ("write"); + return -1; + } + + size++; + + map = mmap (NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (map == MAP_FAILED) + { + perror ("mmap"); + return -1; + } + + memset (map, 1 + (*(unsigned char *) map), size); + + errno = 0; + + printf ("msync(map,8536,MS_SYNC) returns %d (errno=%d [%s])\n", + msync (map, 8536, MS_SYNC), errno, strerror (errno)); + + (void) munmap (map, size); + + return 0; +} diff --git a/yaffs_fs.c b/yaffs_fs.c index 69039af..c0b101a 100644 --- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -28,7 +28,7 @@ */ -const char *yaffs_fs_c_version = "$Id: yaffs_fs.c,v 1.31 2003-10-27 08:27:01 charles Exp $"; +const char *yaffs_fs_c_version = "$Id: yaffs_fs.c,v 1.32 2003-10-29 20:42:34 charles Exp $"; extern const char *yaffs_guts_c_version; @@ -522,7 +522,7 @@ static int yaffs_writepage(struct page *page) UnlockPage(page); put_page(page); - return nWritten>0 ? nWritten : -ENOSPC; + return (nWritten == nBytes) ? 0 : -ENOSPC; }