Quellcode durchsuchen

Fix bug that zero length file is not opened when flushing cache

This bug was only seen when MultiDiskAdaptor was used.
Tatsuhiro Tsujikawa vor 11 Jahren
Ursprung
Commit
442e460055
1 geänderte Dateien mit 3 neuen und 0 gelöschten Zeilen
  1. 3 0
      src/MultiDiskAdaptor.cc

+ 3 - 0
src/MultiDiskAdaptor.cc

@@ -405,6 +405,9 @@ void MultiDiskAdaptor::writeCache(const WrDiskCacheEntry* entry)
   for(; dent != eod; ++dent) {
     int64_t lstart = 0, lp = 0;
     auto& fent = (*dent)->getFileEntry();
+    if(fent->getLength() == 0) {
+      continue;
+    }
     for(; i != eoi;) {
       if(std::max(fent->getOffset(),
                   static_cast<int64_t>((*i)->goff + celloff)) <