nfs accesses of FAT fs folders causes deadlock on lock_super

From: Fredrick Prashanth John Berchmans
Date: Tue May 04 2010 - 01:59:55 EST


Hi,

A FAT fs folder was shared using nfs. Accessing it over nfs causes
deadlock on lock_super since
it is acquired by both __fat_readdir and vfat_lookup in the following
call chain.

Call chain
#lock_super <----causes deadlock
#vfat_lookup
#__lookup_hash
#lookup_one_len
#compose_entry_fh
#encode_entry
#nfs3svc_encode_entry_plus
#__fat_readdir <---does lock_super
#fat_readdir
#vfs_readdir
#nfsd_readdir
#nfsd3_proc_readdirplus
#nfsd_dispatch
#svc_process
#nfsd


Is lock_super needed in the vfat_lookup?
Can it be removed?

The box was running kernel version 2.6.27.10.
But I think the FAT code has not changed much.

Thanks,
Fredrick
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/