aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-16 20:33:01 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-16 20:33:01 -0500
commit36cd5c19c3fe8291fac45a262c44c00bd14b531a (patch)
tree77813e551c82546c9f6cddc8a3216ba5d02807ed /include/trace
parent2a74dbb9a86e8102dcd07d284135b4530a84826e (diff)
parentbd9926e80330d43f15b710c2935fa41b792d56fd (diff)
Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 update from Ted Ts'o: "There are two major features for this merge window. The first is inline data, which allows small files or directories to be stored in the in-inode extended attribute area. (This requires that the file system use inodes which are at least 256 bytes or larger; 128 byte inodes do not have any room for in-inode xattrs.) The second new feature is SEEK_HOLE/SEEK_DATA support. This is enabled by the extent status tree patches, and this infrastructure will be used to further optimize ext4 in the future. Beyond that, we have the usual collection of code cleanups and bug fixes." * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (63 commits) ext4: zero out inline data using memset() instead of empty_zero_page ext4: ensure Inode flags consistency are checked at build time ext4: Remove CONFIG_EXT4_FS_XATTR ext4: remove unused variable from ext4_ext_in_cache() ext4: remove redundant initialization in ext4_fill_super() ext4: remove redundant code in ext4_alloc_inode() ext4: use sync_inode_metadata() when syncing inode metadata ext4: enable ext4 inline support ext4: let fallocate handle inline data correctly ext4: let ext4_truncate handle inline data correctly ext4: evict inline data out if we need to strore xattr in inode ext4: let fiemap work with inline data ext4: let ext4_rename handle inline dir ext4: let empty_dir handle inline dir ext4: let ext4_delete_entry() handle inline data ext4: make ext4_delete_entry generic ext4: let ext4_find_entry handle inline data ext4: create a new function search_dir ext4: let ext4_readdir handle inline data ext4: let add_dir_entry handle inline data properly ...
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/ext4.h136
1 files changed, 118 insertions, 18 deletions
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index d49b285385e8..f6372b011366 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h
@@ -15,6 +15,7 @@ struct ext4_inode_info;
15struct mpage_da_data; 15struct mpage_da_data;
16struct ext4_map_blocks; 16struct ext4_map_blocks;
17struct ext4_extent; 17struct ext4_extent;
18struct extent_status;
18 19
19#define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode)) 20#define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
20 21
@@ -1519,10 +1520,9 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter,
1519); 1520);
1520 1521
1521DECLARE_EVENT_CLASS(ext4__map_blocks_exit, 1522DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
1522 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, 1523 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
1523 ext4_fsblk_t pblk, unsigned int len, int ret),
1524 1524
1525 TP_ARGS(inode, lblk, pblk, len, ret), 1525 TP_ARGS(inode, map, ret),
1526 1526
1527 TP_STRUCT__entry( 1527 TP_STRUCT__entry(
1528 __field( dev_t, dev ) 1528 __field( dev_t, dev )
@@ -1530,37 +1530,37 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
1530 __field( ext4_fsblk_t, pblk ) 1530 __field( ext4_fsblk_t, pblk )
1531 __field( ext4_lblk_t, lblk ) 1531 __field( ext4_lblk_t, lblk )
1532 __field( unsigned int, len ) 1532 __field( unsigned int, len )
1533 __field( unsigned int, flags )
1533 __field( int, ret ) 1534 __field( int, ret )
1534 ), 1535 ),
1535 1536
1536 TP_fast_assign( 1537 TP_fast_assign(
1537 __entry->dev = inode->i_sb->s_dev; 1538 __entry->dev = inode->i_sb->s_dev;
1538 __entry->ino = inode->i_ino; 1539 __entry->ino = inode->i_ino;
1539 __entry->pblk = pblk; 1540 __entry->pblk = map->m_pblk;
1540 __entry->lblk = lblk; 1541 __entry->lblk = map->m_lblk;
1541 __entry->len = len; 1542 __entry->len = map->m_len;
1543 __entry->flags = map->m_flags;
1542 __entry->ret = ret; 1544 __entry->ret = ret;
1543 ), 1545 ),
1544 1546
1545 TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u ret %d", 1547 TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u flags %x ret %d",
1546 MAJOR(__entry->dev), MINOR(__entry->dev), 1548 MAJOR(__entry->dev), MINOR(__entry->dev),
1547 (unsigned long) __entry->ino, 1549 (unsigned long) __entry->ino,
1548 __entry->lblk, __entry->pblk, 1550 __entry->lblk, __entry->pblk,
1549 __entry->len, __entry->ret) 1551 __entry->len, __entry->flags, __entry->ret)
1550); 1552);
1551 1553
1552DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit, 1554DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
1553 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, 1555 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
1554 ext4_fsblk_t pblk, unsigned len, int ret),
1555 1556
1556 TP_ARGS(inode, lblk, pblk, len, ret) 1557 TP_ARGS(inode, map, ret)
1557); 1558);
1558 1559
1559DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit, 1560DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
1560 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, 1561 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
1561 ext4_fsblk_t pblk, unsigned len, int ret),
1562 1562
1563 TP_ARGS(inode, lblk, pblk, len, ret) 1563 TP_ARGS(inode, map, ret)
1564); 1564);
1565 1565
1566TRACE_EVENT(ext4_ext_load_extent, 1566TRACE_EVENT(ext4_ext_load_extent,
@@ -1680,10 +1680,10 @@ DEFINE_EVENT(ext4__trim, ext4_trim_all_free,
1680); 1680);
1681 1681
1682TRACE_EVENT(ext4_ext_handle_uninitialized_extents, 1682TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
1683 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, 1683 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int flags,
1684 unsigned int allocated, ext4_fsblk_t newblock), 1684 unsigned int allocated, ext4_fsblk_t newblock),
1685 1685
1686 TP_ARGS(inode, map, allocated, newblock), 1686 TP_ARGS(inode, map, flags, allocated, newblock),
1687 1687
1688 TP_STRUCT__entry( 1688 TP_STRUCT__entry(
1689 __field( dev_t, dev ) 1689 __field( dev_t, dev )
@@ -1699,7 +1699,7 @@ TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
1699 TP_fast_assign( 1699 TP_fast_assign(
1700 __entry->dev = inode->i_sb->s_dev; 1700 __entry->dev = inode->i_sb->s_dev;
1701 __entry->ino = inode->i_ino; 1701 __entry->ino = inode->i_ino;
1702 __entry->flags = map->m_flags; 1702 __entry->flags = flags;
1703 __entry->lblk = map->m_lblk; 1703 __entry->lblk = map->m_lblk;
1704 __entry->pblk = map->m_pblk; 1704 __entry->pblk = map->m_pblk;
1705 __entry->len = map->m_len; 1705 __entry->len = map->m_len;
@@ -1707,7 +1707,7 @@ TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
1707 __entry->newblk = newblock; 1707 __entry->newblk = newblock;
1708 ), 1708 ),
1709 1709
1710 TP_printk("dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %d" 1710 TP_printk("dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %x "
1711 "allocated %d newblock %llu", 1711 "allocated %d newblock %llu",
1712 MAJOR(__entry->dev), MINOR(__entry->dev), 1712 MAJOR(__entry->dev), MINOR(__entry->dev),
1713 (unsigned long) __entry->ino, 1713 (unsigned long) __entry->ino,
@@ -2055,6 +2055,106 @@ TRACE_EVENT(ext4_ext_remove_space_done,
2055 (unsigned short) __entry->eh_entries) 2055 (unsigned short) __entry->eh_entries)
2056); 2056);
2057 2057
2058TRACE_EVENT(ext4_es_insert_extent,
2059 TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t len),
2060
2061 TP_ARGS(inode, start, len),
2062
2063 TP_STRUCT__entry(
2064 __field( dev_t, dev )
2065 __field( ino_t, ino )
2066 __field( loff_t, start )
2067 __field( loff_t, len )
2068 ),
2069
2070 TP_fast_assign(
2071 __entry->dev = inode->i_sb->s_dev;
2072 __entry->ino = inode->i_ino;
2073 __entry->start = start;
2074 __entry->len = len;
2075 ),
2076
2077 TP_printk("dev %d,%d ino %lu es [%lld/%lld)",
2078 MAJOR(__entry->dev), MINOR(__entry->dev),
2079 (unsigned long) __entry->ino,
2080 __entry->start, __entry->len)
2081);
2082
2083TRACE_EVENT(ext4_es_remove_extent,
2084 TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t len),
2085
2086 TP_ARGS(inode, start, len),
2087
2088 TP_STRUCT__entry(
2089 __field( dev_t, dev )
2090 __field( ino_t, ino )
2091 __field( loff_t, start )
2092 __field( loff_t, len )
2093 ),
2094
2095 TP_fast_assign(
2096 __entry->dev = inode->i_sb->s_dev;
2097 __entry->ino = inode->i_ino;
2098 __entry->start = start;
2099 __entry->len = len;
2100 ),
2101
2102 TP_printk("dev %d,%d ino %lu es [%lld/%lld)",
2103 MAJOR(__entry->dev), MINOR(__entry->dev),
2104 (unsigned long) __entry->ino,
2105 __entry->start, __entry->len)
2106);
2107
2108TRACE_EVENT(ext4_es_find_extent_enter,
2109 TP_PROTO(struct inode *inode, ext4_lblk_t start),
2110
2111 TP_ARGS(inode, start),
2112
2113 TP_STRUCT__entry(
2114 __field( dev_t, dev )
2115 __field( ino_t, ino )
2116 __field( ext4_lblk_t, start )
2117 ),
2118
2119 TP_fast_assign(
2120 __entry->dev = inode->i_sb->s_dev;
2121 __entry->ino = inode->i_ino;
2122 __entry->start = start;
2123 ),
2124
2125 TP_printk("dev %d,%d ino %lu start %u",
2126 MAJOR(__entry->dev), MINOR(__entry->dev),
2127 (unsigned long) __entry->ino, __entry->start)
2128);
2129
2130TRACE_EVENT(ext4_es_find_extent_exit,
2131 TP_PROTO(struct inode *inode, struct extent_status *es,
2132 ext4_lblk_t ret),
2133
2134 TP_ARGS(inode, es, ret),
2135
2136 TP_STRUCT__entry(
2137 __field( dev_t, dev )
2138 __field( ino_t, ino )
2139 __field( ext4_lblk_t, start )
2140 __field( ext4_lblk_t, len )
2141 __field( ext4_lblk_t, ret )
2142 ),
2143
2144 TP_fast_assign(
2145 __entry->dev = inode->i_sb->s_dev;
2146 __entry->ino = inode->i_ino;
2147 __entry->start = es->start;
2148 __entry->len = es->len;
2149 __entry->ret = ret;
2150 ),
2151
2152 TP_printk("dev %d,%d ino %lu es [%u/%u) ret %u",
2153 MAJOR(__entry->dev), MINOR(__entry->dev),
2154 (unsigned long) __entry->ino,
2155 __entry->start, __entry->len, __entry->ret)
2156);
2157
2058#endif /* _TRACE_EXT4_H */ 2158#endif /* _TRACE_EXT4_H */
2059 2159
2060/* This part must be outside protection */ 2160/* This part must be outside protection */