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

EFBIG on 2TB singly stripped file with ZFS

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.9.0
    • Lustre 2.5.0, Lustre 2.7.0, Lustre 2.8.0, Lustre 2.9.0
    • 3
    • 9223372036854775807

    Description

      Commentary from Andreas:

      It looks like cl_object_maxbytes() is returning a 2TB limit, even though the OSC has maxbytes=2^63.

      debug.cli.txt-00000080:00000001:11.0:1458243131.430707:0:19947:0:(vvp_io.c:1060:vvp_io_write_start()) Process entered
      debug.cli.txt:00000020:00000001:11.0:1458243131.430708:0:19947:0:(cl_object.c:440:cl_object_maxbytes()) Process entered
      debug.cli.txt:00000020:00000001:11.0:1458243131.430709:0:19947:0:(cl_object.c:448:cl_object_maxbytes()) Process leaving (rc=2199023251456 : 2199023251456 : 1fffffff000)
      

      cl_object_maxbytes() is getting this data from lov_object_maxbytes() lsm->lsm_maxbytes but I don't know why that is 2TB.

      I see why this is. In lsm_unpackmd_common():

              if (stripe_maxbytes == LLONG_MAX)
                      stripe_maxbytes = LUSTRE_EXT3_STRIPE_MAXBYTES;
      
              if (lsm->lsm_stripe_count == 0)
                      lsm->lsm_maxbytes = stripe_maxbytes * lov->desc.ld_tgt_count;
              else
                      lsm->lsm_maxbytes = stripe_maxbytes * lsm->lsm_stripe_count;
      

      LLONG_MAX == MAX_LFS_FILESIZE == 2^63 so lsm_unpackmd_common() thinks that this is uninitialized. It also needs to avoid overflow here.

      Attachments

        Issue Links

          Activity

            [LU-7890] EFBIG on 2TB singly stripped file with ZFS
            simmonsja James A Simmons made changes -
            Link New: This issue is related to LU-9862 [ LU-9862 ]
            pjones Peter Jones made changes -
            Link Original: This issue is related to JFC-17 [ JFC-17 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to JFC-20 [ JFC-20 ]
            pjones Peter Jones made changes -
            Link Original: This issue is related to LDEV-341 [ LDEV-341 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-342 [ LDEV-342 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-373 [ LDEV-373 ]
            pjones Peter Jones made changes -
            Link Original: This issue is related to LDEV-367 [ LDEV-367 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-368 [ LDEV-368 ]
            utopiabound Nathaniel Clark made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Resolved [ 5 ]

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/19066/
            Subject: LU-7890 lov: Ensure correct operation for large object sizes
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 3ddcf5b4a13851805f15b39aa1e95aee9b291132

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/19066/ Subject: LU-7890 lov: Ensure correct operation for large object sizes Project: fs/lustre-release Branch: master Current Patch Set: Commit: 3ddcf5b4a13851805f15b39aa1e95aee9b291132

            People

              utopiabound Nathaniel Clark
              utopiabound Nathaniel Clark
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: