Fix _fat_bmap() locking

On swapon() path, it has already i_mutex. So, this uses i_alloc_sem
instead of it.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Reported-by: Laurent GUERBY <laurent@guerby.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by OGAWA Hirofumi and committed by Linus Torvalds 3a95ea11 ad3bdefe

+2 -2
+2 -2
fs/fat/inode.c
··· 202 202 sector_t blocknr; 203 203 204 204 /* fat_get_cluster() assumes the requested blocknr isn't truncated. */ 205 - mutex_lock(&mapping->host->i_mutex); 205 + down_read(&mapping->host->i_alloc_sem); 206 206 blocknr = generic_block_bmap(mapping, block, fat_get_block); 207 - mutex_unlock(&mapping->host->i_mutex); 207 + up_read(&mapping->host->i_alloc_sem); 208 208 209 209 return blocknr; 210 210 }