diff --git a/fs/fs.c b/fs/fs.c index ce7b425..7d558e9 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -722,8 +722,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)