Re: [PATCH] address_space_operations unification

From: Trond Myklebust (trond.myklebust@fys.uio.no)
Date: Mon May 08 2000 - 11:57:18 EST


>>>>> " " == Jamie Lokier <lfs@tantalophile.demon.co.uk> writes:

>> Sorry I was unneccessarily unclear. I meant if you use
>> 'noac'. That was why I said it was broken: you're relying on
>> attribute checking to invalidate the cache for you. If the
>> attributes don't change, you're essentially screwed.

> Changing the attributes is easy: there's a microsecond field in

Actually its a nanosecond field in v3.

> NFS mtime. A microsecond delay here or there is not a big deal
> for the server. But Linux ignores this. (This could easily be
> changed).

Nope. Try 2.3.99-prex against a server which supports
microsecond/nanosecond resolution. I've already changed the code in
nfs_refresh_inode() to take into account this sort of thing. Look for
the NFS_CACHE_*(inode) stuff.

> I don't think you have to explicitly invalidate the page cache
> after using it -- and the races that implies. Instead, just
> pretend the attribute check always says "the server has newer
> data". Conceptually simpler IMO.

No races. We wait on page, so if you remove the page from the page
cache after it's been filled but before unlocking the page it will
never be seen by anyone but you.
The code in read_page_cache() and __find_get_page() is quite sane in
this respect.

Cheers,
  Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:11 EST