diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-05 14:22:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-05 14:22:07 -0500 |
commit | 0fcb9d21b4e18ede3727b8905e74acd0d1daef56 (patch) | |
tree | f8181c110c8bed5b6322122ba086f34bbfb269f9 /include/trace | |
parent | d000f8d67f2bb464c9cf4fb5103f78d8cb406c05 (diff) | |
parent | beaa57dd986d4f398728c060692fc2452895cfd8 (diff) |
Merge tag 'for-f2fs-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs
Pull f2fs updates from Jaegeuk Kim:
"Most part of the patches include enhancing the stability and
performance of in-memory extent caches feature.
In addition, it introduces several new features and configurable
points:
- F2FS_GOING_DOWN_METAFLUSH ioctl to test power failures
- F2FS_IOC_WRITE_CHECKPOINT ioctl to trigger checkpoint by users
- background_gc=sync mount option to do gc synchronously
- periodic checkpoints
- sysfs entry to control readahead blocks for free nids
And the following bug fixes have been merged.
- fix SSA corruption by collapse/insert_range
- correct a couple of gc behaviors
- fix the results of f2fs_map_blocks
- fix error case handling of volatile/atomic writes"
* tag 'for-f2fs-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (54 commits)
f2fs: fix to skip shrinking extent nodes
f2fs: fix error path of ->symlink
f2fs: fix to clear GCed flag for atomic written page
f2fs: don't need to submit bio on error case
f2fs: fix leakage of inmemory atomic pages
f2fs: refactor __find_rev_next_{zero}_bit
f2fs: support fiemap for inline_data
f2fs: flush dirty data for bmap
f2fs: relocate the tracepoint for background_gc
f2fs crypto: fix racing of accessing encrypted page among
f2fs: export ra_nid_pages to sysfs
f2fs: readahead for free nids building
f2fs: support lower priority asynchronous readahead in ra_meta_pages
f2fs: don't tag REQ_META for temporary non-meta pages
f2fs: add a tracepoint for f2fs_read_data_pages
f2fs: set GFP_NOFS for grab_cache_page
f2fs: fix SSA updates resulting in corruption
Revert "f2fs: do not skip dentry block writes"
f2fs: add F2FS_GOING_DOWN_METAFLUSH to test power-failure
f2fs: merge meta writes as many possible
...
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/f2fs.h | 69 |
1 files changed, 64 insertions, 5 deletions
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h index a01946514b5a..00b4a6308249 100644 --- a/include/trace/events/f2fs.h +++ b/include/trace/events/f2fs.h | |||
@@ -514,6 +514,34 @@ TRACE_EVENT(f2fs_map_blocks, | |||
514 | __entry->ret) | 514 | __entry->ret) |
515 | ); | 515 | ); |
516 | 516 | ||
517 | TRACE_EVENT(f2fs_background_gc, | ||
518 | |||
519 | TP_PROTO(struct super_block *sb, long wait_ms, | ||
520 | unsigned int prefree, unsigned int free), | ||
521 | |||
522 | TP_ARGS(sb, wait_ms, prefree, free), | ||
523 | |||
524 | TP_STRUCT__entry( | ||
525 | __field(dev_t, dev) | ||
526 | __field(long, wait_ms) | ||
527 | __field(unsigned int, prefree) | ||
528 | __field(unsigned int, free) | ||
529 | ), | ||
530 | |||
531 | TP_fast_assign( | ||
532 | __entry->dev = sb->s_dev; | ||
533 | __entry->wait_ms = wait_ms; | ||
534 | __entry->prefree = prefree; | ||
535 | __entry->free = free; | ||
536 | ), | ||
537 | |||
538 | TP_printk("dev = (%d,%d), wait_ms = %ld, prefree = %u, free = %u", | ||
539 | show_dev(__entry), | ||
540 | __entry->wait_ms, | ||
541 | __entry->prefree, | ||
542 | __entry->free) | ||
543 | ); | ||
544 | |||
517 | TRACE_EVENT(f2fs_get_victim, | 545 | TRACE_EVENT(f2fs_get_victim, |
518 | 546 | ||
519 | TP_PROTO(struct super_block *sb, int type, int gc_type, | 547 | TP_PROTO(struct super_block *sb, int type, int gc_type, |
@@ -1000,6 +1028,32 @@ TRACE_EVENT(f2fs_writepages, | |||
1000 | __entry->for_sync) | 1028 | __entry->for_sync) |
1001 | ); | 1029 | ); |
1002 | 1030 | ||
1031 | TRACE_EVENT(f2fs_readpages, | ||
1032 | |||
1033 | TP_PROTO(struct inode *inode, struct page *page, unsigned int nrpage), | ||
1034 | |||
1035 | TP_ARGS(inode, page, nrpage), | ||
1036 | |||
1037 | TP_STRUCT__entry( | ||
1038 | __field(dev_t, dev) | ||
1039 | __field(ino_t, ino) | ||
1040 | __field(pgoff_t, start) | ||
1041 | __field(unsigned int, nrpage) | ||
1042 | ), | ||
1043 | |||
1044 | TP_fast_assign( | ||
1045 | __entry->dev = inode->i_sb->s_dev; | ||
1046 | __entry->ino = inode->i_ino; | ||
1047 | __entry->start = page->index; | ||
1048 | __entry->nrpage = nrpage; | ||
1049 | ), | ||
1050 | |||
1051 | TP_printk("dev = (%d,%d), ino = %lu, start = %lu nrpage = %u", | ||
1052 | show_dev_ino(__entry), | ||
1053 | (unsigned long)__entry->start, | ||
1054 | __entry->nrpage) | ||
1055 | ); | ||
1056 | |||
1003 | TRACE_EVENT(f2fs_write_checkpoint, | 1057 | TRACE_EVENT(f2fs_write_checkpoint, |
1004 | 1058 | ||
1005 | TP_PROTO(struct super_block *sb, int reason, char *msg), | 1059 | TP_PROTO(struct super_block *sb, int reason, char *msg), |
@@ -1132,17 +1186,19 @@ TRACE_EVENT_CONDITION(f2fs_lookup_extent_tree_end, | |||
1132 | __entry->len) | 1186 | __entry->len) |
1133 | ); | 1187 | ); |
1134 | 1188 | ||
1135 | TRACE_EVENT(f2fs_update_extent_tree, | 1189 | TRACE_EVENT(f2fs_update_extent_tree_range, |
1136 | 1190 | ||
1137 | TP_PROTO(struct inode *inode, unsigned int pgofs, block_t blkaddr), | 1191 | TP_PROTO(struct inode *inode, unsigned int pgofs, block_t blkaddr, |
1192 | unsigned int len), | ||
1138 | 1193 | ||
1139 | TP_ARGS(inode, pgofs, blkaddr), | 1194 | TP_ARGS(inode, pgofs, blkaddr, len), |
1140 | 1195 | ||
1141 | TP_STRUCT__entry( | 1196 | TP_STRUCT__entry( |
1142 | __field(dev_t, dev) | 1197 | __field(dev_t, dev) |
1143 | __field(ino_t, ino) | 1198 | __field(ino_t, ino) |
1144 | __field(unsigned int, pgofs) | 1199 | __field(unsigned int, pgofs) |
1145 | __field(u32, blk) | 1200 | __field(u32, blk) |
1201 | __field(unsigned int, len) | ||
1146 | ), | 1202 | ), |
1147 | 1203 | ||
1148 | TP_fast_assign( | 1204 | TP_fast_assign( |
@@ -1150,12 +1206,15 @@ TRACE_EVENT(f2fs_update_extent_tree, | |||
1150 | __entry->ino = inode->i_ino; | 1206 | __entry->ino = inode->i_ino; |
1151 | __entry->pgofs = pgofs; | 1207 | __entry->pgofs = pgofs; |
1152 | __entry->blk = blkaddr; | 1208 | __entry->blk = blkaddr; |
1209 | __entry->len = len; | ||
1153 | ), | 1210 | ), |
1154 | 1211 | ||
1155 | TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, blkaddr = %u", | 1212 | TP_printk("dev = (%d,%d), ino = %lu, pgofs = %u, " |
1213 | "blkaddr = %u, len = %u", | ||
1156 | show_dev_ino(__entry), | 1214 | show_dev_ino(__entry), |
1157 | __entry->pgofs, | 1215 | __entry->pgofs, |
1158 | __entry->blk) | 1216 | __entry->blk, |
1217 | __entry->len) | ||
1159 | ); | 1218 | ); |
1160 | 1219 | ||
1161 | TRACE_EVENT(f2fs_shrink_extent_tree, | 1220 | TRACE_EVENT(f2fs_shrink_extent_tree, |