lkml.org 
[lkml]   [2023]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Cluster-devel] [PATCH 06/32] sched: Add task_struct->faults_disabled_mapping
    On Thu, May 25, 2023 at 01:58:13AM -0700, Christoph Hellwig wrote:
    > On Wed, May 24, 2023 at 04:09:02AM -0400, Kent Overstreet wrote:
    > > > Well, it seems like you are talking about something else than the
    > > > existing cases in gfs2 and btrfs, that is you want full consistency
    > > > between direct I/O and buffered I/O. That's something nothing in the
    > > > kernel has ever provided, so I'd be curious why you think you need it
    > > > and want different semantics from everyone else?
    > >
    > > Because I like code that is correct.
    >
    > Well, start with explaining your definition of correctness, why everyone
    > else is "not correct", an how you can help fixing this correctness
    > problem in the existing kernel. Thanks for your cooperation!

    A cache that isn't actually consistent is a _bug_. You're being
    Obsequious. And any time this has come up in previous discussions
    (including at LSF), that was never up for debate, the only question has
    been whether it was even possible to practically fix it.

    The DIO code recognizes cache incoherency as something to be avoided by
    shooting down the page cache both at the beginning of the IO _and again
    at the end_. That's the kind of obvious hackery for a race condition
    that we would like to avoid.

    Regarding the consequences of this kind of bug - stale data exposed to
    userspace, possibly stale data overwriting a write we acked, and worse
    any filesystem state that hangs off the page cache being inconsistent
    with the data on disk.

    And look, we've been over all this before, so I don't see what this adds
    to the discussion.

    \
     
     \ /
      Last update: 2023-05-25 22:52    [W:3.241 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site