ext4: Fix potential inode allocation soft lockup in Orlov allocator
authorTheodore Ts'o <tytso@mit.edu>
Thu, 23 Apr 2009 01:00:36 +0000 (21:00 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 23 Apr 2009 01:00:36 +0000 (21:00 -0400)
commitb5451f7b2694b04d9f912f6cf09db1729f291996
treea1221f12730bc54357fc7600de2b5fbcce97cac3
parente84a26ce178345498a7eca0590852bcc36f1092f
ext4: Fix potential inode allocation soft lockup in Orlov allocator

If the Orlov allocator is having trouble finding an appropriate block
group, the fallback code could loop forever, causing a soft lockup
warning in find_group_orlov():

BUG: soft lockup - CPU#0 stuck for 61s! [cp:11728]
     ...
Pid: 11728, comm: cp Not tainted (2.6.30-rc1-dirty #77) Lenovo
EIP: 0060:[<c021650e>] EFLAGS: 00000246 CPU: 0
EIP is at ext4_get_group_desc+0x54/0x9d
    ...
Call Trace:
 [<c0218021>] find_group_orlov+0x2ee/0x334
 [<c0120a5f>] ? sched_clock+0x8/0xb
 [<c02188e3>] ext4_new_inode+0x2cf/0xb1a

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ialloc.c