[Fwd: [PATCH] Fix race in xfs_write() between direct and buffered I/O with DMAPI]
Lachlan McIlroy
lachlan at sgi.com
Tue Dec 23 20:23:20 CST 2008
Niv Sardi wrote:
> Lachlan McIlroy <lachlan at sgi.com> writes:
>
>> Christoph Hellwig wrote:
>>
>>> On Tue, Dec 23, 2008 at 11:40:24AM +1100, Lachlan McIlroy wrote:
>>>> Christoph Hellwig wrote:
>>>>> Do you need more input on this one?
>>>> Actually I just might. Based on your last reponse I wasn't sure if
>>>> you wanted me to make further changes.
>>> Well, my reponse was that I think we could do it more effecient, but the
>>> patch still looks correct to me.
>> Okay great. I'll check it in and we can improve it later when I understand
>> what you meant!
>>
>>>> Then I got side-tracked wondering
>>>> why we even have the 'goto retry' in the dmapi post event - why retry the
>>>> write if we get ENOSPC when we don't if dmapi is not enabled? Could the
>>>> write get stuck in an infinite loop?
>>> We only retry on ENOSPC if the dmapi nospace even is enabled, or am I
>>> missing something?
>> I don't think you're missing anything here. I don't understand how the
>> DMAPI stuff works but I imagined the event was there to indicate that the
>> write failed but what I don't understand is why that justifies a retry.
>> Is there something about DMAPI that needs the write to succeed?
>
> yes
>
> http://www.opengroup.org/onlinepubs/9657099/chap3.htm#tagcjh_04_02_04
Oh no, not the DMAPI spec - I don't want to go there! Sounds like the
XFS_SEND_NAMESP() event can choose to fail and that will prevent an
infinite loop. Thanks Niv.
More information about the xfs
mailing list