public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Jan Blunck <j.blunck@tu-harburg.de>
Cc: David Howells <dhowells@redhat.com>,
	torvalds@osdl.org, akpm@osdl.org, steved@redhat.com,
	trond.myklebust@fys.uio.no, linux-fsdevel@vger.kernel.org,
	linux-cachefs@redhat.com, nfsv4@linux-nfs.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 30/30] VFS: Destroy the dentries contributed by a superblock on unmounting [try #11]
Date: Tue, 01 Aug 2006 11:18:05 +0100	[thread overview]
Message-ID: <25845.1154427485@warthog.cambridge.redhat.com> (raw)
In-Reply-To: <20060801090259.GB10032@X40.localnet>

Jan Blunck <j.blunck@tu-harburg.de> wrote:

> IMHO it is better to fix shrink_dcache_for_umount() so that it is a
> replacement for shrink_dcache_sb().

The former may only be used when we *know* there aren't any references
remaining to any of the dentries (as it severely reduces the amount of time
spent holding the dcache_lock).  The latter is used in situations in which the
assumptions of the former don't hold true.

Now I could make the former hold the locking a lot more (I had a version of
the patch that did that), but the former destroys all an sb's dentries,
whether or not they're still in use (which they shouldn't be), and the latter
does not.

The latter also doesn't reap the anon list directly; only where anon dentries
are also unused does any anon reaping occur.  The former reaps them directly
and forcibly.

So, in conclusion, I don't think you can replace the latter with the former,
and the latter is insufficiently complete to replace the former.

> BTW: Talking about shrink_dcache_sb(): is it really necessary to call
> shrink_dcache_sb() when remounting a filesystem? The only reason I can see
> are changes to the lookup mechanism (hash algorithm etc) but a quick look
> into the different filesystems forbid the change of this options during
> remount.

If you're just remounting, then not all dentries can necessarily be purged
anyway - some of them may still be open.  Consider remounting root for
read-only or read-write...

David

  reply	other threads:[~2006-08-01 10:18 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-27 20:52 [PATCH 00/30] Permit filesystem local caching and NFS superblock sharing [try #11] David Howells
2006-07-27 20:52 ` [PATCH 01/30] NFS: Add dentry materialisation op " David Howells
2006-07-27 20:52 ` [PATCH 02/30] NFS: Fix up split of fs/nfs/inode.c " David Howells
2006-07-27 20:52 ` [PATCH 03/30] NFS: Disambiguate nfs_stat_to_errno() " David Howells
2006-07-27 20:52 ` [PATCH 04/30] NFS: Fix NFS4 callback up/down prototypes " David Howells
2006-07-27 20:52 ` [PATCH 05/30] NFS: Rename struct nfs4_client to struct nfs_client " David Howells
2006-07-27 20:52 ` [PATCH 06/30] NFS: Rename nfs_server::nfs4_state " David Howells
2006-07-27 20:52 ` [PATCH 07/30] NFS: Return an error when starting the idmapping pipe " David Howells
2006-07-27 20:52 ` [PATCH 08/30] NFS: Add a lookupfh NFS RPC op " David Howells
2006-07-27 20:52 ` [PATCH 09/30] NFS: Add a server capabilities " David Howells
2006-07-27 20:52 ` [PATCH 10/30] NFS: Generalise the nfs_client structure " David Howells
2006-07-27 20:52 ` [PATCH 11/30] NFS: Use the dentry superblock directly in nfs_statfs() " David Howells
2006-07-27 20:52 ` [PATCH 12/30] NFS: Add extra const qualifiers " David Howells
2006-07-27 20:52 ` [PATCH 13/30] NFS: Maintain a common server record for NFS2/3 as well as for NFS4 " David Howells
2006-07-27 20:52 ` [PATCH 14/30] NFS: Make better use of inode* dereferencing macros " David Howells
2006-07-27 20:53 ` [PATCH 15/30] NFS: Move rpc_ops from nfs_server to nfs_client " David Howells
2006-07-27 20:53 ` [PATCH 16/30] NFS: Eliminate client_sys in favour of cl_rpcclient " David Howells
2006-07-27 20:53 ` [PATCH 17/30] NFS: Start rpciod in server common management " David Howells
2006-07-27 20:53 ` [PATCH 19/30] NFS: Add server and volume lists to /proc " David Howells
2006-07-27 20:53 ` [PATCH 20/30] NFS: Fix error handling " David Howells
2006-07-27 20:53 ` [PATCH 21/30] NFS: Secure the roots of the NFS subtrees in a shared superblock " David Howells
2006-07-27 20:53 ` [PATCH 22/30] FS-Cache: Provide a filesystem-specific sync'able page bit " David Howells
2006-07-27 20:53 ` [PATCH 24/30] FS-Cache: Release page->private in failed readahead " David Howells
2006-07-27 20:53 ` [PATCH 25/30] FS-Cache: Make kAFS use FS-Cache " David Howells
2006-07-27 20:53 ` [PATCH 26/30] NFS: Use local caching " David Howells
2006-07-27 20:53 ` [PATCH 27/30] FS-Cache: CacheFiles: ia64: missing copy_page export " David Howells
2006-07-27 20:53 ` [PATCH 29/30] AUTOFS: Make sure all dentries refs are released before calling kill_anon_super() " David Howells
2006-07-27 20:53 ` [PATCH 30/30] VFS: Destroy the dentries contributed by a superblock on unmounting " David Howells
2006-08-01  9:03   ` Jan Blunck
2006-08-01 10:18     ` David Howells [this message]
2006-07-28  8:55 ` [PATCH 00/30] Permit filesystem local caching and NFS superblock sharing " Jeff Garzik
2006-09-07 17:17   ` FS-Cache patches David Howells
2006-09-18 19:10     ` Christoph Hellwig
2006-09-19  9:34       ` David Howells
2006-07-29  6:05 ` [PATCH 00/30] Permit filesystem local caching and NFS superblock sharing [try #11] Andrew Morton
2006-07-29 11:12   ` David Howells
2006-07-29 16:30     ` Trond Myklebust

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=25845.1154427485@warthog.cambridge.redhat.com \
    --to=dhowells@redhat.com \
    --cc=akpm@osdl.org \
    --cc=j.blunck@tu-harburg.de \
    --cc=linux-cachefs@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nfsv4@linux-nfs.org \
    --cc=steved@redhat.com \
    --cc=torvalds@osdl.org \
    --cc=trond.myklebust@fys.uio.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox