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

Possible incorrect handling of IT_OPEN in mdc_enqueue

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.10.0
    • None
    • 3
    • 9223372036854775807

    Description

      The patch at:
      http://review.whamcloud.com/#/c/10205/3

      Changes handling of IT_OPEN in mdc_enqueue:

      	if (it != NULL) {
      		LASSERT(policy == NULL);
      
      		saved_flags |= LDLM_FL_HAS_INTENT;
      		if (it->it_op & (IT_OPEN | IT_UNLINK | IT_GETATTR | IT_READDIR))
      			policy = &update_policy;
      		else if (it->it_op & IT_LAYOUT)
      			policy = &layout_policy;
      		else if (it->it_op & (IT_GETXATTR | IT_SETXATTR))
      			policy = &getxattr_policy;
      		else
      			policy = &lookup_policy;
      	}
      

      Previously, IT_OPEN was not special cased, and so used the "lookup_policy".

      This means instead of using MDS_INODELOCK_LOOKUP for the inodebits, it uses MDS_INODELOCK_UPDATE.

      I am not aware of any bugs this causes, but John Hammond confirmed to me this was a mistake, so I'm going to push a patch to revert that part of the change. (I found this while looking in to an issue, but this turned out not to be the cause of that issue.)

      Attachments

        Activity

          People

            wc-triage WC Triage
            paf Patrick Farrell
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: