Rob Latham <[email protected]> writes: > On 06/16/2015 08:52 AM, Dave Love wrote: >> Rob Latham <[email protected]> writes: >> >>> I wasn't involved in this feature, but it looks like OrangeFS is >>> taking advantage of open() being declared with variable length >>> arguments to pass in a fourth "hint" parameter. >> >> I'm still puzzled on what system that does anything. > > In the old days you had two ways to access PVFS: > > - make a round trip through the kernel module, bouncing through quite > a few userspace-kernelspace copies. > > - contact PVFS servers directly through the "system interface". The > one real client for the system interface is ROMIO's PVFS driver, but > some of the early utilities would use it too (maybe still do?)
Yes, pvfs2-cp et al still do (or did until recently). > OrangeFS provides a third way: link in with the orangfs library and > now the posix open/close/read/write system calls become OrangeFS > calls. no code changes needed. Oh. Sorry, I hadn't tried to make sense of the original code, or the fix. > You might not get a lot of parallelism > out of it, but it makes many-task non-MPI workloads (like Hadoop) > easier to support. This sounds like at least a recipe for potential confusion if it's inlined or defined to open64, say. If you end up calling open indirectly via some other library you happen to use, presumably what happens will depend on how that library was built. That may really be a problem with glibc, and it's never been clear to me whether there's an official way to subvert functions from it. (I know there are general problems doing this, and what's there may be good enough for however it's used.) [Don't get me started on Hadoop, and what I'm told about it in relation to HPC, in particular...] > So, that fourth argument was a (sneaky!) attempt to set some PVFS > parameters without changing the posix-like API. The less-sneaky but > gross way to do this for most file systems is via fcntl() operations, > but fcntl is an awful interface. > > ==rob [Not to Rob.] Is there documentation for this? I can't see it in the doxygenation. Thanks for the explanation. _______________________________________________ Pvfs2-users mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
