Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13374

open-close operation can lead to loss of file time set performed in the middle

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.16.0
    • None
    • None
    • 9223372036854775807

    Description

      the original request in LU-12026 was to update *time as a part of LSOM update, i.e. to be stored in LSOM ea, but implemented as a regular time update on close, what is obviously wrong because it breaks set-in-past functionality (and in general due to the reasons we have LSOM but not SOM) - close always sends *time but does not bother accurately re-gather them from servers, while the local cache could be already stale. in other words this will not work:
      1. client1 open
      2. client2 set-in-past
      3. client1 close

      the reproducer is attached:

      — set-in-past on opened file
      File: '/mnt/lustre/f26c.sanityn'
      Modify: 2020-03-19 22:31:05.000000000 +0300
      File: '/mnt/lustre2/f26c.sanityn'
      Modify: 2020-03-19 22:31:05.000000000 +0300

      — set-in-past on closed file
      File: '/mnt/lustre/f26c.sanityn'
      Modify: 2000-12-31 14:12:59.000000000 +0300
      File: '/mnt/lustre2/f26c.sanityn'
      Modify: 2000-12-31 14:12:59.000000000 +0300

      Attachments

        Issue Links

          Activity

            [LU-13374] open-close operation can lead to loss of file time set performed in the middle
            pjones Peter Jones made changes -
            Link New: This issue is related to DDN-5525 [ DDN-5525 ]
            bobijam Zhenyu Xu made changes -
            Link New: This issue is related to DDN-5405 [ DDN-5405 ]
            flei Feng Lei made changes -
            Link New: This issue is duplicated by LU-17997 [ LU-17997 ]
            flei Feng Lei made changes -
            Link New: This issue is related to DDN-5079 [ DDN-5079 ]
            pjones Peter Jones made changes -
            Fix Version/s New: Lustre 2.16.0 [ 15190 ]
            Assignee Original: WC Triage [ wc-triage ] New: Vitaly Fertman [ vitaly_fertman ]
            Resolution New: Fixed [ 1 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]
            pjones Peter Jones added a comment -

            Merged for 2.16

            pjones Peter Jones added a comment - Merged for 2.16

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/54450/
            Subject: LU-13374 mdd: fix close time update race with set-in-past
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: bcb954c1403fb1c0fed2ae1d4ed817e59a93a0b7

            gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/54450/ Subject: LU-13374 mdd: fix close time update race with set-in-past Project: fs/lustre-release Branch: master Current Patch Set: Commit: bcb954c1403fb1c0fed2ae1d4ed817e59a93a0b7

            "Vitaly Fertman <vitaly.fertman@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54450
            Subject: LU-13374 mdd: fix close time update race with set-in-past
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: fb50062d86f6ed215fbfe8ed20a010e99a8b92b8

            gerrit Gerrit Updater added a comment - "Vitaly Fertman <vitaly.fertman@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/54450 Subject: LU-13374 mdd: fix close time update race with set-in-past Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: fb50062d86f6ed215fbfe8ed20a010e99a8b92b8

            ah, it seems to be not so complex

            vitaly_fertman Vitaly Fertman added a comment - ah, it seems to be not so complex
            vitaly_fertman Vitaly Fertman added a comment - - edited

            I think this is what we want? If no size change, then LSOM would not be updated and set-in-past would be kept?

            yes, set-in-past problem would be fixed. however, in this case for the first update on close, size will be changed from 0 to the actual one. if no more size changes - no more timestamps updated on any close. i.e. the purpose of LU-12026 will be mostly lost. Or was it added only for a simplification of size change detection? the ticket does not explain the purpose well enough... 

            vitaly_fertman Vitaly Fertman added a comment - - edited I think this is what we want? If no size change, then LSOM would not be updated and set-in-past would be  kept ? yes, set-in-past problem would be fixed. however, in this case for the first update on close, size will be changed from 0 to the actual one. if no more size changes - no more timestamps updated on any close. i.e. the purpose of LU-12026 will be mostly lost. Or was it added only for a simplification of size change detection? the ticket does not explain the purpose well enough... 

            People

              vitaly_fertman Vitaly Fertman
              vitaly_fertman Vitaly Fertman
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: