From: Linus Torvalds <torvalds@osdl.org>
To: David Howells <dhowells@redhat.com>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org,
linux-cachefs@redhat.com, linux-fsdevel@vger.kernel.org,
nfsv4@linux-nfs.org
Subject: Re: [PATCH 0/12] FS-Cache: Generic filesystem caching facility
Date: Mon, 14 Nov 2005 14:45:46 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.4.64.0511141428390.3263@g5.osdl.org> (raw)
In-Reply-To: <dhowells1132005277@warthog.cambridge.redhat.com>
On Mon, 14 Nov 2005, David Howells wrote:
>
> This series of patches does four things:
Ok, interesting, and I like most of what I see.. But why do you have that
horrible "FSCACHE_NEGATIVE_COOKIE" thing?
We normally call that thing "NULL", and we test for it with code like "if
(!cookie)" instead of making up really nasty (and apparently misleading)
names.
The reason I say "misleading" is that a real negative cache entry doesn't
mean that the entry isn't cached, it means that it positively does not
exist. Which is something different from what you seem to be saying if I
read the patch right. From my quick reading, it looks like you use that
"NEGATIVE" not as a negative cache, but as a "I don't have this cached"
cache. Which is not negative at all.
(The difference is like the difference between a "hole" in a file and a
"don't know what this page is". One is real knowledge - and in UNIX
means that it's filled with zero - and the other one means that you have
to go look what the contents are).
And if it _is_ properly named (ie it really does mean "this entry
positively does not exist") then it shouldn't have the same representation
as NULL, because NULL really is traditionally used for "unknown" rather
than "known to not exist".
So depending on which it is, I really think you should either have
- just use NULL for "don't know"
or
- use #define FSCACHE_NEGATIVE_COOKIE ((struct fscache_cookie *)-1)
for "this is known to not exist".
(and quite often, you might well want to have both).
True negative caches are fairly unusual, but the "file hole" thing is one
example, and a negative dentry (dentry->d_inode = NULL) is another. It's a
very useful concept, and it's very distinct from "not in the cache".
Linus
next prev parent reply other threads:[~2005-11-14 22:45 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-14 21:54 [PATCH 0/12] FS-Cache: Generic filesystem caching facility David Howells
2005-11-14 21:54 ` [PATCH 1/12] FS-Cache: Handle -Wsign-compare in i386 bitops David Howells
2005-11-14 21:54 ` [PATCH 2/12] FS-Cache: Permit multiple inclusion of linux/pagevec.h David Howells
2005-11-14 21:54 ` [PATCH 5/12] FS-Cache: Release page->private in failed readahead David Howells
2005-11-14 21:54 ` [PATCH 6/12] FS-Cache: Add a function to replace a page in the pagecache David Howells
2005-11-14 21:54 ` [PATCH 3/12] FS-Cache: Add list_for_each_entry_safe_reverse() David Howells
2005-11-14 21:54 ` [PATCH 7/12] FS-Cache: Export a couple of VM functions David Howells
2005-11-14 21:54 ` [PATCH 4/12] FS-Cache: Permit pre-allocation of radix-tree nodes David Howells
2005-11-14 21:54 ` [PATCH 8/12] FS-Cache: Add generic filesystem cache core module David Howells
2005-11-14 21:54 ` [PATCH 12/12] FS-Cache: CacheFS: Add Documentation David Howells
2005-11-14 21:54 ` [PATCH 10/12] FS-Cache: Make kAFS use FS-Cache David Howells
2005-11-14 21:54 ` [PATCH 9/12] FS-Cache: Add documentation for FS-Cache and its interfaces David Howells
2005-11-14 21:54 ` [PATCH 11/12] FS-Cache: CacheFS: Add cache on blockdevice cache backend David Howells
2005-11-14 22:45 ` Linus Torvalds [this message]
2005-11-14 23:03 ` [PATCH 0/12] FS-Cache: Generic filesystem caching facility Andrew Morton
2005-11-14 23:17 ` Trond Myklebust
2005-11-15 8:57 ` [Linux-cachefs] " Jeff Garzik
2005-11-18 22:07 ` Troy Benjegerdes
2005-11-15 16:32 ` Jamie Lokier
2005-11-15 16:54 ` Linus Torvalds
2005-11-15 17:59 ` David Howells
2005-11-15 19:25 ` Andrew Morton
2005-11-15 23:45 ` Kyle Moffett
2005-11-16 11:26 ` David Howells
2005-11-16 11:56 ` Andrew Morton
2005-11-17 19:28 ` David Howells
2005-11-17 21:29 ` Andrew Morton
2005-11-18 8:43 ` Paul Jackson
2005-11-14 23:47 ` [PATCH] FS-Cache: Make NFS use FS-Cache Steve Dickson
2005-11-15 0:07 ` Andrew Morton
2005-11-15 2:31 ` Steve Dickson
2005-11-15 12:28 ` [PATCH 0/12] FS-Cache: Generic filesystem caching facility Nick Piggin
2005-11-15 13:20 ` [PATCHES 0-12/12] " David Howells
2005-11-15 14:06 ` [Linux-cachefs] " J. Bruce Fields
2005-11-15 16:24 ` David Howells
2005-11-15 13:51 ` [PATCH 0/12] " David Howells
2005-11-15 17:05 ` Linus Torvalds
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=Pine.LNX.4.64.0511141428390.3263@g5.osdl.org \
--to=torvalds@osdl.org \
--cc=akpm@osdl.org \
--cc=dhowells@redhat.com \
--cc=linux-cachefs@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nfsv4@linux-nfs.org \
/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;
as well as URLs for NNTP newsgroup(s).