fix(server): exiftool largefilesupport only set for the first call #10167
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The previous largefilesupport fix doesn't work as it should since exiftool is used as a long-running process in
stay_open
mode. In this mode, flags passed when spawning the process only take effect until the first-execute
, after which the flags are reset. So the previous fix for largefilesupport only works for the first operation.This branch reverts that fix and instead passes the largefilesupport flags to the
writeread command each time, which results in the flag being set for each operation and ensures that large files work for all metadata read operations.I also noticed exiftool being used for
extractBinaryTagToBuffer
andwriteTags
. The former doesn't appear to have any way to add largefilesupport flags and the latter appears to be only for sidecar metadata files so it probably isn't needed, but could probably be added there too.Fixes #4349