| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 2/8] vfs: Protect write paths by sb_start_write - sb_end_write |
| From: | Jan Kara <jack@xxxxxxx> |
| Date: | Tue, 24 Jan 2012 12:44:49 +0100 |
| Cc: | Jan Kara <jack@xxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, Eric Sandeen <sandeen@xxxxxxxxxxx>, Dave Chinner <dchinner@xxxxxxxxxx>, Surbhi Palande <csurbhi@xxxxxxxxx>, Kamal Mostafa <kamal@xxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx |
| In-reply-to: | <20120124082119.GO15102@dastard> |
| References: | <1327091686-23177-1-git-send-email-jack@xxxxxxx> <1327091686-23177-3-git-send-email-jack@xxxxxxx> <20120124082119.GO15102@dastard> |
| User-agent: | Mutt/1.5.20 (2009-06-14) |
On Tue 24-01-12 19:21:19, Dave Chinner wrote:
> 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.
Yeah, you are right. As I wrote in the introductory mail, there's problem
with metadata operations (e.g. directory modifications) anyway so we'll
have to audit all places where transactions are started. First I'll do this
for ext4 as a POC and then I'll try to do that for XFS if Eric doesn't beat
me to it (he promised to have a look at XFS part ;).
Honza
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Optimal XFS formatting options?, Michael Monnerie |
|---|---|
| Next by Date: | Re: [PATCH 4/8] xfs: Move ilock before transaction start in xfs_setattr_size(), Jan Kara |
| Previous by Thread: | Re: [PATCH 2/8] vfs: Protect write paths by sb_start_write - sb_end_write, Dave Chinner |
| Next by Thread: | [PATCH 1/8] fs: Improve filesystem freezing handling, Jan Kara |
| Indexes: | [Date] [Thread] [Top] [All Lists] |