Closed jti-lanl closed 8 years ago
ACCESS() and FACCESSAT() just boil down to direct calls to the POSIX functions.
These functions need to go through the MDAL:
The following functions make direct calls to POSIX where they should go through the MDAL
marfs_utime* do not go through the MDAL
Thanks for documenting, Will.
This is work that needs to be done to complete MDAL and for HB to use MarFS instead of POSIX calls.
HB has his POSIX-based code written. He is testing it to ensure that each role is done properly.
For pftool, at least, we also want to support faccessat(..., AT_SYMLINK_NOFOLLOW). I added marfs_faccessat(), to avoid just bashing marfs_access(). [Currently doesn't go through MDAL.] We should expand the MDAL, adding faccessat(). It appears to be missing access() as well.
I have added access to the MDAL, I just haven't merged it yet. I'll add faccessat as well. Should the call to faccessat in marfs_access also specify the AT_EACCESS flag to test against the effective uid rather than the real uid (which will always be root)?
Actually, I've added a marfs_faccessat(), which just gets its flags from the caller. Changed pftool to use that instead of access(), because it was trying to chase symlinks. (I added an faccessat() to Path subclasses, instead of subverting access(), in case we actually do want access() someday.)
So, both marfs_faccessat() and marfs_access() are in need of MDAL-ification, from my perspective. I'll push pretty soon, after just a little more testing.
On Jul 14, 2016, at 3:24 PM, Will Vining notifications@github.com wrote:
I have added access to the MDAL, I just haven't merged it yet. I'll add faccessat as well. Should the call to faccessat in marfs_access also specify the AT_EACCESS flag to test against the effective uid rather than the real uid (which will always be root)?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
I believe that MDAL support has been added everywhere.
For instance, I just noticed that stat_xattrs() always makes direct calls to lgetxattr(), instead of going through the MDAL.