diff --git a/src/add-ons/kernel/file_systems/packagefs/package/PackageFile.cpp b/src/add-ons/kernel/file_systems/packagefs/package/PackageFile.cpp index 08106735b7..2fa558cced 100644 --- a/src/add-ons/kernel/file_systems/packagefs/package/PackageFile.cpp +++ b/src/add-ons/kernel/file_systems/packagefs/package/PackageFile.cpp @@ -105,7 +105,8 @@ struct PackageFile::DataAccessor { if (toRead > 0) { IORequestOutput output(request); - MutexLocker locker(fLock); + MutexLocker locker(fLock, false, fData->Version() == 1); + // V2 readers are reentrant status_t error = fReader->ReadDataToOutput(offset, toRead, &output); if (error != B_OK) RETURN_ERROR(error);