Changes between Version 2 and Version 3 of Semantics


Ignore:
Timestamp:
04/28/11 17:04:41 (3 years ago)
Author:
jcnelson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Semantics

    v2 v3  
    5353       * Asynchronously download the entire file and cache it locally 
    5454         * Works for small-ish files 
    55  
    56  * Synchronously download requested ranges of the file on read() 
    57    * Works for big files that can’t fit locally 
     55       * Synchronously download requested ranges of the file on read() 
     56         * Works for big files that can’t fit locally 
     57 
    5858 * Creating files 
    5959   * Via syscall (mknod, creat, open) and via metadata update 
     
    8585     * Medium files will be asynchronously downloaded straight to disk 
    8686     * Large files will not be downloaded at all--only requested chunks 
    87  
    8887   * If the file is opened with write or append flags, the file is treated as a local file.  Then, the data, when it is streamed in, will ALWAYS be cached to disk (so the application can write to it). 
    8988   * Files opened read-only will have their data streamed in from the content server, if the file’s URL is non-local. 
    9089   * Files opened with write flags will NOT have their data streamed in. 
    9190   * Caching downloaded data 
    92    * For remote files... 
    93      * Downloaded data is cached in RAM if the file is small enough, cached to disk if it is of medium-size, or not cached at all if it is too big.  The cutoff for RAM or disk is specified in the config file (under RAM_STORAGE_CUTOFF and DISK_STORAGE_CUTOFF). 
    94      * Cached data for a large file with url=URL will be stored in CACHE/SHA1(URL), where CACHE is the cache directory on disk and SHA1(URL) is the SHA-1 sum of the URL.  All I/O operations to the file in Syndicate will be forwarded to the actual file at CACHE/SHA1(URL). 
    95      * Cached data will be removed once the file is closed. 
    96    * For local files... 
    97      * A local file’s data is always kept in CACHE/SHA1(path) 
    98      * Its data is persistent, and will not be removed until the file is unlinked (or the FS is unmounted) 
    99      * Any caching that occurs for local files happens through the kernel VFS 
     91     * For remote files... 
     92       * Downloaded data is cached in RAM if the file is small enough, cached to disk if it is of medium-size, or not cached at all if it is too big.  The cutoff for RAM or disk is specified in the config file (under RAM_STORAGE_CUTOFF and DISK_STORAGE_CUTOFF). 
     93       * Cached data for a large file with url=URL will be stored in CACHE/SHA1(URL), where CACHE is the cache directory on disk and SHA1(URL) is the SHA-1 sum of the URL.  All I/O operations to the file in Syndicate will be forwarded to the actual file at CACHE/SHA1(URL). 
     94       * Cached data will be removed once the file is closed. 
     95     * For local files... 
     96       * A local file’s data is always kept in CACHE/SHA1(path) 
     97       * Its data is persistent, and will not be removed until the file is unlinked (or the FS is unmounted) 
     98       * Any caching that occurs for local files happens through the kernel VFS 
     99 
    100100 * Reading files 
    101101   * read() syscall