diff options
| author | Bernard Xiong <[email protected]> | 2014-11-01 15:36:37 +0800 |
|---|---|---|
| committer | Bernard Xiong <[email protected]> | 2014-11-01 15:36:37 +0800 |
| commit | ef90e4828d2cae8ee86a1aeed389ae1396e6f45b (patch) | |
| tree | 3792106f74dd3f831ec0414567139f8b5307675c /components | |
| parent | 1974bec8bf09e2e4e26bfc67ae0664c1b032eaae (diff) | |
| parent | b081df6b937360aa53bc27f56066f83c2327167b (diff) | |
Merge branch 'master' of https://github.com/BernardXiong/rt-thread
Diffstat (limited to 'components')
| -rw-r--r-- | components/dfs/filesystems/nfs/dfs_nfs.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/components/dfs/filesystems/nfs/dfs_nfs.c b/components/dfs/filesystems/nfs/dfs_nfs.c index 5f03314309..7ff5fef5f7 100644 --- a/components/dfs/filesystems/nfs/dfs_nfs.c +++ b/components/dfs/filesystems/nfs/dfs_nfs.c @@ -750,11 +750,12 @@ int nfs_open(struct dfs_fd *file) if (file->flags & DFS_O_CREAT) { if (nfs_mkdir(nfs, file->path, 0755) < 0) - return -1; + return -DFS_STATUS_EAGAIN; } /* open directory */ dir = nfs_opendir(nfs, file->path); + if (dir == RT_NULL) return -DFS_STATUS_ENOENT; file->data = dir; } else @@ -766,20 +767,20 @@ int nfs_open(struct dfs_fd *file) if (file->flags & DFS_O_CREAT) { if (nfs_create(nfs, file->path, 0664) < 0) - return -1; + return -DFS_STATUS_EAGAIN; } /* open file (get file handle ) */ fp = rt_malloc(sizeof(nfs_file)); if (fp == RT_NULL) - return -1; + return -DFS_STATUS_ENOMEM; handle = get_handle(nfs, file->path); if (handle == RT_NULL) { rt_free(fp); - return -1; + return -DFS_STATUS_ENOENT; } /* get size of file */ @@ -798,7 +799,7 @@ int nfs_open(struct dfs_fd *file) /* set private file */ file->data = fp; - file->size = fp->size; + file->size = fp->size; } return 0; |
