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

lfs fid2path ioctl err -75: Value too large for defined data type (75)

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.8.0
    • Lustre 2.6.0
    • lustre-client-2.4.0-2.6.32_358.11.1.el6.x86_64_ga049816.x86_64
    • 3
    • 11537

    Description

      I have created 100 nested directories. No problem until 99.

      [root@st01-cli2 ~]# lfs fid2path /mnt/pippo [0x200000400:0xcc:0x0]
      /mnt/pippo/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99

      [root@st01-cli2 ~]# lfs fid2path /mnt/pippo [0x200000400:0xcd:0x0]
      ioctl err -75: Value too large for defined data type (75)
      fid2path error: Value too large for defined data type

      Attachments

        Issue Links

          Activity

            [LU-4239] lfs fid2path ioctl err -75: Value too large for defined data type (75)

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58047/
            Subject: LU-4239 tests: add missing call to test
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 8cd8f3f64d2034ea600e5ca83bf13faff0e623d9

            gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58047/ Subject: LU-4239 tests: add missing call to test Project: fs/lustre-release Branch: master Current Patch Set: Commit: 8cd8f3f64d2034ea600e5ca83bf13faff0e623d9

            "Robert Read <rread@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58047
            Subject: LU-4239 tests: add missing call to test
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: eda017c760c4d6c5ac1cfe1a02c2bb25dc828292

            gerrit Gerrit Updater added a comment - "Robert Read <rread@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58047 Subject: LU-4239 tests: add missing call to test Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: eda017c760c4d6c5ac1cfe1a02c2bb25dc828292
            pjones Peter Jones added a comment -

            Landed for 2.8

            pjones Peter Jones added a comment - Landed for 2.8

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12545/
            Subject: LU-4239 tests: test FID related APIs
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 2b10c0bde269e1d45ae9483a492ce171f05831a1

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12545/ Subject: LU-4239 tests: test FID related APIs Project: fs/lustre-release Branch: master Current Patch Set: Commit: 2b10c0bde269e1d45ae9483a492ce171f05831a1

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/10717/
            Subject: LU-4239 mdt: Optimize fid2path
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 825570b0b03e0fd70aba5400dedca4e6d94d5141

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/10717/ Subject: LU-4239 mdt: Optimize fid2path Project: fs/lustre-release Branch: master Current Patch Set: Commit: 825570b0b03e0fd70aba5400dedca4e6d94d5141

            Patrick Farrell (paf@cray.com) uploaded a new patch: http://review.whamcloud.com/10717
            Subject: LU-4239 mdt: Optimize fid2path
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 15
            Commit: 78034fb07174a1fe9e22fa5ea54a58d6007af0b3

            gerrit Gerrit Updater added a comment - Patrick Farrell (paf@cray.com) uploaded a new patch: http://review.whamcloud.com/10717 Subject: LU-4239 mdt: Optimize fid2path Project: fs/lustre-release Branch: master Current Patch Set: 15 Commit: 78034fb07174a1fe9e22fa5ea54a58d6007af0b3
            fzago Frank Zago (Inactive) added a comment - Tests for this patch: http://review.whamcloud.com/12545

            Can you add a test so Maloo can verify this patch.

            simmonsja James A Simmons added a comment - Can you add a test so Maloo can verify this patch.

            Patch is here:
            http://review.whamcloud.com/#/c/10717/

            PS1 increases the array size, PS2 is a rewrite to no longer use the array.

            Testing here:
            centclient01 is running a recent version of master,
            centss10 is also running a recent version of master.
            LU-4239 is present, as seen in the "Value too large" error.

            centss09 is running a recent version of master+my patch set 2.

            [root@centclient01 centss09]# cd /mnt/centss10
            [root@centclient01 centss10]# lfs path2fid 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99/100/101/102/103/104/105/106/107/108/109/110/
            [0x200000400:0x6f:0x0]
            [root@centclient01 centss10]# lfs fid2path /mnt/centss10/ [0x200000400:0x6f:0x0]
            ioctl err -75: Value too large for defined data type (75)
            fid2path: error on FID [0x200000400:0x6f:0x0]: Value too large for defined data type
            [root@centclient01 centss10]# cd ../centss09
            [root@centclient01 centss09]# lfs path2fid 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99/100/101/102/103/104/105/106/107/108/109/110/
            [0x200000400:0x74:0x0]
            [root@centclient01 centss09]# lfs fid2path /mnt/centss09 [0x200000400:0x74:0x0]
            /mnt/centss09/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99/100/101/102/103/104/105/106/107/108/109/110
            [root@centclient01 centss09]#

            paf Patrick Farrell (Inactive) added a comment - Patch is here: http://review.whamcloud.com/#/c/10717/ PS1 increases the array size, PS2 is a rewrite to no longer use the array. Testing here: centclient01 is running a recent version of master, centss10 is also running a recent version of master. LU-4239 is present, as seen in the "Value too large" error. centss09 is running a recent version of master+my patch set 2. [root@centclient01 centss09] # cd /mnt/centss10 [root@centclient01 centss10] # lfs path2fid 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99/100/101/102/103/104/105/106/107/108/109/110/ [0x200000400:0x6f:0x0] [root@centclient01 centss10] # lfs fid2path /mnt/centss10/ [0x200000400:0x6f:0x0] ioctl err -75: Value too large for defined data type (75) fid2path: error on FID [0x200000400:0x6f:0x0] : Value too large for defined data type [root@centclient01 centss10] # cd ../centss09 [root@centclient01 centss09] # lfs path2fid 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99/100/101/102/103/104/105/106/107/108/109/110/ [0x200000400:0x74:0x0] [root@centclient01 centss09] # lfs fid2path /mnt/centss09 [0x200000400:0x74:0x0] /mnt/centss09/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/55/56/57/58/59/60/61/62/63/64/65/66/67/68/69/70/71/72/73/74/75/76/77/78/79/80/81/82/83/84/85/86/87/88/89/90/91/92/93/94/95/96/97/98/99/100/101/102/103/104/105/106/107/108/109/110 [root@centclient01 centss09] #

            Expanding a little on the possible concern about memory usage.

            If this is a commonly used piece of code, we've gone from a struct that probably fits in one page to one that doesn't fit in 8. That's potentially quite bad, if it's in a fairly hot path on the MDS. I'm hoping some Intel engineers can comment on that as a possible problem, and if it is one, suggest other solutions.

            For example - Do we need to record FIDs in this manner when looking up paths? I see it being done, but I don't actually see the data stored in pli_fids being used. The array is accessed, but only the most recent values in it. It looks like it would be simple enough to rewrite the loop in mdt_path_current to not use the array.

            paf Patrick Farrell (Inactive) added a comment - Expanding a little on the possible concern about memory usage. If this is a commonly used piece of code, we've gone from a struct that probably fits in one page to one that doesn't fit in 8. That's potentially quite bad, if it's in a fairly hot path on the MDS. I'm hoping some Intel engineers can comment on that as a possible problem, and if it is one, suggest other solutions. For example - Do we need to record FIDs in this manner when looking up paths? I see it being done, but I don't actually see the data stored in pli_fids being used. The array is accessed, but only the most recent values in it. It looks like it would be simple enough to rewrite the loop in mdt_path_current to not use the array.

            People

              bzzz Alex Zhuravlev
              gabriele.paciucci Gabriele Paciucci (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: