Thread (26 messages) 26 messages, 4 authors, 2012-02-06

Re: [PATCH 2/8] vfs: Protect write paths by sb_start_write - sb_end_write

From: Dave Chinner <david@fromorbit.com>
Date: 2012-01-24 08:21:19
Also in: linux-fsdevel, linux-xfs, lkml

On Fri, Jan 20, 2012 at 09:34:40PM +0100, Jan Kara wrote:
There are three entry points which dirty pages in a filesystem.  mmap (handled
by block_page_mkwrite()), buffered write (handled by
__generic_file_aio_write()), and truncate (it can dirty last partial page -
handled inside each filesystem separately). Protect these places with
sb_start_write() and sb_end_write().
fallocate can also dirty pages, either during preallocation or hole
punching.  Hence if you are going to promote truncate to
SB_FREEZE_WRITE protection then you need to promote everything else
that can zero partial blocks as well.

That also means that anything the has implemented XFS_IOC_ ioctl
interfaces for prellocation and hole punching (xfs, ocfs2 and gfs2
IIRC) also needs to be protected in the same way.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help