mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-27 06:45:49 +03:00
SyncEngine: fix inode after move if the file has moved on the file system
This is the fix for issue #4370 Step to reproduce the bug: 1) have lots of files in directory "dir1" 2) do mkdir dir2 && mv dir1/* dir2 3) DURING the sync (which takes time because of the many moves) do mkdir dir3 && mv dir2/* dir3/ 4) observe that files are PUT in the next sync The problem is that SyncJournalFileRecord::SyncJournalFileRecord will fail to get the inode after the forst move because the files are already moved on the filesystem. Normaly it should use the inode from the discovery phase in that case but that is not working because it comes from the remote node in case of moves, so the code in SyncEngine::treewalkFile would not set the inode. Test in https://github.com/owncloud/smashbox/pull/143
This commit is contained in:
parent
1534dad5b2
commit
47710d167a
1 changed files with 1 additions and 1 deletions
|
@ -451,7 +451,7 @@ int SyncEngine::treewalkFile( TREE_WALK_FILE *file, bool remote )
|
|||
}
|
||||
item->_size = file->size;
|
||||
|
||||
if (!remote) {
|
||||
if (!item->_inode) {
|
||||
item->_inode = file->inode;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue