All of lore.kernel.org
 help / color / mirror / Atom feed
* ext4: BUG: scheduling while atomic
@ 2009-03-31 22:09 Thiemo Nagel
  0 siblings, 0 replies; only message in thread
From: Thiemo Nagel @ 2009-03-31 22:09 UTC (permalink / raw)
  To: Theodore Tso; +Cc: Ext4 Developers List

Dear Ted,

I came across "scheduling while atomic" during tests with intentionally 
corrupted ext4 images.  It seems that ext4_error() is called while 
holding a spinlock.  The resulting superblock flush then causes a sleep. 
  I have no idea how bad this is (if at all).

The issue can be reproduced with yesterday's version of your ext4 tree 
when calling "mkdir" inside this fs:
http://e18.physik.tu-muenchen.de/~tnagel/misc/issue11.image.ext4.bz2

Kind regards,

Thiemo

[  201.286550] EXT4-fs: barriers enabled
[  201.301352] kjournald2 starting: pid 4073, dev loop0:8, commit 
interval 5 seconds
[  201.301501] EXT4 FS on loop0, internal journal on loop0:8
[  201.301508] EXT4-fs: delayed allocation enabled
[  201.301531] EXT4-fs: file extents enabled
[  201.301718] EXT4-fs: mballoc enabled
[  201.301813] EXT4-fs: mounted filesystem loop0 with ordered data mode
[  207.890044] EXT4-fs error (device loop0): ext4_mb_generate_buddy: 
EXT4-fs: group 1: 381 blocks in bitmap, 383 in gd
[  207.890169] EXT4-fs error (device loop0): ext4_add_entry: bad entry 
in directory #2: directory entry across blocks - offset=0, inode=2, 
rec_len=18444, name_len=1
[  207.890386] EXT4-fs error (device loop0): ext4_init_block_bitmap: 
Checksum bad for group 0
[  207.890425] BUG: scheduling while atomic: mkdir/4088/0x00000002
[  207.890448] INFO: lockdep is turned off.
[  207.890453] Modules linked in: ext4 jbd2 crc16 cpufreq_ondemand 
cpufreq_userspace cpufreq_powersave acpi_cpufreq freq_table 
speedstep_lib michael_mic arc4 ecb lib80211_crypt_tkip nls_iso8859_1 
nls_cp437 vfat fat nls_base toshiba loop snd_intel8x0 snd_ac97_codec 
ac97_bus ipw2200 libipw snd_pcm snd_timer lib80211 psmouse snd soundcore 
snd_page_alloc toshiba_acpi rfkill backlight input_polldev battery 
button ac evdev ext3 jbd mbcache usbhid sd_mod ata_generic usb_storage 
ata_piix libata ehci_hcd uhci_hcd e100 mii scsi_mod usbcore thermal 
processor fan thermal_sys
[  207.890825] Pid: 4088, comm: mkdir Not tainted 2.6.29-ext4 #1
[  207.890831] Call Trace:
[  207.890864]  [<c01227b7>] __schedule_bug+0x77/0x81
[  207.890894]  [<c0316021>] schedule+0x8f/0x847
[  207.890923]  [<c01189d6>] ? read_hpet+0xd/0x14
[  207.890951]  [<c0140fb2>] ? ktime_get_ts+0x48/0x4c
[  207.890961]  [<c0316820>] io_schedule+0x47/0x79
[  207.890989]  [<c01c0839>] sync_buffer+0x36/0x3e
[  207.891015]  [<c0316c4f>] __wait_on_bit+0x39/0x61
[  207.891086]  [<c01c0803>] ? sync_buffer+0x0/0x3e
[  207.891113]  [<c01c0803>] ? sync_buffer+0x0/0x3e
[  207.891122]  [<c0316ce4>] out_of_line_wait_on_bit+0x6d/0x89
[  207.891152]  [<c013e3ee>] ? wake_bit_function+0x0/0x55
[  207.891178]  [<c01c0801>] __wait_on_buffer+0x21/0x23
[  207.891205]  [<c01c24c6>] sync_dirty_buffer+0x94/0xd1
[  207.891216]  [<c0239077>] ? __percpu_counter_sum+0x54/0x6d
[  207.891306]  [<e044b35c>] ext4_commit_super+0x133/0x175 [ext4]
[  207.891374]  [<e044bcc7>] ext4_handle_error+0x83/0xac [ext4]
[  207.891402]  [<c012bb76>] ? printk+0x1b/0x1d
[  207.891495]  [<e044c1a5>] ext4_error+0x52/0x58 [ext4]
[  207.891564]  [<e043a56b>] ext4_init_block_bitmap+0x64/0x418 [ext4]
[  207.891595]  [<c0318496>] ? _spin_lock+0x4a/0x50
[  207.891657]  [<e043ac2f>] ext4_read_block_bitmap+0xdf/0x2ae [ext4]
[  207.891744]  [<e045b4a9>] ext4_mb_free_blocks+0x133/0x6f6 [ext4]
[  207.891753]  [<c0318d6d>] ? _spin_unlock+0x27/0x3c
[  207.891809]  [<e008ebd0>] ? insert_revoke_hash+0xe5/0xf2 [jbd2]
[  207.891847]  [<e008b3d6>] ? jbd2_journal_forget+0x17e/0x220 [jbd2]
[  207.891941]  [<e0455c0c>] ? __ext4_journal_revoke+0x4a/0x5f [ext4]
[  207.892003]  [<e043a3c4>] ext4_free_blocks+0x8c/0x106 [ext4]
[  207.892128]  [<e045399e>] ext4_ext_truncate+0x413/0x82c [ext4]
[  207.892195]  [<e04446bc>] ext4_truncate+0x73/0x4f0 [ext4]
[  207.892251]  [<e008acc2>] ? jbd2_journal_get_write_access+0x2f/0x3c 
[jbd2]
[  207.892339]  [<e043fd6d>] ? ext4_mark_iloc_dirty+0x4cf/0x542 [ext4]
[  207.892405]  [<e0440a2f>] ? ext4_mark_inode_dirty+0x172/0x1a2 [ext4]
[  207.892473]  [<e0455b51>] ? __ext4_handle_dirty_metadata+0xb1/0xca [ext4]
[  207.892538]  [<e0444b39>] ? ext4_delete_inode+0x0/0x227 [ext4]
[  207.892603]  [<e0444c65>] ext4_delete_inode+0x12c/0x227 [ext4]
[  207.892636]  [<c02386a7>] ? _raw_spin_unlock+0x7f/0x8b
[  207.892723]  [<e0444b39>] ? ext4_delete_inode+0x0/0x227 [ext4]
[  207.892751]  [<c01b4b86>] generic_delete_inode+0xdc/0x171
[  207.892761]  [<c01b4c37>] generic_drop_inode+0x1c/0x1b9
[  207.892790]  [<c022e096>] ? _atomic_dec_and_lock+0x3a/0x64
[  207.892816]  [<c01b41c6>] iput+0x4b/0x4e
[  207.892880]  [<e04484ba>] ext4_mkdir+0x250/0x2c3 [ext4]
[  207.892914]  [<c01ad315>] vfs_mkdir+0xdd/0x182
[  207.892940]  [<c01ad43d>] sys_mkdirat+0x83/0xbd
[  207.892968]  [<c01ad497>] sys_mkdir+0x20/0x22
[  207.892978]  [<c01031fb>] sysenter_do_call+0x12/0x3f

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-03-31 22:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-31 22:09 ext4: BUG: scheduling while atomic Thiemo Nagel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.