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:
parent
45553c5f61
commit
7b6909f2c0
1
NEWS
1
NEWS
|
@ -16,6 +16,7 @@ ver 0.24 (not yet released)
|
||||||
- "sticker find" supports sort and window parameter and new sticker compare operators "eq", "lt" and "gt"
|
- "sticker find" supports sort and window parameter and new sticker compare operators "eq", "lt" and "gt"
|
||||||
* database
|
* database
|
||||||
- attribute "added" shows when each song was added to the database
|
- attribute "added" shows when each song was added to the database
|
||||||
|
- fix integer overflows with 64-bit inode numbers
|
||||||
- proxy: require MPD 0.21 or later
|
- proxy: require MPD 0.21 or later
|
||||||
- proxy: require libmpdclient 2.15 or later
|
- proxy: require libmpdclient 2.15 or later
|
||||||
* archive
|
* archive
|
||||||
|
|
|
@ -148,7 +148,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)
|
||||||
|
|
Loading…
Reference in New Issue