Hello!
Actually, now I remembered why I didn't do it this way. We add additional xfs_getxattr() call on every read/write/lseek/etc to obtain the attributes to determine whether it's a directory or not, which I'm not sure how much slowdown that can cause for normal operations. By letting it hit the filesystem, that data is already known.
That's a good point. But I think, getxattr is an optimized routine inside the xfs anyway.
Beside from that we can introduce a new flag to remember that the FILEPTR is associated to a directory (f->flags). Or, if flags is not so good, we can introduce a new struct member at the end of the FILEPTR (this don't have side effects to the xfs).
Regards, Frank -- ATARI FALCON 060 // MILAN 060 ----------------------------- http://sparemint.org/ e-Mail: fnaumann@boerde.de