• Home
  • Raw
  • Download

Lines Matching +full:i +full:- +full:cache +full:- +full:block +full:- +full:size

3 Coda -- this document describes the client kernel-Venus interface.
10 To run Coda you need to get a user level cache manager for the client,
29 level filesystem code needed for the operation of the Coda file sys-
148 11.. IInnttrroodduuccttiioonn
152 A key component in the Coda Distributed File System is the cache
160 client cache and makes remote procedure calls to Coda file servers and
179 leads to an almost natural environment for implementing a kernel-level
204 filesystem (VFS) layer, which is named I/O Manager in NT and IFS
209 pre-processing, the VFS starts invoking exported routines in the FS
221 offered by the cache manager Venus. When the replies from Venus have
230 which does not block Venus since Venus must attend to other tasks even
243 requesting detailed information about the persistent cache managed by
249 Finally Venus allows the kernel FS driver to cache the results from
254 to the Coda FS layer to request flushes or updates in the cache. The
271 up processes. The Coda FS driver processes VFS- and pioctl-requests
282 number, the size of the request and a pointer to the data in kernel
283 memory for the request. Since the data buffer is re-used to hold the
284 reply from Venus, there is a field for the size of the reply. A flags
325 (usually a cache eviction or replacement) and when it finishes
351 processing. The VFS routine will now continue. (-- If a VFS request
354 to indicate points of no return have been passed.--)
358 33..11.. IImmpplleemmeennttaattiioonn ddeettaaiillss
377 44.. TThhee iinntteerrffaaccee aatt tthhee ccaallll lleevveell
445 directory in the Coda filesystem within a _c_e_l_l. (-- A _c_e_l_l is a
448 detailed description of the role of the SCM.--)
462 form of a Ipv6 size IP address naming the Coda cell through DNS.
497 u_quad_t va_size; /* file size in bytes */
498 long va_blocksize; /* blocksize preferred for i/o */
514 44..22.. TThhee ppiiooccttll iinntteerrffaaccee
541 short in_size; /* Size of input buffer <= 2K */
542 short out_size; /* Maximum size of output buffer, <= 2K */
562 iinn empty
574 contains the ViceFid of the root of the Coda filesystem. If a non-zero
589 iinn
621 not be put in the kernel name cache.
635 iinn
677 iinn
691 in BSD style. Attributes not to be changed are set to -1, apart from
709 iinn
740 iinn
765 be returned if the file already exists. If the size field in attr is
787 The attributes of the directory should be returned too, since the size
799 iinn
829 The attributes of the parent should be returned since the size and
841 iinn
856 target's parent, i.e. the source must be have parent destFid, i.e. Coda
869 iinn
891 its size changed.
902 iinn
920 mtime and size may change.
931 iinn
949 its mtime and size may change.
960 iinn
992 iinn
1011 VFid in its cache and to note that the calling process wishes to open
1033 iinn
1056 currently Venus might think a file can be flushed from the cache when
1061 44..1177.. iiooccttll
1068 iinn
1108 iinn
1138 iinn
1152 int size;
1160 the size in size.
1165 files. We will re-evaluate this during the directory revamp which is
1173 SSuummmmaarryy instructs Venus to do an FSDB->Get.
1177 iinn
1201 These can be "pinned" in the Venus cache using vget and released with
1213 iinn
1234 44..2222.. iinnaaccttiivvee
1241 iinn
1267 iinn
1296 read/write operations never reach Venus. I have been told the
1310 iinn
1344 iinn irrelevant
1365 iinn irrelevant
1385 iinn Not documented.
1408 iinn none
1413 DDeessccrriippttiioonn This is an out-of-band upcall to Venus to inform Venus
1432 The Coda FS Driver can cache results of lookup and access upcalls, to
1445 The current minicache implementations have cache entries which record
1457 desired object from the cache, by passing its name, directory and the
1458 CodaCred's of the caller. The cache will return the cnode or indicate
1460 invalidate cache entries when it modifies or removes objects.
1462 When Venus obtains information that indicates that cache entries are
1464 intercepted by the Coda FS Driver and lead to cache invalidations of
1469 55..11.. IINNVVAALLIIDDAATTEE
1481 SSuummmmaarryy Flush the name cache entirely.
1484 is to prevent stale cache information being held. Some operating
1485 systems allow the kernel name cache to be switched off dynamically.
1494 struct cfs_purgeuser_out {/* CFS_PURGEUSER is a venus->kernel call */
1500 DDeessccrriippttiioonn Remove all entries in the cache carrying the Cred. This
1509 struct cfs_zapfile_out { /* CFS_ZAPFILE is a venus->kernel call */
1530 struct cfs_zapdir_out { /* CFS_ZAPDIR is a venus->kernel call */
1536 DDeessccrriippttiioonn Remove all entries in the cache lying in a directory
1547 struct cfs_zapvnode_out { /* CFS_ZAPVNODE is a venus->kernel call */
1554 DDeessccrriippttiioonn Remove all entries in the cache carrying the cred and VFid
1565 struct cfs_purgefid_out { /* CFS_PURGEFID is a venus->kernel call */
1584 struct cfs_replace_out { /* cfs_replace is a venus->kernel call */
1591 DDeessccrriippttiioonn This routine replaces a ViceFid in the name cache with
1598 66.. IInniittiiaalliizzaattiioonn aanndd cclleeaannuupp
1611 3. name cache entries
1613 The name cache entries are entirely private to the driver, so they