Messages in this thread | | | From | Ulrich Drepper <> | Date | Tue, 1 Sep 2009 15:03:35 -0700 | Subject | Re: make getdents/readdir POSIX compliant wrt mount-point dirent.d_ino |
| |
On Tue, Sep 1, 2009 at 13:19, Theodore Tso<tytso@mit.edu> wrote: > Furthermore, there are > plenty of Unix systems that have received POSIX certifications despite > having this behavior.
A common misunderstanding of certification.
Like for all certifications, being POSIX certified doesn't mean the certification is valid for all situations. it only means that there is (at least) one configuration which meets the requirements. In this case it means the environment simply uses one single filesystem and no mount points. This way the problem doesn't even arise.
> Fixing it is also going to be decidedly non-trivial since it depends > on how the directory was orignally accessed. [...]
I guess that this is really a difficult way to solve. I wouldn't want to pay for something which is hardly ever really used.
But there are programs out there which would like to use the inode uniqueness. Therefore the next best thing to do is perhaps to return a flag in the getdents information (in d_type, perhaps) to indicate that this is a mount point and/or that there are multiple ways to access the file in question. Then programs which can use the inode information can be watching for this flag and enter the slow path only if it's set. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |