| nfs-ganesha 1.4 | 
Management of the file content cache: read/write operations. More...
#include "fsal.h"#include "LRU_List.h"#include "log.h"#include "HashData.h"#include "HashTable.h"#include "cache_inode.h"#include "cache_content.h"#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/param.h>#include <time.h>#include <pthread.h>Go to the source code of this file.
| Functions | |
| cache_content_status_t | cache_content_open (cache_content_entry_t *pentry, cache_content_client_t *pclient, cache_content_status_t *pstatus) | 
| cache_content_status_t | cache_content_close (cache_content_entry_t *pentry, cache_content_client_t *pclient, cache_content_status_t *pstatus) | 
| cache_content_status_t | cache_content_rdwr (cache_content_entry_t *pentry, cache_inode_io_direction_t read_or_write, uint64_t offset, size_t *pio_size_in, size_t *pio_size_out, void *buffer, fsal_boolean_t *p_fsal_eof, struct stat *pbuffstat, cache_content_client_t *pclient, fsal_op_context_t *pcontext, cache_content_status_t *pstatus) | 
Management of the file content cache: read/write operations.
cache_content_rdwr.c.c : Management of the file content cache, read and write operations.
Definition in file cache_content_rdwr.c.
| cache_content_status_t cache_content_close | ( | cache_content_entry_t * | pentry, | 
| cache_content_client_t * | pclient, | ||
| cache_content_status_t * | pstatus | ||
| ) | 
cache_content_close: closes the local fd on the cache.
Closes the local fd on the cache.
No lock management is done in this layer: the related pentry in the cache inode layer is locked and will prevent from concurent accesses.
| pentry | [IN] entry in file content layer whose content is to be accessed. | 
| pclient | [IN] ressource allocated by the client for the nfs management. [OUT] returned status. | 
Definition at line 152 of file cache_content_rdwr.c.
| cache_content_status_t cache_content_open | ( | cache_content_entry_t * | pentry, | 
| cache_content_client_t * | pclient, | ||
| cache_content_status_t * | pstatus | ||
| ) | 
cache_content_open: opens the local fd on the cache.
Opens the local fd on the cache.
No lock management is done in this layer: the related pentry in the cache inode layer is locked and will prevent from concurent accesses.
| pentry | [IN] entry in file content layer whose content is to be accessed. | 
| pclient | [IN] ressource allocated by the client for the nfs management. [OUT] returned status. | 
Definition at line 81 of file cache_content_rdwr.c.
| cache_content_status_t cache_content_rdwr | ( | cache_content_entry_t * | pentry, | 
| cache_inode_io_direction_t | read_or_write, | ||
| uint64_t | offset, | ||
| size_t * | pio_size_in, | ||
| size_t * | pio_size_out, | ||
| void * | buffer, | ||
| fsal_boolean_t * | p_fsal_eof, | ||
| struct stat * | pbuffstat, | ||
| cache_content_client_t * | pclient, | ||
| fsal_op_context_t * | pcontext, | ||
| cache_content_status_t * | pstatus | ||
| ) | 
cache_content_rdwr: Reads/Writes through the cache layer.
Reads/Writes through the cache layer. This routine should be called only from the cache_inode layer.
No lock management is done in this layer: the related pentry in the cache inode layer is locked and will prevent from concurent accesses.
| pentry | [IN] entry in file content layer whose content is to be accessed. | 
| read_or_write | [IN] a flag of type cache_content_io_direction_t to tell if a read or write is to be done. | 
| offset | [IN] absolute position (in the FSAL file) where the IO will be done. | 
| pio_size_in | [IN] requested io size | 
| pio_size_out | [OUT] the size of the io that was successfully made. | 
| pbuffstat | [OUT] the 'stat' of entry in the data cache after the operation | 
| buffer | write:[IN] read:[OUT] the buffer for the data. | 
| pclient | [IN] ressource allocated by the client for the nfs management. | 
| pcontext | [IN] fsal credentials for the operation. [OUT] returned status. | 
Definition at line 203 of file cache_content_rdwr.c.
 1.7.3
 1.7.3