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