I really don't like Bugzilla. Bugzilla has a tendency of accumulating useless information, as it is impossible to delete anything from it. Reading Bugzilla entries is like reading a book that still contains every deleted passage, editor comment, etc.

So this is the current state of known bugs in LogFS. If you find a new bug that is not reported in this list, please add it. You can create a dedicated page for each bug, if you have to add a lot of information to it.

Current list of known bugs is short. Jörn tries hard to keep it short by fixing bugs. You should try hard to make it longer by detecting and reporting new problems. :)

Known Bugs

LogFS as a root filessystem causes problems

When used as a root filesystem, the system does not boot successfully. This is weird, I have no idea what is failing. Any tips how one can debug this problem are appreciated.

LogFS fails to compile on my setup due to commit 836e3 "Fixes for large mtd"

I do get a compilation failure when trying to make the logfsutils:

andre /tmp/logfsprogs # make

gcc -std=gnu99 -Wall -Os -D_FILE_OFFSET_BITS=64 -g -DVERSION=\"1.1\" -lz -c -o mkfs.o mkfs.c

mkfs.c: In function 'mtd_erase':

mkfs.c:101: error: storage size of 'ei' isn't known

mkfs.c:106: error: 'MEMERASE64' undeclared (first use in this function)

mkfs.c:106: error: (Each undeclared identifier is reported only once

mkfs.c:106: error: for each function it appears in.)

mkfs.c:101: warning: unused variable 'ei'

mkfs.c: In function 'mkfs':

mkfs.c:536: warning: ignoring return value of 'scanf', declared with attribute warn_unused_result

mkfs.c: In function 'open_device':

mkfs.c:633: warning: ignoring return value of 'read', declared with attribute warn_unused_result

make: *** [mkfs.o] Error 1

I identified commit 836e3 "Fixes for large mtd" as the culprit. Checking out the commit before this one, it compiles fine, also a revert of the commit on top of master fixes the probem. It does not revert cleanly though, I had to manually resolve a conflict in readwrite.c. The resulting binary seems to work for me.

I am not at all shure what the problem may be, as I guess I am not the only one that compile-tested the code. Therefore, some basic system information:

If you need any additional info or testing, just ask. andre at linux punkt com

Oops while deleting a file

The following bug was triggered by deleting a file on a LogFs-MMC card. The kernel was a 2.6.35-rc3 with some unrelated additional patches (only drivers; wireless and input).

[ 6775.106756] ------------[ cut here ]------------
[ 6775.106774] kernel BUG at lib/btree.c:465!
[ 6775.106784] invalid opcode: 0000 [#1] PREEMPT SMP 
[ 6775.106800] last sysfs file: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0/charge_full
[ 6775.106812] Modules linked in: logfs zlib_deflate iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables x_tables usbhid binfmt_misc rfcomm ppdev sco bridge stp bnep l2cap sha256_generic aes_i586 aes_generic dm_crypt snd_hda_codec_realtek snd_hda_intel fbcon snd_hda_codec snd_hwdep tileblit font bitblit softcursor snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq i915 drm_kms_helper snd_timer snd_seq_device drm i2c_algo_bit rt2870sta(C) uvcvideo btusb snd psmouse intel_agp joydev lp serio_raw usb_storage hid videodev bluetooth video soundcore r8169 classmate_laptop v4l1_compat crc_ccitt output agpgart parport snd_page_alloc mii [last unloaded: usbhid]
[ 6775.107020] 
[ 6775.107034] Pid: 4093, comm: rm Tainted: G         C  2.6.35-rc3+ #4 Intel powered classmate PC      /Intel powered classmate PC
[ 6775.107047] EIP: 0060:[<c036bd74>] EFLAGS: 00210246 CPU: 1
[ 6775.107066] EIP is at btree_insert_level+0x4a4/0x4b0
[ 6775.107075] EAX: 00000000 EBX: 00000005 ECX: 00000002 EDX: 00000002
[ 6775.107085] ESI: e5edc180 EDI: 0000000a EBP: ddf23d80 ESP: ddf23d30
[ 6775.107095]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[ 6775.107107] Process rm (pid: 4093, ti=ddf22000 task=ebb371a0 task.ti=ddf22000)
[ 6775.107115] Stack:
[ 6775.107122]  ddf23db0 c5222f00 000001a0 ddf23d58 00000002 00200286 ddf23db0 c07d6f50
[ 6775.107149] <0> ef4d5b54 00200286 e5edc180 e1f7bf00 0000000a ddf23d6c c01de2fd ddf23d80
[ 6775.107177] <0> 0000000a edd0a300 ef4d5000 0060e1a0 ddf23d98 c036bda1 edd0a300 00000001
[ 6775.107208] Call Trace:
[ 6775.107229]  [<c01de2fd>] ? mempool_kfree+0xd/0x10
[ 6775.107245]  [<c036bda1>] ? btree_insert+0x21/0x30
[ 6775.107268]  [<fa2f6f7a>] ? fill_shadow_tree+0x7a/0x430 [logfs]
[ 6775.107291]  [<fa2f7771>] ? logfs_write_i0+0x101/0x2b0 [logfs]
[ 6775.107315]  [<fa2f7d11>] ? __logfs_truncate_rec+0x151/0x2b0 [logfs]
[ 6775.107345]  [<fa2f98f3>] ? logfs_truncate+0x303/0x380 [logfs]
[ 6775.107363]  [<c05d3d83>] ? sub_preempt_count+0x83/0xc0
[ 6775.107386]  [<fa2f9bc1>] ? logfs_delete_inode+0x61/0x130 [logfs]
[ 6775.107401]  [<c05d3d83>] ? sub_preempt_count+0x83/0xc0
[ 6775.107419]  [<c0233290>] ? generic_delete_inode+0x70/0x110
[ 6775.107434]  [<c0233387>] ? generic_drop_inode+0x57/0x80
[ 6775.107454]  [<fa2f3fe3>] ? logfs_drop_inode+0x73/0x80 [logfs]
[ 6775.107470]  [<c023221c>] ? iput+0x4c/0x60
[ 6775.107484]  [<c022a29e>] ? do_unlinkat+0xce/0x160
[ 6775.107500]  [<c01b13ed>] ? call_rcu+0xd/0x10
[ 6775.107515]  [<c016f7a5>] ? __put_cred+0x35/0x50
[ 6775.107531]  [<c021ce44>] ? sys_faccessat+0x144/0x180
[ 6775.107549]  [<c022a468>] ? sys_unlinkat+0x28/0x50
[ 6775.107564]  [<c01030df>] ? sysenter_do_call+0x12/0x28
[ 6775.107576] Code: 89 04 96 83 c2 01 39 d1 77 f0 8b 45 cc 8b 4d 08 8b 55 d8 03 58 08 89 0c 9a 31 db eb b6 b8 ff ff ff ff e9 5b ff ff ff 0f 0b eb fe <0f> 0b eb fe 0f 0b eb fe 8d 74 26 00 55 89 e5 53 83 ec 0c 8b 5d 
[ 6775.107744] EIP: [<c036bd74>] btree_insert_level+0x4a4/0x4b0 SS:ESP 0068:ddf23d30
[ 6775.107767] ---[ end trace 5324dff9ce53aad0 ]---

If you have additional questions, feel free to ask me:  qawsnews gmx.de .

Oops during mount

This happens reproducible if I try to mount an LogFs-MMC card:

[   16.825614] LogFS: Start mount 0
[   16.870564] Console: switching to colour frame buffer device 128x37
[   17.012435] ------------[ cut here ]------------
[   17.012685] kernel BUG at fs/logfs/gc.c:407!
[   17.012784] invalid opcode: 0000 [#1] PREEMPT SMP 
[   17.012939] last sysfs file: /sys/kernel/uevent_seqnum
[   17.013062] Modules linked in: logfs zlib_deflate fbcon tileblit font bitblit softcursor snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi i915 snd_rawmidi snd_seq_midi_event snd_seq drm_kms_helper snd_timer snd_seq_device drm uvcvideo usbhid btusb rt2870sta(C) snd i2c_algo_bit joydev videodev video lp hid intel_agp bluetooth usb_storage r8169 classmate_laptop psmouse soundcore v4l1_compat crc_ccitt output mii agpgart snd_page_alloc serio_raw parport
[   17.014557] 
[   17.014602] Pid: 835, comm: mount Tainted: G         C  2.6.35-rc3+ #4 Intel powered classmate PC      /Intel powered classmate PC
[   17.014855] EIP: 0060:[<f81da6f4>] EFLAGS: 00010206 CPU: 1
[   17.014984] EIP is at __logfs_gc_once+0x64/0x70 [logfs]
[   17.015100] EAX: 00000000 EBX: 00001611 ECX: f3259274 EDX: 00000001
[   17.015238] ESI: f3042800 EDI: f32c65c0 EBP: f3275de4 ESP: f3275dc8
[   17.015376]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[   17.015497] Process mount (pid: 835, ti=f3274000 task=f3171940 task.ti=f3274000)
[   17.015656] Stack:
[   17.015706]  f3275dd7 0003f6e4 00000001 00259000 f3259260 f32c65c0 00001800 f3275e68
[   17.015941] <0> f81daf31 f3234c80 00000050 00000000 f3259000 f3042800 00000008 00000000
[   17.016214] <0> 00000000 f3259000 00001600 00000000 00000000 f325906c f3259000 07275e68
[   17.016356] Call Trace:
[   17.016356]  [<f81daf31>] ? logfs_gc_pass+0x731/0x750 [logfs]
[   17.020611]  [<f81e3c09>] ? logfs_get_sb_device+0x569/0x5a0 [logfs]
[   17.020611]  [<f81e3d74>] ? logfs_get_sb_bdev+0x54/0x80 [logfs]
[   17.020611]  [<f81e3094>] ? logfs_get_sb+0x44/0x90 [logfs]
[   17.020611]  [<c02203b2>] ? vfs_kern_mount+0x72/0x1b0
[   17.020611]  [<c0234ff5>] ? get_fs_type+0xa5/0xc0
[   17.020611]  [<c022054e>] ? do_kern_mount+0x3e/0xe0
[   17.020611]  [<c0237c58>] ? do_mount+0x348/0x7d0
[   17.020611]  [<c01ef422>] ? strndup_user+0x62/0xa0
[   17.020611]  [<c023816c>] ? sys_mount+0x8c/0xb0
[   17.020611]  [<c01030df>] ? sysenter_do_call+0x12/0x28
[   17.020611] Code: 89 f0 e8 80 fb ff ff ba 01 00 00 00 39 45 e8 75 1a 83 c4 10 89 d0 5b 5e 5f 5d c3 8d 74 26 00 31 d2 83 c4 10 89 d0 5b 5e 5f 5d c3 <0f> 0b eb fe 90 8d b4 26 00 00 00 00 55 89 e5 57 56 53 0f 1f 44 
[   17.020611] EIP: [<f81da6f4>] __logfs_gc_once+0x64/0x70 [logfs] SS:ESP 0068:f3275dc8
[   17.077657] ---[ end trace 37d2be8d6babd66b ]---

Same kernel as above (2.6.35-rc3 with some unrelated additional patches), (qawsnews gmx.de)

BUGS (last edited 2010-07-05 19:44:37 by p54B648D3)