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.