summaryrefslogtreecommitdiffstats
path: root/fs/file_table.c
diff options
context:
space:
mode:
authorChristoph Hellwig2011-03-15 21:51:24 +0100
committerAl Viro2011-03-16 14:56:03 +0100
commitbab1d9444d9a147f1dc3478dd06c16f490227f3e (patch)
treee5dd5220c976f604163c0b96945af3ee0be1fe24 /fs/file_table.c
parentvfs: add nonconflicting values for O_PATH (diff)
downloadkernel-qcow2-linux-bab1d9444d9a147f1dc3478dd06c16f490227f3e.tar.gz
kernel-qcow2-linux-bab1d9444d9a147f1dc3478dd06c16f490227f3e.tar.xz
kernel-qcow2-linux-bab1d9444d9a147f1dc3478dd06c16f490227f3e.zip
prune back iprune_sem
iprune_sem is continously giving us lockdep warnings because we do take it in read mode in the reclaim path, but we're also doing non-NOFS allocations under it taken in write mode. Taking a bit deeper look at it I think it's fixable quite trivially: - for invalidate_inodes we do not need iprune_sem at all. We have an active reference on the superblock, so the filesystem is not going away until it has finished. - for evict_inodes we do need it, to make sure prune_icache has done it's work before we tear down the superblock. But there is no reason to hold it over the actual reclaim operation - it's enough to cycle through it after the actual reclaim to make sure we wait for any pending prune_icache to complete. We just have to remove the WARN_ON for otherwise busy inodes as they can actually happen now. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/file_table.c')
0 files changed, 0 insertions, 0 deletions