[ClusterLabs] Antw: [EXT] Re: Q: About a false negative of storage_mon

Ulrich Windl Ulrich.Windl at rz.uni-regensburg.de
Tue Aug 2 08:37:07 EDT 2022


>>> "Fabio M. Di Nitto" <fabbione at fabbione.net> schrieb am 02.08.2022 um 14:30
in
Nachricht <0b26c097-1e21-3945-24ba-355cd0ccf7f0 at fabbione.net>:
> Hello Kazunori-san,
> 
> On 02/08/2022 12.13, 井上和徳 wrote:
>> Hi,
>> 
>> Since O_DIRECT is not specified in open() [1], it reads the buffer cache
and
>> may result in a false negative. I fear that this possibility increases
>> in environments with large buffer cache and running disk-reading 
> applications
>> such as database.
>> 
>> So, I think it's better to specify O_RDONLY|O_DIRECT, but what about it?
>> (in this case, lseek() processing is unnecessary.)
> 
> I will have to defer to Christine (in CC) to this email on why we didn´t 
> use O_DIRECT.
> 
> I have a vague recollection that some storage devices didn´t like the 
> O_DIRECT option causing other issues later, but it´s been a while since 
> I touched the code.

The thing with O_DIRECT is that a "software block" has to be a multiple of a
"hardware block"; i.e: you cannot read a partial block, and the buffer has some
alignment requirements.

> 
>> 
>> # I am ready to create a patch that works with O_DIRECT. Also, I wouldn't 
> mind
>> # a "change to add a new mode of inspection with O_DIRECT
>> # (add a option to storage_mon) while keeping the current inspection 
> process".
>> 
>> [1] 
>
https://github.com/ClusterLabs/resource-agents/blob/main/tools/storage_mon.c#

> L47-L90
> 
> It might be a very reasonable solution, tho let´s wait for an answer 
> from Chrissie.
> 
> Cheers
> Fabio
> _______________________________________________
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users 
> 
> ClusterLabs home: https://www.clusterlabs.org/ 





More information about the Users mailing list