فهرست منبع

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;
     }