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

Jan Kara
2012-01-12T20:11:24Z

On Thu 12-01-12 12:56:01, Andreas Dilger wrote:
> On 2012-01-11, at 6:20 PM, 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 by do_truncate()). Protect these places with sb_start_write() and
> > sb_end_write().
> >
> > Signed-off-by: Jan Kara <jack@suse.cz>
> > ---
> > fs/buffer.c | 18 ++----------------
> > fs/open.c | 6 ++++++
> > mm/filemap.c | 3 ++-
> > 3 files changed, 10 insertions(+), 17 deletions(-)
> >
> > diff --git a/fs/buffer.c b/fs/buffer.c
> > index 19d8eb7..8519405 100644
> > --- a/fs/buffer.c
> > +++ b/fs/buffer.c
> > @@ -2371,18 +2371,7 @@ int __block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
>
> The comment for __block_page_mkwrite() needs to be updated to reference
> sb_start_write() and sb_end_write() instead of vfs_check_frozen().
Thanks. Fixed.

Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR