[Bugs] [Bug 1510342] Not all files synced using geo-replication
    bugzilla at redhat.com 
    bugzilla at redhat.com
       
    Mon Nov 13 10:49:04 UTC 2017
    
    
  
https://bugzilla.redhat.com/show_bug.cgi?id=1510342
--- Comment #11 from Kotresh HR <khiremat at redhat.com> ---
    Problem:
    The data is not getting synced if master witnessed
    IO as below.
    1. echo "test_data" > f1
    2. ln f1 f2
    3. mv f2 f3
    4. unlink f1
    On master, 'f3' exists with data "test_data" but on
    slave, only f3 exists with zero byte file without
    backend gfid link.
    Cause:
    On master, since 'f2' no longer exists, the hardlink
    is skipped during processing. Later, on trying to sync
    rename, since source ('f2') doesn't exist, dst ('f3')
    is created with same gfid. But in this use case, it
    succeeds but backend gfid would not have linked as 'f1'
    exists with the same gfid. So, rsync would fail with
    ENOENT as backend gfid is not linked with 'f3' and 'f1'
    is unlinked.
    Fix:
    On processing rename, if src doesn't exist on slave,
    don't blindly create dst with same gfid. The gfid
    needs to be checked, if it exists, hardlink needs
    to be created instead of mknod.
-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=ZIR4XR2q6e&a=cc_unsubscribe
    
    
More information about the Bugs
mailing list