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

symlink() sets wrong errno, ENOENT

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Major
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      the online-manual on symlink() tells that symlink() should set errno EEXIST if specified link-path already exists. But it actually sets ENOENT when the last ward of the link-path is "/".

      It looks to me that the last ward is "/" is awkward. But the directory specified as link-path actually exists so I think we should set errno EEXIST.
      Moreover ext3 returns EEXIST.

      This patch modifies a if-statement in ll_lookup_nd for client to look up MDS properly and for symlink() to set errno EEXIST.

      By the way, you can see the difference of errno between lustre and ext3 with the attached trivial test program

      Attachments

        Activity

          People

            niu Niu Yawei (Inactive)
            nozaki Hiroya Nozaki
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: