diff --git a/fs/fs.c b/fs/fs.c index d913a50..75801d3 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -721,8 +721,7 @@ if (ret) goto out; - - if (flags & O_TRUNC) { + if (!(s.st_mode & S_IFCHR) && (flags & O_TRUNC)) { ret = fsdrv->truncate(&fsdev->dev, f, 0); f->size = 0; if (ret)