Changes between Version 2 and Version 3 of Semantics


Ignore:
Timestamp:
Apr 28, 2011 5:04:41 PM (6 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