lkml.org 
[lkml]   [1999]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: move block #A to block #B on a given device.
    On Fri, 5 Nov 1999, Mikulas Patocka wrote:

    >BTW. neither getblk nor mark_buffer_uptodate check for i/o completion.

    That was exactly what I wanted to point out :).

    >Isn't it race? Many filesystem do it this way.

    All depends on the semantics you want I think. It doesn't seems black and
    white to me.

    Note that for example in 2.3.25 with shared mappings you can't avoid
    userspace to not change the mapped memory while at the same time a
    peripheral is reading it in DMA. This is by design.

    But the shared mapped region is only data, while if the buffer you are
    over-writing is _valid_ metadata (likely to be metadata otherwise you
    wouldn't play with the buffer cache in first place) then you probably like
    to know that if your machine will reboot -f, there will be at least an old
    _valid_ snapshot of metadata in such block.

    So maybe you want a wait_on_buffer() before the memcpy if the buffer you
    are going to write to was previously valid.

    In my first email of this thread I only answered to the questions I didn't
    looked to the code closely (infact I have not quoted the code at all).

    Andrea


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:54    [W:5.132 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site