Messages in this thread | | | Date | Mon, 30 Jun 2003 16:36:24 +0200 | Subject | [PATCH 0/4] Optimize NFS open() calls by means of 'intents'... | From | Trond Myklebust <> |
| |
The following patches add the concept of 'intents' to the VFS layer, and are subsequently used to optimize the NFSv2/v3 close-to-open code, and to add O_EXCL support.
Intents are a concept which have been pioneered under Linux by Peter Braam. They are an optional field that is passed down to inode ops and are used in order to pass down extra information to the filesystem about the nature of the operation being undertaken.
This allows the filesystem in turn to make assumptions in order to optimize away unnecessary operations (for instance under NFS - doing both a LOOKUP and a GETATTR when doing an open), and to choose variants that improve the atomicity (For instance under NFSv4 you may choose to OPEN rather than LOOKUP).
So far, I have only implemented OPEN intents. In the future, it may prove to be useful to add intents for other operations (I know the Lustre project in particular is keen to do this) in order to optimize away unnecessary file permission checks, and other such things.
The patches presented now differ from those presented in May in that I've tried to take into account both Linus' and Al Viro's comments. The strategy is therefore to make use of the 'struct nameidata', when it exists, and feed that down to the filesystem. The actual intent information is then included as a union in the nameidata.
Cheers, Trond - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |