<!DOCTYPE html>
<html lang="en">
        <head>
                <meta charset="utf-8" />
                <title>ubifs and xattr test</title>
                <style>
                table { border-collapse: collapse; }
                td { padding: 4px 8px; border: 1px solid black; vertical-align: top; }
                td[colspan] { text-align: center; }
                pre { margin: 0; padding: 0; }
                </style>
        </head>
        <body>
                <table>
                        <tbody>
                                <tr>
                                        <td colspan="2"><pre>echo "file fs/ubifs/io.c +fp" > /sys/kernel/debug/dynamic_debug/control
echo "file fs/ubifs/file.c +fp" > /sys/kernel/debug/dynamic_debug/control
echo "file fs/ubifs/journal.c +fp" > /sys/kernel/debug/dynamic_debug/control</pre>
                                </tr>
                                <tr>
                                        <td><pre>root@OpenWrt:/# tmptest /overlay/upper/foo.txt
[  207.915955] write_head: UBIFS DBG jnl (pid 1242): jhead 1 (base), LEB 17:8192, len 384
[  207.931831] ubifs_wbuf_write_nolock: UBIFS DBG io (pid 1242): 384 bytes (direntry node) to jhead 1 (base) wbuf at LEB 17:8192
[  207.954457] new_wbuf_timer_nolock: UBIFS DBG io (pid 1242): set timer for jhead 1 (base), 5000-5500 millisecs
[  207.974476] do_readpage: UBIFS DBG gen (pid 1242): ino 157, pg 0, i_size 0, flags 0x1
[  207.990152] ubifs_write_end: UBIFS DBG gen (pid 1242): ino 157, pos 0, pg 0, len 5, copied 5, i_size 0
[  208.008777] ubifs_fsync: UBIFS DBG gen (pid 1242): syncing inode 157
[  208.021498] ubifs_writepage: UBIFS DBG gen (pid 1242): ino 157, pg 0, pg flags 0x1609
[  208.037157] ubifs_jnl_write_data: UBIFS DBG jnl (pid 1242): ino 157, blk 0, len 5, key (157, data, 0)
[  208.055553] write_node: UBIFS DBG jnl (pid 1242): jhead 2 (data), LEB 16:43008, len 53
[  208.071359] ubifs_wbuf_write_nolock: UBIFS DBG io (pid 1242): 53 bytes (data node) to jhead 2 (data) wbuf at LEB 16:43008
[  208.093228] new_wbuf_timer_nolock: UBIFS DBG io (pid 1242): set timer for jhead 2 (data), 5000-5500 millisecs
[  208.113116] ubifs_wbuf_sync_nolock: UBIFS DBG io (pid 1242): LEB 17:8192, 384 bytes, jhead 1 (base)
[  208.132108] ubifs_wbuf_sync_nolock: UBIFS DBG io (pid 1242): LEB 16:43008, 56 bytes, jhead 2 (data)</pre></td>
                                        <td><pre>root@OpenWrt:/# tmptest /overlay/upper/bar.txt user.baz qux
[   73.582733] write_head: UBIFS DBG jnl (pid 1094): jhead 1 (base), LEB 17:14336, len 384
[   73.598727] ubifs_wbuf_write_nolock: UBIFS DBG io (pid 1094): 384 bytes (direntry node) to jhead 1 (base) wbuf at LEB 17:14336
[   73.621452] new_wbuf_timer_nolock: UBIFS DBG io (pid 1094): set timer for jhead 1 (base), 5000-5500 millisecs
[   73.641324] do_readpage: UBIFS DBG gen (pid 1094): ino 160, pg 0, i_size 0, flags 0x1
[   73.656947] ubifs_write_end: UBIFS DBG gen (pid 1094): ino 160, pos 0, pg 0, len 5, copied 5, i_size 0
[   73.675511] ubifs_fsync: UBIFS DBG gen (pid 1094): syncing inode 160
[   73.688191] ubifs_writepage: UBIFS DBG gen (pid 1094): ino 160, pg 0, pg flags 0x1609
[   73.703809] ubifs_jnl_write_data: UBIFS DBG jnl (pid 1094): ino 160, blk 0, len 5, key (160, data, 0)
[   73.722185] write_node: UBIFS DBG jnl (pid 1094): jhead 2 (data), LEB 16:45056, len 53
[   73.737962] ubifs_wbuf_write_nolock: UBIFS DBG io (pid 1094): 53 bytes (data node) to jhead 2 (data) wbuf at LEB 16:45056
[   73.759791] new_wbuf_timer_nolock: UBIFS DBG io (pid 1094): set timer for jhead 2 (data), 5000-5500 millisecs
[   73.779600] ubifs_wbuf_sync_nolock: UBIFS DBG io (pid 1094): LEB 17:14336, 384 bytes, jhead 1 (base)
[   73.798774] ubifs_wbuf_sync_nolock: UBIFS DBG io (pid 1094): LEB 16:45056, 56 bytes, jhead 2 (data)</pre></td>
                                </tr>
                                <tr>
                                        <td></td>
                                        <td><pre>[   73.817817] write_head: UBIFS DBG jnl (pid 1094): jhead 1 (base), LEB 17:16384, len 400
[   73.833756] ubifs_wbuf_write_nolock: UBIFS DBG io (pid 1094): 400 bytes (xentry node) to jhead 1 (base) wbuf at LEB 17:16384
[   73.856109] new_wbuf_timer_nolock: UBIFS DBG io (pid 1094): set timer for jhead 1 (base), 5000-5500 millisecs
[   73.875863] ubifs_wbuf_sync_nolock: UBIFS DBG io (pid 1094): LEB 17:16384, 400 bytes, jhead 1 (base)
Wrote xattr "user.baz" value "qux"</pre></td>
                                </tr>
                                <tr>
                                        <td><pre>[  208.151291] write_head: UBIFS DBG jnl (pid 1242): jhead 1 (base), LEB 17:10240, len 384
[  208.167279] ubifs_wbuf_write_nolock: UBIFS DBG io (pid 1242): 384 bytes (direntry node) to jhead 1 (base) wbuf at LEB 17:10240
[  208.189993] new_wbuf_timer_nolock: UBIFS DBG io (pid 1242): set timer for jhead 1 (base), 5000-5500 millisecs
Success!</pre></td>
                                        <td><pre>[   73.895368] write_head: UBIFS DBG jnl (pid 1094): jhead 1 (base), LEB 17:18432, len 384
[   73.913872] ubifs_wbuf_write_nolock: UBIFS DBG io (pid 1094): 384 bytes (direntry node) to jhead 1 (base) wbuf at LEB 17:18432
[   73.939282] new_wbuf_timer_nolock: UBIFS DBG io (pid 1094): set timer for jhead 1 (base), 5000-5500 millisecs
Success!</pre></td>
                                </tr>
                                <tr>
                                        <td><pre>[  213.306479] wbuf_timer_callback_nolock: UBIFS DBG io (pid 0): jhead 1 (base)
[  213.320550] ubifs_bg_wbufs_sync: UBIFS DBG io (pid 388): synchronize
[  213.333467] ubifs_wbuf_sync_nolock: UBIFS DBG io (pid 388): LEB 17:10240, 384 bytes, jhead 1 (base)</pre></td>
                                        <td><pre>[   79.317440] wbuf_timer_callback_nolock: UBIFS DBG io (pid 0): jhead 1 (base)
[   79.331506] ubifs_bg_wbufs_sync: UBIFS DBG io (pid 387): synchronize
[   79.344190] ubifs_wbuf_sync_nolock: UBIFS DBG io (pid 387): LEB 17:18432, 384 bytes, jhead 1 (base)</pre></td>
                                </tr>
                                <tr>
                                        <td colspan="2">Power cut</td>
                                </tr>
                                <tr>
                                        <td><pre>root@OpenWrt:~# hexdump -v -C /overlay/upper/foo.txt 
00000000  66 6f 6f 0a 00                                    |foo..|</pre></td>
                                        <td><pre>root@OpenWrt:~# hexdump -v -C /overlay/upper/bar.txt 
00000000  00 00 00 00 00                                    |.....|</pre></td>
                                </tr>
                        </tbody>
                </table>
        </body>
</html>