diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2011-05-05 18:21:44 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2011-05-05 18:21:44 +0000 |
commit | fd627dc2b8f485236fad8f3d08375282fdddd025 (patch) | |
tree | 4aac5e15a1f92756064fb8cbc477ea761457b536 /apps | |
parent | 33b2bc77ba6f841b3fa50bf5cc49dc449010729f (diff) |
NXFFS is basically functional -- more testing needed
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@3565 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'apps')
-rw-r--r-- | apps/examples/nxffs/nxffs_main.c | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/apps/examples/nxffs/nxffs_main.c b/apps/examples/nxffs/nxffs_main.c index 12383071a7..b2a6846c09 100644 --- a/apps/examples/nxffs/nxffs_main.c +++ b/apps/examples/nxffs/nxffs_main.c @@ -251,9 +251,16 @@ static inline int nxffs_wrfile(FAR struct nxffs_filedesc_s *file) fd = open(file->name, O_WRONLY | O_CREAT | O_EXCL, 0666); if (fd < 0) { - message("ERROR: Failed to open file for writing: %d\n", errno); - message(" File name: %s\n", file->name); - message(" File size: %d\n", file->len); + /* If it failed because there is no space on the device, then don't + * complain. + */ + + if (errno != ENOSPC) + { + message("ERROR: Failed to open file for writing: %d\n", errno); + message(" File name: %s\n", file->name); + message(" File size: %d\n", file->len); + } nxffs_freefile(file); return ERROR; } @@ -274,11 +281,21 @@ static inline int nxffs_wrfile(FAR struct nxffs_filedesc_s *file) nbyteswritten = write(fd, &g_fileimage[offset], nbytestowrite); if (nbyteswritten < 0) { - message("ERROR: Failed to write file: %d\n", errno); - message(" File name: %s\n", file->name); - message(" File size: %d\n", file->len); - message(" Write offset: %d\n", offset); - message(" Write size: %d\n", nbytestowrite); + int err = errno; + + /* If the write failed because there is no space on the device, + * then don't complain. + */ + + if (err != ENOSPC) + { + message("ERROR: Failed to write file: %d\n", err); + message(" File name: %s\n", file->name); + message(" File size: %d\n", file->len); + message(" Write offset: %d\n", offset); + message(" Write size: %d\n", nbytestowrite); + ret = ERROR; + } close(fd); /* Remove any garbage file that might have been left behind */ @@ -286,11 +303,13 @@ static inline int nxffs_wrfile(FAR struct nxffs_filedesc_s *file) ret = unlink(file->name); if (ret < 0) { - message(" Failed to remove corrupted file\n"); + message(" Failed to remove partial file\n"); } else { - message(" Successfully removed corrupted file\n"); +#if CONFIG_EXAMPLES_NXFFS_VERBOSE != 0 + message(" Successfully removed partial file\n"); +#endif } nxffs_freefile(file); @@ -332,7 +351,9 @@ static int nxffs_fillfs(void) ret = nxffs_wrfile(file); if (ret < 0) { +#if CONFIG_EXAMPLES_NXFFS_VERBOSE != 0 message("ERROR: Failed to write file %d\n", i); +#endif return ERROR; } @@ -645,8 +666,8 @@ static int nxffs_directory(void) int user_start(int argc, char *argv[]) { FAR struct mtd_dev_s *mtd; + unsigned int i; int ret; - int i; /* Seed the random number generated */ @@ -688,7 +709,7 @@ int user_start(int argc, char *argv[]) */ #if CONFIG_EXAMPLES_NXFFS_NLOOPS == 0 - for (;;) + for (i = 0; ; i++) #else for (i = 1; i <= CONFIG_EXAMPLES_NXFFS_NLOOPS; i++) #endif |