[Gluster-users] booster

Mark Mielke mark at mark.mielke.cc
Mon Sep 14 20:23:48 UTC 2009


On 09/14/2009 03:09 PM, Anand Avati wrote:
>>   It's not perfect - but at least any calls that fall through will still be
>> handled properly. For example, if an application calls fopen(), which is not
>> on the GlusterFS list of overridden system calls the last time I checked,
>> then at least the fopen() will be intercepted by FUSE rather than fail
>> altogether.
>>      
> I think the deal with hidden PLTs is that fopen() cannot be trapped by
> an alternate implementation of fopen() inside the LD_PRELOADed
> library. But the system call open performed inside the libc's fopen()
> (no matter how it was compiled) should get intercepted by the
> LD_PRELOAD library. Because I dont think the PLT optimizations would
> apply to system calls.
>    

It's the opposite of this. fopen() can be overridden, but open() called 
by fopen() cannot, because fopen() calls an internal linkage table to 
find open() - it does not look back up through dlsym() to find your 
override of open().

You could override fopen() - but this becomes complicated, because this 
means overriding all of STDIO. Bleh.

Cheers,
mark

-- 
Mark Mielke<mark at mielke.cc>




More information about the Gluster-users mailing list