History

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 ...

Linus Torvalds committed 13 years ago

Commit 36cd5c12 parents 2a74dbb bd9926e32 files · +4175 −1106Browse files

Showing the changes to include/trace (1 of 32 files). Show all

Unified · Split

include/trace/events/ext4.h+118−18
@@ -15,6 +15,7 @@ struct ext4_inode_info; · 14 unmodified lines
1515 struct mpage_da_data;
1616 struct ext4_map_blocks;
1717 struct ext4_extent;
18+struct extent_status;
1819
1920 #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
2021
@@ -1519,10 +1520,9 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter, · 1498 unmodified lines
15191520 );
15201521
15211522 DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
1522− TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1523− ext4_fsblk_t pblk, unsigned int len, int ret),
1523+ TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
15241524
1525− TP_ARGS(inode, lblk, pblk, len, ret),
1525+ TP_ARGS(inode, map, ret),
15261526
15271527 TP_STRUCT__entry(
15281528 __field( dev_t, dev )
@@ -1530,37 +1530,37 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit, · 1 unmodified line
15301530 __field( ext4_fsblk_t, pblk )
15311531 __field( ext4_lblk_t, lblk )
15321532 __field( unsigned int, len )
1533+ __field( unsigned int, flags )
15331534 __field( int, ret )
15341535 ),
15351536
15361537 TP_fast_assign(
15371538 __entry->dev = inode->i_sb->s_dev;
15381539 __entry->ino = inode->i_ino;
1539− __entry->pblk = pblk;
1540− __entry->lblk = lblk;
1541− __entry->len = len;
1540+ __entry->pblk = map->m_pblk;
1541+ __entry->lblk = map->m_lblk;
1542+ __entry->len = map->m_len;
1543+ __entry->flags = map->m_flags;
15421544 __entry->ret = ret;
15431545 ),
15441546
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",
15461548 MAJOR(__entry->dev), MINOR(__entry->dev),
15471549 (unsigned long) __entry->ino,
15481550 __entry->lblk, __entry->pblk,
1549− __entry->len, __entry->ret)
1551+ __entry->len, __entry->flags, __entry->ret)
15501552 );
15511553
15521554 DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
1553− TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1554− ext4_fsblk_t pblk, unsigned len, int ret),
1555+ TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
15551556
1556− TP_ARGS(inode, lblk, pblk, len, ret)
1557+ TP_ARGS(inode, map, ret)
15571558 );
15581559
15591560 DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
1560− TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1561− ext4_fsblk_t pblk, unsigned len, int ret),
1561+ TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
15621562
1563− TP_ARGS(inode, lblk, pblk, len, ret)
1563+ TP_ARGS(inode, map, ret)
15641564 );
15651565
15661566 TRACE_EVENT(ext4_ext_load_extent,
@@ -1680,10 +1680,10 @@ DEFINE_EVENT(ext4__trim, ext4_trim_all_free, · 113 unmodified lines
16801680 );
16811681
16821682 TRACE_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,
16841684 unsigned int allocated, ext4_fsblk_t newblock),
16851685
1686− TP_ARGS(inode, map, allocated, newblock),
1686+ TP_ARGS(inode, map, flags, allocated, newblock),
16871687
16881688 TP_STRUCT__entry(
16891689 __field( dev_t, dev )
@@ -1699,7 +1699,7 @@ TRACE_EVENT(ext4_ext_handle_uninitialized_extents, · 9 unmodified lines
16991699 TP_fast_assign(
17001700 __entry->dev = inode->i_sb->s_dev;
17011701 __entry->ino = inode->i_ino;
1702− __entry->flags = map->m_flags;
1702+ __entry->flags = flags;
17031703 __entry->lblk = map->m_lblk;
17041704 __entry->pblk = map->m_pblk;
17051705 __entry->len = map->m_len;
@@ -1707,7 +1707,7 @@ TRACE_EVENT(ext4_ext_handle_uninitialized_extents, · 1 unmodified line
17071707 __entry->newblk = newblock;
17081708 ),
17091709
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 "
17111711 "allocated %d newblock %llu",
17121712 MAJOR(__entry->dev), MINOR(__entry->dev),
17131713 (unsigned long) __entry->ino,
@@ -2055,6 +2055,106 @@ TRACE_EVENT(ext4_ext_remove_space_done, · 341 unmodified lines
20552055 (unsigned short) __entry->eh_entries)
20562056 );
20572057
2058+TRACE_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+
2083+TRACE_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+
2108+TRACE_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+
2130+TRACE_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+
20582158 #endif /* _TRACE_EXT4_H */
20592159
20602160 /* This part must be outside protection */