Messages in this thread | | | Date | Tue, 24 Jan 2012 19:21:19 +1100 | From | Dave Chinner <> | Subject | Re: [PATCH 2/8] vfs: Protect write paths by sb_start_write - sb_end_write |
| |
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
| |