• Home
  • Raw
  • Download

Lines Matching +full:d +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-
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
199 …l_o_s_e_, _c_r_e_a_t_e_, _m_k_d_i_r_, _r_m_d_i_r_, _c_h_m_o_d in a Unix
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
420 …44..11.. DDaattaa ssttrruuccttuurreess sshhaarreedd bbyy tthhee kke…
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 */
523 open and close and pass the ioctl message _a_n_d to verify that a path in
541 short in_size; /* Size of input buffer <= 2K */
542 short out_size; /* Maximum size of output buffer, <= 2K */
572 DDeessccrriippttiioonn This call is made to Venus during the initialization of
574 contains the ViceFid of the root of the Coda filesystem. If a non-zero
607 DDeessccrriippttiioonn This call is made to determine the ViceFid and filetype of
621 not be put in the kernel name cache.
652 DDeessccrriippttiioonn This call returns the attributes of the file identified by
690 DDeessccrriippttiioonn The structure attr is filled with attributes to be changed
691 in BSD style. Attributes not to be changed are set to -1, apart from
721 DDeessccrriippttiioonn Verify if access to the object identified by VFid for
762 DDeessccrriippttiioonn This upcall is invoked to request creation of a file.
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
819 DDeessccrriippttiioonn This call is similar to create but creates a directory.
829 The attributes of the parent should be returned since the size and
854 DDeessccrriippttiioonn This call creates a link to the sourceFid in the directory
883 DDeessccrriippttiioonn Create a symbolic link. The link is to be placed in the
891 its size changed.
914 DDeessccrriippttiioonn Remove file named cfs_remove_in.name in directory
920 mtime and size may change.
943 DDeessccrriippttiioonn Remove the directory with name name from the directory
949 its mtime and size may change.
977 DDeessccrriippttiioonn This routine reads the contents of symbolic link
1010 DDeessccrriippttiioonn This request asks Venus to place the file identified by
1011 VFid in its cache and to note that the calling process wishes to open
1045 DDeessccrriippttiioonn Close the file identified by VFid.
1056 currently Venus might think a file can be flushed from the cache when
1090 DDeessccrriippttiioonn Do an ioctl operation on a file. The command, len and
1122 DDeessccrriippttiioonn Rename the object with name srcname in directory
1152 int size;
1158 DDeessccrriippttiioonn Read directory entries from VFid starting at offset and
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.
1194 DDeessccrriippttiioonn This upcall asks Venus to do a get operation on an fsobj
1201 These can be "pinned" in the Venus cache using vget and released with
1224 DDeessccrriippttiioonn Ask Venus to update RVM attributes of object VFid. This
1252 DDeessccrriippttiioonn This operation returns EOPNOTSUPP.
1291 DDeessccrriippttiioonn This upcall asks Venus to read or write from a file.
1326 DDeessccrriippttiioonn Asks Venus to return the rootfid of a Coda system named
1350 DDeessccrriippttiioonn
1358 44..2266.. ooddyy__eexxppaanndd
1370 DDeessccrriippttiioonn
1390 DDeessccrriippttiioonn Venus worker.cc has support for this call, although it is
1413 DDeessccrriippttiioonn This is an out-of-band upcall to Venus to inform Venus
1429 55.. TThhee mmiinniiccaacchhee aanndd ddoowwnnccaallllss
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
1481 SSuummmmaarryy Flush the name cache entirely.
1483 DDeessccrriippttiioonn Venus issues this call upon startup and when it dies. This
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 */
1515 DDeessccrriippttiioonn Remove all entries which have the (dir vnode, name) pair.
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
1558 55..77.. PPUURRGGEEFFIIDD
1565 struct cfs_purgefid_out { /* CFS_PURGEFID is a venus->kernel call */
1571 DDeessccrriippttiioonn Flush the attribute for the file. If it is a dir (odd
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