db/update/Walk:FindAncestorLoop: uint64_t inode & device
Previously, inode numbers were truncated to 32 bits, which could lead to problems on XFS where inodes are 64 bit; this could lead to bogus "recursive directory found" errors during database update. [mk: added commit description and NEWS line] Closes https://github.com/MusicPlayerDaemon/MPD/issues/2000
This commit is contained in:

committed by
Max Kellermann

parent
4a49f75799
commit
8a5b5378e6
2
NEWS
2
NEWS
@@ -1,4 +1,6 @@
|
|||||||
ver 0.23.16 (not yet released)
|
ver 0.23.16 (not yet released)
|
||||||
|
* database
|
||||||
|
- fix integer overflows with 64-bit inode numbers
|
||||||
* support libfmt 11
|
* support libfmt 11
|
||||||
* support ICU 76
|
* support ICU 76
|
||||||
|
|
||||||
|
@@ -153,7 +153,7 @@ update_directory_stat(Storage &storage, Directory &directory) noexcept
|
|||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
FindAncestorLoop(Storage &storage, Directory *parent,
|
FindAncestorLoop(Storage &storage, Directory *parent,
|
||||||
unsigned inode, unsigned device) noexcept
|
uint64_t inode, uint64_t device) noexcept
|
||||||
{
|
{
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
if (device == 0 && inode == 0)
|
if (device == 0 && inode == 0)
|
||||||
|
Reference in New Issue
Block a user