diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2009-06-14 17:58:45 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2009-06-14 17:58:45 -0400 |
commit | 43ce1d23b43330634507a049b55c36e91d27282e (patch) | |
tree | d7532d7c0bea60b7bfe29dad51b4b92122acdd5a /include/trace | |
parent | c364b22c9580a885e0f8c0d0f9710d67dc448958 (diff) |
ext4: Fix mmap/truncate race when blocksize < pagesize && !nodellaoc
This patch fixes the mmap/truncate race that was fixed for delayed
allocation by merging ext4_{journalled,normal,da}_writepage() into
ext4_writepage().
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/ext4.h | 45 |
1 files changed, 1 insertions, 44 deletions
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index b456fb0a3c57..dfbc9b0edc88 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h | |||
@@ -190,7 +190,7 @@ TRACE_EVENT(ext4_journalled_write_end, | |||
190 | __entry->copied) | 190 | __entry->copied) |
191 | ); | 191 | ); |
192 | 192 | ||
193 | TRACE_EVENT(ext4_da_writepage, | 193 | TRACE_EVENT(ext4_writepage, |
194 | TP_PROTO(struct inode *inode, struct page *page), | 194 | TP_PROTO(struct inode *inode, struct page *page), |
195 | 195 | ||
196 | TP_ARGS(inode, page), | 196 | TP_ARGS(inode, page), |
@@ -342,49 +342,6 @@ TRACE_EVENT(ext4_da_write_end, | |||
342 | __entry->copied) | 342 | __entry->copied) |
343 | ); | 343 | ); |
344 | 344 | ||
345 | TRACE_EVENT(ext4_normal_writepage, | ||
346 | TP_PROTO(struct inode *inode, struct page *page), | ||
347 | |||
348 | TP_ARGS(inode, page), | ||
349 | |||
350 | TP_STRUCT__entry( | ||
351 | __field( dev_t, dev ) | ||
352 | __field( ino_t, ino ) | ||
353 | __field( pgoff_t, index ) | ||
354 | ), | ||
355 | |||
356 | TP_fast_assign( | ||
357 | __entry->dev = inode->i_sb->s_dev; | ||
358 | __entry->ino = inode->i_ino; | ||
359 | __entry->index = page->index; | ||
360 | ), | ||
361 | |||
362 | TP_printk("dev %s ino %lu page_index %lu", | ||
363 | jbd2_dev_to_name(__entry->dev), __entry->ino, __entry->index) | ||
364 | ); | ||
365 | |||
366 | TRACE_EVENT(ext4_journalled_writepage, | ||
367 | TP_PROTO(struct inode *inode, struct page *page), | ||
368 | |||
369 | TP_ARGS(inode, page), | ||
370 | |||
371 | TP_STRUCT__entry( | ||
372 | __field( dev_t, dev ) | ||
373 | __field( ino_t, ino ) | ||
374 | __field( pgoff_t, index ) | ||
375 | |||
376 | ), | ||
377 | |||
378 | TP_fast_assign( | ||
379 | __entry->dev = inode->i_sb->s_dev; | ||
380 | __entry->ino = inode->i_ino; | ||
381 | __entry->index = page->index; | ||
382 | ), | ||
383 | |||
384 | TP_printk("dev %s ino %lu page_index %lu", | ||
385 | jbd2_dev_to_name(__entry->dev), __entry->ino, __entry->index) | ||
386 | ); | ||
387 | |||
388 | TRACE_EVENT(ext4_discard_blocks, | 345 | TRACE_EVENT(ext4_discard_blocks, |
389 | TP_PROTO(struct super_block *sb, unsigned long long blk, | 346 | TP_PROTO(struct super_block *sb, unsigned long long blk, |
390 | unsigned long long count), | 347 | unsigned long long count), |