Daniel Gryniewicz wrote on Fri, Jan 12, 2018 at 11:19:27AM -0500:
>> As to Lustre, I'm pretty sure the stackable FSAL will work fine. A stacked
>> FSAL does have the pointer to the subfsal object, and knows which FSAL is
>> the subfsal, so in this case where FSAL_LUSTRE MUST stack on top of FSAL_VFS
>> (in fact FSAL_LUSTRE create export could do the stacking of FSAL_VFS
>> underneath), there would be no issue of FSAL_LUSTRE looking at the subfsal
>> obj_handle, or into the state_t and looking at FSAL_VFS structures.
> 
> Good point, I'd assumed LUSTRE would hard-code it's stacking state, and not
> use configuration for it, but it's important to actually state it. In fact,
> there's no reason for a user to know there's a VFS in the stack at all.

One of the advantage I was seeing in having LUSTRE be a stackable fsal
would be more freedom, e.g. we could stack lustre with our other weird
fsals (e.g. shook that got ripped off along with lustre but is still
useful for us, and basically does similar checks to lustre but specific
to CEA's environment)

If we hard-code the whole stack then we lose some flexibility, but
anyway, I'm not so much convinced by stacking anymore right now,
because...

>> As long as we properly document what we are doing, and make sure the
>> stacking only works as expected, I don't see anything wrong. It only has to
>> be a layering violation if we decide it should be... And if doing it
>> carefully as I've advocated keeps it safe, then it isn't a layering
>> violation...

It might be possible to make it safe, but I believe code complexity kind
of outweights that point... It's going to be fairly intricate to do
whatever kind of locking VFS does properly (obj_hdl->obj_lock) and even
if we do at some point this is going to be badly tested code that most
people won't even compile whenever there is changes to VFS (just because
lustre headers aren't obvious to install)

On the other hand, all this FSAL wants to do is a simple function call
on a fd right when VFS uses it, so a few lines wart if we can safely
hook in at the right place.

I'm not arguing this is theorically impossible, just that looking at
facts if we keep the "forkfsal" system for XFS then I'd much rather add
lustre there than try to maintain something feeling its way through its
subfsal handle's internals....

-- 
Dominique

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to