[LU-8029] Lustre_rsync does not sync files modified Created: 15/Apr/16  Updated: 13/Oct/21  Resolved: 13/Oct/21

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.8.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Tatsushi Takamura Assignee: WC Triage
Resolution: Incomplete Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Since changelog does not record the activity of append-writing a file properly, lustre_rsync does not sync files modified.

To reproduce, do the following:

# echo bbb >> /lustre/file
# lfs changelog lustre-MDT0000
388 11CLOSE 09:51:49.93058314 2016.04.12 0x442 t=[0x200000405:0x45:0x0]
# cat /lustre/file
aaa
bbb
# lustre_rsync  --source=/lustre --target=/mnt/lustre-rsync --mdt=lustre-MDT0000 --user=cl1
# cat /mnt/lustre-rsync/file
aaa

I see the changelog only register CLOSE event (no MTIME event) when a file is modified.
But, lustre_rysnc ignores this entry and does nothing.

                case CL_CLOSE:                                                                                                                                                    
                case CL_EXT:                                                                                                                                                      
                case CL_OPEN:                                                                                                                                                     
                case CL_LAYOUT:                                                                                                                                                   
                case CL_MARK:                                                                                                                                                     
                        /* Nothing needs to be done for these entries */                                                                                                          
                        /* fallthrough */ 

I think lustre_rsync should detect file data changes by CLOSE event and CLOSE event should trigger file copying
(According to LU-2298, it seems to be hard for changelog to register MTIME event by file data changes).


Generated at Sat Feb 10 02:14:00 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.