mar-file-system / marfs

MarFS provides a scalable near-POSIX file system by using one or more POSIX file systems as a scalable metadata component and one or more data stores (object, file, etc) as a scalable data component.
Other
96 stars 27 forks source link

more MDAL support TBD in common functions #138

Closed jti-lanl closed 8 years ago

jti-lanl commented 8 years ago

For instance, I just noticed that stat_xattrs() always makes direct calls to lgetxattr(), instead of going through the MDAL.

jti-lanl commented 8 years ago

ACCESS() and FACCESSAT() just boil down to direct calls to the POSIX functions.

wfvining commented 8 years ago

These functions need to go through the MDAL:

The following functions make direct calls to POSIX where they should go through the MDAL

wfvining commented 8 years ago

marfs_utime* do not go through the MDAL

brettkettering commented 8 years ago

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.

jti-lanl commented 8 years ago

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.

wfvining commented 8 years ago

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)?

jti-lanl commented 8 years ago

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.

wfvining commented 8 years ago

146 addresses all the cases listed above where marfs calls posix directly instead of through the MDAL

wfvining commented 8 years ago

I believe that MDAL support has been added everywhere.