Patent ID: 8463762

Claim:
At a computer system including one or more processors and system memory, the computer system being clustered with one or more other computer systems, the computer system and the one or more other computer systems having shared access to a storage device volume mounted at one of the clustered computer systems, a file system for the storage device volume exposed at the one of the clustered computer systems, a method for transferring data between the computer system and the storage device volume, the method comprising: an act of a cluster shared volume file system (CsvFS) at the computer system receiving a file request for transferring file data between the computer system and a file at the storage device volume, wherein the CsvFS is connected to the storage device volume to facilitate direct I/O between the computer system and the storage device volume, and the CsvFS is also connected to a file system filter at the one of the clustered computer systems to facilitate re-directed I/O between the computer system and the storage device volume through the file system filter, and wherein the file request has a file request type, the file request type indicating that the file request is for one or more of: writing data to the file or reading data from the file; an act of the CsvFS identifying an oplock level corresponding to the file, the oplock level indicating a permitted caching level; an act of the CsvFS determining an appropriate I/O mechanism for transferring the file data between the computer system and the storage device volume based on the identified oplock level and the file request type, the appropriate I/O mechanism selected from among: direct I/O between the computer system and the storage device volume for both reads and writes when the oplock level comprises a read/write oplock level, and direct I/O between the computer system and the storage device volume for reads and re-directed I/O through the file system filter for writes when the oplock level comprises a read oplock level; and an act of the CsvFS transferring the file data between the computer system and the storage device volume in accordance with the appropriate I/O mechanism.