lkml.org 
[lkml]   [2002]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: invalidate_inode_pages in 2.5.32/3
Date
On Wednesday 11 September 2002 03:49, Andrew Morton wrote:
> Daniel Phillips wrote:
> > So we just quietly drop any dirty memory mapped to a file if the user doesn't
> > run msync? Is that correct behaviour? It sure sounds wrong.
>
> If the page is truncated then yes. (indirectly: the pte dirty
> state gets flushed into PG_dirty which is then invalidated).
>
> Otherwise, no. The pte dirtiness is propagated into PG_dirty when
> the pte is detached from the page. See try_to_unmap_one() - it is
> quite straightforward.

Yep, that's what I meant the first time round. Had me worried for a moment
there...

The specific path I was refering to is:

sys_munmap->
unmap_region->
unmap_page_range->
zap_pmd_range->
zap_pte_range->

if (pte_dirty(pte))
set_page_dirty(page);

Which is the definitive way of getting the data onto disk. It's weird that
msync has to be different from fsync, or that fsync does not imply msync,
but that's the posix folks for ya, I'm sure they threw a dart blindfolded
at a list of reasons and came up with one.

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

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