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

ll_merge_attr() may report wrong timestamps for racing stat()-s

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      The following race between stats may lead to wrong timestamps provided to stat:

      Process 1
      stat("file")
        ll_getattr_dentry
          ll_glimpse_size
            ll_merge_attr_nolock
              inode_set_mtime(inode, lli->lli_mtime, 0)
              ..
              inode_set_mtime(inode, mtime, 0)
      
      Process 2
      stat("file")
        ll_getattr_dentry
          ll_glimpse_size
            ll_merge_attr_nolock
              inode_set_mtime(inode, lli->lli_mtime, 0)
      
      Process 1
          stat->mtime = inode_get_mtime(inode);   <<< wrong mtime gets to stat
      

      Attachments

        Activity

          People

            vsaveliev Vladimir Saveliev
            vsaveliev Vladimir Saveliev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: