Unionfs: avoid using drop_pagecache_sb in remount
authorErez Zadok <ezk@cs.sunysb.edu>
Thu, 13 Dec 2007 15:51:15 +0000 (10:51 -0500)
committerRachita Kothiyal <rachita@dewey.fsl.cs.sunysb.edu>
Thu, 1 May 2008 23:03:26 +0000 (19:03 -0400)
commited5daef37786a36b801e3a7c45a79b4f56819c5b
tree04252b1002d93205450ce3bfb4041dc28bcb8968
parent336af55e3e5f533ccc469ec72da3a9c24d122da2
Unionfs: avoid using drop_pagecache_sb in remount

Exporting drop_pagecache_sb to modules is somewhat risky because one cannot
sleep inside invalidate_mapping_pages.  This could cause a lot of latency in
the pre-emption code.  So don't export this symbol to minimize the risk that
others will use it.

Instead, unionfs will try to directly invalidate as many pages it can from
the unionfs_remount code.  Invalidating those inode pages is not strictly
required, but helpful in encouraging a revalidation of inodes sooner than
waiting for individual f/s ops to access the union.  Since a remount is
already an expensive but rare operation, this inode pages invalidation
shouldn't add too much overhead.

CC: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/drop_caches.c
fs/unionfs/dentry.c
fs/unionfs/super.c
fs/unionfs/union.h
include/linux/mm.h