<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs/btrfs/super.c, branch v4.9.105</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>btrfs: resume qgroup rescan on rw remount</title>
<updated>2017-09-13T21:13:36+00:00</updated>
<author>
<name>Aleksa Sarai</name>
<email>asarai@suse.de</email>
</author>
<published>2017-07-04T11:49:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0f7dbc4d5bc88432ab1c8639c66628d4f5903ae9'/>
<id>0f7dbc4d5bc88432ab1c8639c66628d4f5903ae9</id>
<content type='text'>
commit 6c6b5a39c4bf3dbd8cf629c9f5450e983c19dbb9 upstream.

Several distributions mount the "proper root" as ro during initrd and
then remount it as rw before pivot_root(2). Thus, if a rescan had been
aborted by a previous shutdown, the rescan would never be resumed.

This issue would manifest itself as several btrfs ioctl(2)s causing the
entire machine to hang when btrfs_qgroup_wait_for_completion was hit
(due to the fs_info-&gt;qgroup_rescan_running flag being set but the rescan
itself not being resumed). Notably, Docker's btrfs storage driver makes
regular use of BTRFS_QUOTA_CTL_DISABLE and BTRFS_IOC_QUOTA_RESCAN_WAIT
(causing this problem to be manifested on boot for some machines).

Cc: Jeff Mahoney &lt;jeffm@suse.com&gt;
Fixes: b382a324b60f ("Btrfs: fix qgroup rescan resume on mount")
Signed-off-by: Aleksa Sarai &lt;asarai@suse.de&gt;
Reviewed-by: Nikolay Borisov &lt;nborisov@suse.com&gt;
Tested-by: Nikolay Borisov &lt;nborisov@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 6c6b5a39c4bf3dbd8cf629c9f5450e983c19dbb9 upstream.

Several distributions mount the "proper root" as ro during initrd and
then remount it as rw before pivot_root(2). Thus, if a rescan had been
aborted by a previous shutdown, the rescan would never be resumed.

This issue would manifest itself as several btrfs ioctl(2)s causing the
entire machine to hang when btrfs_qgroup_wait_for_completion was hit
(due to the fs_info-&gt;qgroup_rescan_running flag being set but the rescan
itself not being resumed). Notably, Docker's btrfs storage driver makes
regular use of BTRFS_QUOTA_CTL_DISABLE and BTRFS_IOC_QUOTA_RESCAN_WAIT
(causing this problem to be manifested on boot for some machines).

Cc: Jeff Mahoney &lt;jeffm@suse.com&gt;
Fixes: b382a324b60f ("Btrfs: fix qgroup rescan resume on mount")
Signed-off-by: Aleksa Sarai &lt;asarai@suse.de&gt;
Reviewed-by: Nikolay Borisov &lt;nborisov@suse.com&gt;
Tested-by: Nikolay Borisov &lt;nborisov@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: convert pr_* to btrfs_* where possible</title>
<updated>2016-09-26T17:37:04+00:00</updated>
<author>
<name>Jeff Mahoney</name>
<email>jeffm@suse.com</email>
</author>
<published>2016-09-20T14:05:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ab8d0fc48dba09e0a2b8b0dbfe144d4de9eb874f'/>
<id>ab8d0fc48dba09e0a2b8b0dbfe144d4de9eb874f</id>
<content type='text'>
For many printks, we want to know which file system issued the message.

This patch converts most pr_* calls to use the btrfs_* versions instead.
In some cases, this means adding plumbing to allow call sites access to
an fs_info pointer.

fs/btrfs/check-integrity.c is left alone for another day.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For many printks, we want to know which file system issued the message.

This patch converts most pr_* calls to use the btrfs_* versions instead.
In some cases, this means adding plumbing to allow call sites access to
an fs_info pointer.

fs/btrfs/check-integrity.c is left alone for another day.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: convert printk(KERN_* to use pr_* calls</title>
<updated>2016-09-26T16:08:44+00:00</updated>
<author>
<name>Jeff Mahoney</name>
<email>jeffm@suse.com</email>
</author>
<published>2016-09-20T14:05:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=62e855771dacf7c4d6daf9741642a965e7066d31'/>
<id>62e855771dacf7c4d6daf9741642a965e7066d31</id>
<content type='text'>
This patch converts printk(KERN_* style messages to use the pr_* versions.

One side effect is that anything that was KERN_DEBUG is now automatically
a dynamic debug message.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch converts printk(KERN_* style messages to use the pr_* versions.

One side effect is that anything that was KERN_DEBUG is now automatically
a dynamic debug message.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: unsplit printed strings</title>
<updated>2016-09-26T16:08:44+00:00</updated>
<author>
<name>Jeff Mahoney</name>
<email>jeffm@suse.com</email>
</author>
<published>2016-09-20T14:05:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5d163e0e68ce743e1e919ddd3264c96ac02e9026'/>
<id>5d163e0e68ce743e1e919ddd3264c96ac02e9026</id>
<content type='text'>
CodingStyle chapter 2:
"[...] never break user-visible strings such as printk messages,
because that breaks the ability to grep for them."

This patch unsplits user-visible strings.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CodingStyle chapter 2:
"[...] never break user-visible strings such as printk messages,
because that breaks the ability to grep for them."

This patch unsplits user-visible strings.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Btrfs: add a flags field to btrfs_fs_info</title>
<updated>2016-09-26T15:59:49+00:00</updated>
<author>
<name>Josef Bacik</name>
<email>jbacik@fb.com</email>
</author>
<published>2016-09-02T19:40:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=afcdd129e05a9210a5d19d4aa6e0afa475fc49e2'/>
<id>afcdd129e05a9210a5d19d4aa6e0afa475fc49e2</id>
<content type='text'>
We have a lot of random ints in btrfs_fs_info that can be put into flags.  This
is mostly equivalent with the exception of how we deal with quota going on or
off, now instead we set a flag when we are turning it on or off and deal with
that appropriately, rather than just having a pending state that the current
quota_enabled gets set to.  Thanks,

Signed-off-by: Josef Bacik &lt;jbacik@fb.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have a lot of random ints in btrfs_fs_info that can be put into flags.  This
is mostly equivalent with the exception of how we deal with quota going on or
off, now instead we set a flag when we are turning it on or off and deal with
that appropriately, rather than just having a pending state that the current
quota_enabled gets set to.  Thanks,

Signed-off-by: Josef Bacik &lt;jbacik@fb.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: fix fsfreeze hang caused by delayed iputs deal</title>
<updated>2016-08-25T10:58:26+00:00</updated>
<author>
<name>Wang Xiaoguang</name>
<email>wangxg.fnst@cn.fujitsu.com</email>
</author>
<published>2016-08-01T05:28:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9e7cc91a6d18a4973c6d2cc104871439c9e94f3d'/>
<id>9e7cc91a6d18a4973c6d2cc104871439c9e94f3d</id>
<content type='text'>
When running fstests generic/068, sometimes we got below deadlock:
  xfs_io          D ffff8800331dbb20     0  6697   6693 0x00000080
  ffff8800331dbb20 ffff88007acfc140 ffff880034d895c0 ffff8800331dc000
  ffff880032d243e8 fffffffeffffffff ffff880032d24400 0000000000000001
  ffff8800331dbb38 ffffffff816a9045 ffff880034d895c0 ffff8800331dbba8
  Call Trace:
  [&lt;ffffffff816a9045&gt;] schedule+0x35/0x80
  [&lt;ffffffff816abab2&gt;] rwsem_down_read_failed+0xf2/0x140
  [&lt;ffffffff8118f5e1&gt;] ? __filemap_fdatawrite_range+0xd1/0x100
  [&lt;ffffffff8134f978&gt;] call_rwsem_down_read_failed+0x18/0x30
  [&lt;ffffffffa06631fc&gt;] ? btrfs_alloc_block_rsv+0x2c/0xb0 [btrfs]
  [&lt;ffffffff810d32b5&gt;] percpu_down_read+0x35/0x50
  [&lt;ffffffff81217dfc&gt;] __sb_start_write+0x2c/0x40
  [&lt;ffffffffa067f5d5&gt;] start_transaction+0x2a5/0x4d0 [btrfs]
  [&lt;ffffffffa067f857&gt;] btrfs_join_transaction+0x17/0x20 [btrfs]
  [&lt;ffffffffa068ba34&gt;] btrfs_evict_inode+0x3c4/0x5d0 [btrfs]
  [&lt;ffffffff81230a1a&gt;] evict+0xba/0x1a0
  [&lt;ffffffff812316b6&gt;] iput+0x196/0x200
  [&lt;ffffffffa06851d0&gt;] btrfs_run_delayed_iputs+0x70/0xc0 [btrfs]
  [&lt;ffffffffa067f1d8&gt;] btrfs_commit_transaction+0x928/0xa80 [btrfs]
  [&lt;ffffffffa0646df0&gt;] btrfs_freeze+0x30/0x40 [btrfs]
  [&lt;ffffffff81218040&gt;] freeze_super+0xf0/0x190
  [&lt;ffffffff81229275&gt;] do_vfs_ioctl+0x4a5/0x5c0
  [&lt;ffffffff81003176&gt;] ? do_audit_syscall_entry+0x66/0x70
  [&lt;ffffffff810038cf&gt;] ? syscall_trace_enter_phase1+0x11f/0x140
  [&lt;ffffffff81229409&gt;] SyS_ioctl+0x79/0x90
  [&lt;ffffffff81003c12&gt;] do_syscall_64+0x62/0x110
  [&lt;ffffffff816acbe1&gt;] entry_SYSCALL64_slow_path+0x25/0x25

&gt;From this warning, freeze_super() already holds SB_FREEZE_FS, but
btrfs_freeze() will call btrfs_commit_transaction() again, if
btrfs_commit_transaction() finds that it has delayed iputs to handle,
it'll start_transaction(), which will try to get SB_FREEZE_FS lock
again, then deadlock occurs.

The root cause is that in btrfs, sync_filesystem(sb) does not make
sure all metadata is updated. There still maybe some codes adding
delayed iputs, see below sample race window:

         CPU1                                  |         CPU2
|-&gt; freeze_super()                             |
    |-&gt; sync_filesystem(sb);                   |
    |                                          |-&gt; cleaner_kthread()
    |                                          |   |-&gt; btrfs_delete_unused_bgs()
    |                                          |       |-&gt; btrfs_remove_chunk()
    |                                          |           |-&gt; btrfs_remove_block_group()
    |                                          |               |-&gt; btrfs_add_delayed_iput()
    |                                          |
    |-&gt; sb-&gt;s_writers.frozen = SB_FREEZE_FS;   |
    |-&gt; sb_wait_write(sb, SB_FREEZE_FS);       |
    |   acquire SB_FREEZE_FS lock.             |
    |                                          |
    |-&gt; btrfs_freeze()                         |
        |-&gt; btrfs_commit_transaction()         |
            |-&gt; btrfs_run_delayed_iputs()      |
            |   will handle delayed iputs,     |
            |   that means start_transaction() |
            |   will be called, which will try |
            |   to get SB_FREEZE_FS lock.      |

To fix this issue, introduce a "int fs_frozen" to record internally whether
fs has been frozen. If fs has been frozen, we can not handle delayed iputs.

Signed-off-by: Wang Xiaoguang &lt;wangxg.fnst@cn.fujitsu.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
[ add comment to btrfs_freeze ]
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;

Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When running fstests generic/068, sometimes we got below deadlock:
  xfs_io          D ffff8800331dbb20     0  6697   6693 0x00000080
  ffff8800331dbb20 ffff88007acfc140 ffff880034d895c0 ffff8800331dc000
  ffff880032d243e8 fffffffeffffffff ffff880032d24400 0000000000000001
  ffff8800331dbb38 ffffffff816a9045 ffff880034d895c0 ffff8800331dbba8
  Call Trace:
  [&lt;ffffffff816a9045&gt;] schedule+0x35/0x80
  [&lt;ffffffff816abab2&gt;] rwsem_down_read_failed+0xf2/0x140
  [&lt;ffffffff8118f5e1&gt;] ? __filemap_fdatawrite_range+0xd1/0x100
  [&lt;ffffffff8134f978&gt;] call_rwsem_down_read_failed+0x18/0x30
  [&lt;ffffffffa06631fc&gt;] ? btrfs_alloc_block_rsv+0x2c/0xb0 [btrfs]
  [&lt;ffffffff810d32b5&gt;] percpu_down_read+0x35/0x50
  [&lt;ffffffff81217dfc&gt;] __sb_start_write+0x2c/0x40
  [&lt;ffffffffa067f5d5&gt;] start_transaction+0x2a5/0x4d0 [btrfs]
  [&lt;ffffffffa067f857&gt;] btrfs_join_transaction+0x17/0x20 [btrfs]
  [&lt;ffffffffa068ba34&gt;] btrfs_evict_inode+0x3c4/0x5d0 [btrfs]
  [&lt;ffffffff81230a1a&gt;] evict+0xba/0x1a0
  [&lt;ffffffff812316b6&gt;] iput+0x196/0x200
  [&lt;ffffffffa06851d0&gt;] btrfs_run_delayed_iputs+0x70/0xc0 [btrfs]
  [&lt;ffffffffa067f1d8&gt;] btrfs_commit_transaction+0x928/0xa80 [btrfs]
  [&lt;ffffffffa0646df0&gt;] btrfs_freeze+0x30/0x40 [btrfs]
  [&lt;ffffffff81218040&gt;] freeze_super+0xf0/0x190
  [&lt;ffffffff81229275&gt;] do_vfs_ioctl+0x4a5/0x5c0
  [&lt;ffffffff81003176&gt;] ? do_audit_syscall_entry+0x66/0x70
  [&lt;ffffffff810038cf&gt;] ? syscall_trace_enter_phase1+0x11f/0x140
  [&lt;ffffffff81229409&gt;] SyS_ioctl+0x79/0x90
  [&lt;ffffffff81003c12&gt;] do_syscall_64+0x62/0x110
  [&lt;ffffffff816acbe1&gt;] entry_SYSCALL64_slow_path+0x25/0x25

&gt;From this warning, freeze_super() already holds SB_FREEZE_FS, but
btrfs_freeze() will call btrfs_commit_transaction() again, if
btrfs_commit_transaction() finds that it has delayed iputs to handle,
it'll start_transaction(), which will try to get SB_FREEZE_FS lock
again, then deadlock occurs.

The root cause is that in btrfs, sync_filesystem(sb) does not make
sure all metadata is updated. There still maybe some codes adding
delayed iputs, see below sample race window:

         CPU1                                  |         CPU2
|-&gt; freeze_super()                             |
    |-&gt; sync_filesystem(sb);                   |
    |                                          |-&gt; cleaner_kthread()
    |                                          |   |-&gt; btrfs_delete_unused_bgs()
    |                                          |       |-&gt; btrfs_remove_chunk()
    |                                          |           |-&gt; btrfs_remove_block_group()
    |                                          |               |-&gt; btrfs_add_delayed_iput()
    |                                          |
    |-&gt; sb-&gt;s_writers.frozen = SB_FREEZE_FS;   |
    |-&gt; sb_wait_write(sb, SB_FREEZE_FS);       |
    |   acquire SB_FREEZE_FS lock.             |
    |                                          |
    |-&gt; btrfs_freeze()                         |
        |-&gt; btrfs_commit_transaction()         |
            |-&gt; btrfs_run_delayed_iputs()      |
            |   will handle delayed iputs,     |
            |   that means start_transaction() |
            |   will be called, which will try |
            |   to get SB_FREEZE_FS lock.      |

To fix this issue, introduce a "int fs_frozen" to record internally whether
fs has been frozen. If fs has been frozen, we can not handle delayed iputs.

Signed-off-by: Wang Xiaoguang &lt;wangxg.fnst@cn.fujitsu.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.com&gt;
[ add comment to btrfs_freeze ]
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;

Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: btrfs_abort_transaction, drop root parameter</title>
<updated>2016-07-26T11:54:26+00:00</updated>
<author>
<name>Jeff Mahoney</name>
<email>jeffm@suse.com</email>
</author>
<published>2016-06-10T22:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=66642832f06a4351e23cea6cf254967c227f8224'/>
<id>66642832f06a4351e23cea6cf254967c227f8224</id>
<content type='text'>
__btrfs_abort_transaction doesn't use its root parameter except to
obtain an fs_info pointer.  We can obtain that from trans-&gt;root-&gt;fs_info
for now and from trans-&gt;fs_info in a later patch.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
__btrfs_abort_transaction doesn't use its root parameter except to
obtain an fs_info pointer.  We can obtain that from trans-&gt;root-&gt;fs_info
for now and from trans-&gt;fs_info in a later patch.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: tests, move initialization into tests/</title>
<updated>2016-07-26T11:53:17+00:00</updated>
<author>
<name>Jeff Mahoney</name>
<email>jeffm@suse.com</email>
</author>
<published>2016-06-20T17:16:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8632daae40c1a5b8fcc1d66d788c143353fd70b7'/>
<id>8632daae40c1a5b8fcc1d66d788c143353fd70b7</id>
<content type='text'>
We have all these stubs that only exist because they're called from
btrfs_run_sanity_tests, which is a static inside super.c.  Let's just
move it all into tests/btrfs-tests.c and only have one stub.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have all these stubs that only exist because they're called from
btrfs_run_sanity_tests, which is a static inside super.c.  Let's just
move it all into tests/btrfs-tests.c and only have one stub.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: btrfs_test_opt and friends should take a btrfs_fs_info</title>
<updated>2016-07-26T11:53:16+00:00</updated>
<author>
<name>Jeff Mahoney</name>
<email>jeffm@suse.com</email>
</author>
<published>2016-06-10T01:38:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3cdde2240d4533ff71fbb8dc9c32d5d57d3cdeed'/>
<id>3cdde2240d4533ff71fbb8dc9c32d5d57d3cdeed</id>
<content type='text'>
btrfs_test_opt and friends only use the root pointer to access
the fs_info.  Let's pass the fs_info directly in preparation to
eliminate similar patterns all over btrfs.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
btrfs_test_opt and friends only use the root pointer to access
the fs_info.  Let's pass the fs_info directly in preparation to
eliminate similar patterns all over btrfs.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: prefix fsid to all trace events</title>
<updated>2016-07-26T11:53:16+00:00</updated>
<author>
<name>Jeff Mahoney</name>
<email>jeffm@suse.com</email>
</author>
<published>2016-06-09T21:27:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bc074524e123ded281cde25ebc5661910f9679e3'/>
<id>bc074524e123ded281cde25ebc5661910f9679e3</id>
<content type='text'>
When using trace events to debug a problem, it's impossible to determine
which file system generated a particular event.  This patch adds a
macro to prefix standard information to the head of a trace event.

The extent_state alloc/free events are all that's left without an
fs_info available.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using trace events to debug a problem, it's impossible to determine
which file system generated a particular event.  This patch adds a
macro to prefix standard information to the head of a trace event.

The extent_state alloc/free events are all that's left without an
fs_info available.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: David Sterba &lt;dsterba@suse.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
