diff options
Diffstat (limited to 'fs/fs.c')
-rw-r--r-- | fs/fs.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -406,8 +406,11 @@ int open(const char *pathname, int flags, ...) } if (!exist) { - errno = fsdrv->create(dev, path, - S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO); + if (NULL != fsdrv->create) + errno = fsdrv->create(dev, path, + S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO); + else + errno = -EROFS; if (errno) goto out; } |