dCache / dcache

dCache - a system for storing and retrieving huge amounts of data, distributed among a large number of heterogenous server nodes, under a single virtual filesystem tree with a variety of standard access methods
https://dcache.org
291 stars 136 forks source link

chimera: fix loop creation on directory move #7568

Closed kofemann closed 6 months ago

kofemann commented 6 months ago

Motivation: On directory move we must check that destination is not a subdirectory on the source directory.

Modification: Update JdbcFs#rename to check for a potential loop creation before move. Added unit test to cover the use case.

Result: no more loops on directory move.

Fixes: #7559 Ticket: #10608 Acked-by: Dmitry Litvintsev Acked-by: Paul Millar Target: master, 10.0, 9.2, 9.1, 9.0, 8.2 Require-book: no Require-notes: yes (cherry picked from commit 72da8e95921603b67384abbbfbb4edd539140514)