Accessing DB in invalid manner when links (hard or symbolic) are used for it [CORE4685] #4993
Labels
affect-version: 2.1.5 Update 1
affect-version: 2.1.6
affect-version: 2.1.7
affect-version: 2.5.0
affect-version: 2.5.1
affect-version: 2.5.2 Update 1
affect-version: 2.5.2
affect-version: 2.5.3 Update 1
affect-version: 2.5.3
affect-version: 3.0 Alpha 1
affect-version: 3.0 Alpha 2
affect-version: 3.0 Beta 1
fix-version: 3.0 Beta 2
priority: major
qa: cannot be tested
type: improvement
Submitted by: @AlexPeshkoff
The original issue was reported privately by Adriano - for aliases from databases.conf symbolic links are never expanded making it possible to attach to same file as if it's different databases.
But the impact of links is wider. First of all, not only symbolic, also hard links may be used in *nixes. And if we can solve the problem with symbolic links expanding them properly there is no way to understand that file names /one/name/file.fdb and /other/name.fdb may actually point to same inode, i.e. it's same file. Therefore we need wider use of files IDs (device + inode on it) already present in lock manager when comparing database names. This also affects analysis of file name in databases.conf when we need to determine correct configuration for that database.
Commits: 9a7c7a6 FirebirdSQL/fbt-repository@1f1c827
The text was updated successfully, but these errors were encountered: