diff --git a/FUSE-Mount.md b/FUSE-Mount.md index 2cdc1d5..6451086 100644 --- a/FUSE-Mount.md +++ b/FUSE-Mount.md @@ -72,16 +72,17 @@ filer ---- mount1 `weed mount` has a persistent client connecting to Master, to get the location updates of all volumes. There are no network round trip to lookup the volume id location. +`weed mount` also subscribe all metadata updates from the Filer. So later reads would not need a network read from Filer, and the metadata reads, e.g., directory listings, are all local operations. + For reads: -1. Client Reads File Metadata => Weed Filer => Weed Filer database (LevelDB, Cassandra, Redis, Mysql, Postgres, etc) -2. Client optionally lookup volume Id => Weed Filer => Weed Master -3. Client Reads File Chunks => Weed Volume Servers +1. Mount optionally lookups volume Id => Weed Filer => Weed Master +2. Mount Reads File Chunks => Weed Volume Servers ![](MountRead.png) For writes: -1. Client uploads data to Weed Volume Servers, and breaks the large files into chunks. -2. Client writes the metadata and chunk information into Filer and then into Filer database. +1. Mount uploads data to Weed Volume Servers, and breaks the large files into chunks. +2. Mount writes the metadata and chunk information into Filer and then into Filer database. ![](MountWrite.png)