소스 검색

fix(inode_write): update inode size after writting

greatbridf 1 년 전
부모
커밋
9ca65a15e9
1개의 변경된 파일4개의 추가작업 그리고 3개의 파일을 삭제
  1. 4 3
      src/kernel/vfs.cpp

+ 4 - 3
src/kernel/vfs.cpp

@@ -353,11 +353,12 @@ public:
 
         auto* data = as_fdata(_getdata(file->ino));
 
-        for (size_t i = data->size(); i < offset + n; ++i) {
-            data->push_back(0);
-        }
+        if (data->size() < offset + n)
+            data->resize(offset+n);
         memcpy(data->data() + offset, buf, n);
 
+        file->size = data->size();
+
         return n;
     }