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

the data version doesn't always change after a layout swap

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Minor Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

      After a successful layout swap, the data version of a file is sometimes not changed.

      llapi_get_data_version(fd1, &dv1, LL_DV_RD_FLUSH);  -> get data version
      llapi_fswap_layouts(fd1, fd2, ....) -> success
      lapi_get_data_version(fd1, llapi_get_data_version(fd1, &dv1, LL_DV_RD_FLUSH);  -> get same data version
      

      Sometimes the dataversion is different, and sometimes it is not. So some caching might be involved.

      I added some calls to sync() and fsync() on both file descriptors just after the call to layout swap, but that didn't fix the problem.

      I pushed a reproducer in http://review.whamcloud.com/#/c/13441/. Change "#if 0" to "#if 1" in swap_layout_test.c:test42(). The calls to tests 30 and 31 should be commented out too since they are not related and take too long to execute.

      	if (0) PERFORM(test30);
      	if (0) PERFORM(test31);
      

            hdoreau Henri Doreau (Inactive)
            fzago Frank Zago (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: