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

lfs getstripe fails on files with basenames longer than max_easize

XMLWordPrintable

    • 3
    • 7440

      # llmount.sh
      ...
      # cd /mnt/lustre
      # touch 129-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      # ls 129-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | wc
            1       1     130
      # stat 129-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
        File: `129-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
        Size: 0         	Blocks: 0          IO Block: 4194304 regular empty file
      Device: 2c54f966h/743766374d	Inode: 180144002274691233  Links: 1
      Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
      Access: 2013-03-27 15:39:46.000000000 -0500
      Modify: 2013-03-27 15:39:46.000000000 -0500
      Change: 2013-03-27 15:39:46.000000000 -0500
      # lfs getstripe 129-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      warning: cb_getstripe: 129-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX does not exist: No such file or directory (2)
      

      In liblustreapi's cb_getstripe() the lumlen member of param is initialized to the max_easize read from /proc/fs/lustre/llite/*/max_easize. This can cause truncation of the basename before ioctl() is called:

              strncpy((char *)&param->lmd->lmd_lmm, fname, param->lumlen);
      

      The underlying IOC_MDC_GETFILESTRIPE ioctl() handles this (mostly) correctly.

            jhammond John Hammond
            jhammond John Hammond
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: