A shared storage
distributed file system is presented that provides applications with transparent access to a
storage area network (SAN) attached storage device. This is accomplished by providing clients read access to the devices over the SAN and by requiring most write activity to be serialized through a
network attached storage (NAS)
server. Both the clients and the NAS
server are connected to the SAN-attached device over the SAN. Direct read access to the SAN attached device is provided through a local
file system on the
client. Write access is provided through a remote
file system on the
client that utilizes the NAS
server. A supplemental read path is provided through the NAS server for those circumstances where the local
file system is unable to provide valid data reads.Consistency is maintained by comparing modification times in the local and remote file systems. Since writes occur over the remote file systems, the consistency mechanism is capable of flushing data caches in the remote file
system, and invalidating
metadata and real-data caches in the local file
system. It is possible to utilize unmodified local and remote file systems in the present invention, by layering over the local and remote file systems a new file
system. This new file system need only be installed at each
client, allowing the NAS server file systems to operate unmodified. Alternatively, the new file system can be combined with the local file system.