Maybe it may incur zone capacity (remainig) leak, If the file is migrated by garbage collection.
fs/fs_zenfs.cc
if (GetFileNoLock(fname) == nullptr) {
Info(logger_, "Migrate file not exist anymore.");
zbd_->ReleaseMigrateZone(target_zone);
break;
}
In the code, if file is deleted or removed during GC, break the loop and call SyncFileExtents. But there is no code about substracting Zone->usedcapacity of extents that is migrated but deleted .
Maybe it may incur zone capacity (remainig) leak, If the file is migrated by garbage collection.
fs/fs_zenfs.cc
In the code, if file is deleted or removed during GC, break the loop and call SyncFileExtents. But there is no code about substracting Zone->usedcapacity of extents that is migrated but deleted .
Maybe there should be corresponding operation of above operation.