#include <windows.h>
#include <strsafe.h>
#include <stdio.h>
#include "nfs41_ops.h"
#include "nfs41_callback.h"
#include "daemon_debug.h"
Go to the source code of this file.
|
static enum pnfs_status | file_device_create (IN const unsigned char *deviceid, IN struct pnfs_file_device_list *devices, OUT pnfs_file_device **device_out) |
|
static void | file_device_free (IN pnfs_file_device *device) |
|
static int | deviceid_compare (const struct list_entry *entry, const void *deviceid) |
|
static enum pnfs_status | file_device_find_or_create (IN const unsigned char *deviceid, IN struct pnfs_file_device_list *devices, OUT pnfs_file_device **device_out) |
|
enum pnfs_status | pnfs_file_device_list_create (OUT struct pnfs_file_device_list **devices_out) |
|
void | pnfs_file_device_list_free (IN struct pnfs_file_device_list *devices) |
|
void | pnfs_file_device_list_invalidate (IN struct pnfs_file_device_list *devices) |
|
enum pnfs_status | pnfs_file_device_get (IN nfs41_session *session, IN struct pnfs_file_device_list *devices, IN unsigned char *deviceid, OUT pnfs_file_device **device_out) |
|
void | pnfs_file_device_put (IN pnfs_file_device *device) |
|
static enum pnfs_status | data_client_status (IN pnfs_data_server *server, OUT nfs41_client **client_out) |
|
enum pnfs_status | pnfs_data_server_client (IN nfs41_root *root, IN pnfs_data_server *server, IN uint32_t default_lease, OUT nfs41_client **client_out) |
|
enum pnfs_status | pnfs_file_device_notify (IN struct pnfs_file_device_list *devices, IN const struct notify_deviceid4 *change) |
|
◆ device_entry
◆ FDLVL
◆ data_client_status()
◆ deviceid_compare()
◆ file_device_create()
Definition at line 43 of file pnfs_device.c.
#define PNFS_DEVICEID_SIZE
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
#define memcpy(s1, s2, n)
static SERVICE_STATUS status
Referenced by file_device_find_or_create().
◆ file_device_find_or_create()
Definition at line 82 of file pnfs_device.c.
90 dprintf(
FDLVL,
"--> pnfs_file_device_find_or_create()\n");
106 "returning new device %p\n",
device);
116 "returning existing device %p\n", *device_out);
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define device_entry(pos)
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
const char * pnfs_error_string(enum pnfs_status status)
static enum pnfs_status file_device_create(IN const unsigned char *deviceid, IN struct pnfs_file_device_list *devices, OUT pnfs_file_device **device_out)
static struct list_entry * list_search(const struct list_entry *head, const void *value, list_compare_fn compare)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static int deviceid_compare(const struct list_entry *entry, const void *deviceid)
static SERVICE_STATUS status
Referenced by pnfs_file_device_get().
◆ file_device_free()
◆ pnfs_data_server_client()
Definition at line 283 of file pnfs_device.c.
293 server->addrs.arr[0].uaddr);
310 dprintf(
FDLVL,
"data_client_create('%s') failed with %d\n",
313 *client_out =
server->client;
316 dprintf(
FDLVL,
"pnfs_data_server_client() returning new client " 317 "%llu\n",
server->client->clnt_id);
static rfbScreenInfoPtr server
VOID WINAPI AcquireSRWLockShared(PSRWLOCK Lock)
int nfs41_root_mount_addrs(IN nfs41_root *root, IN const multi_addr4 *addrs, IN bool_t is_data, IN OPTIONAL uint32_t lease_time, OUT nfs41_client **client_out)
VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK Lock)
static enum pnfs_status data_client_status(IN pnfs_data_server *server, OUT nfs41_client **client_out)
static SERVICE_STATUS status
VOID WINAPI ReleaseSRWLockShared(PSRWLOCK Lock)
VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK Lock)
◆ pnfs_file_device_get()
Definition at line 192 of file pnfs_device.c.
226 eprintf(
"pnfs_rpc_getdeviceinfo() failed with %s\n",
232 device->device.layout_count++;
234 device->device.layout_count);
240 dprintf(
FDLVL,
"<-- pnfs_file_device_get() returning %s\n",
static enum pnfs_status file_device_find_or_create(IN const unsigned char *deviceid, IN struct pnfs_file_device_list *devices, OUT pnfs_file_device **device_out)
enum nfsstat4 pnfs_rpc_getdeviceinfo(IN nfs41_session *session, IN unsigned char *deviceid, OUT pnfs_file_device *device)
void eprintf(LPCSTR format,...)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
const char * pnfs_error_string(enum pnfs_status status)
const char * nfs_error_string(int status)
void dprint_device(int level, const struct __pnfs_file_device *device)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static SERVICE_STATUS status
◆ pnfs_file_device_list_create()
Definition at line 124 of file pnfs_device.c.
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static SERVICE_STATUS status
Referenced by pnfs_client_init().
◆ pnfs_file_device_list_free()
Definition at line 144 of file pnfs_device.c.
static void file_device_free(IN pnfs_file_device *device)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define device_entry(pos)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define list_for_each_tmp(entry, tmp, head)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
Referenced by nfs41_client_free().
◆ pnfs_file_device_list_invalidate()
Definition at line 159 of file pnfs_device.c.
165 dprintf(
FDLVL,
"--> pnfs_file_device_list_invalidate()\n");
174 if (
device->device.layout_count) {
187 dprintf(
FDLVL,
"<-- pnfs_file_device_list_invalidate()\n");
static void file_device_free(IN pnfs_file_device *device)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define device_entry(pos)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
#define list_for_each_tmp(entry, tmp, head)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
Referenced by file_layout_recall_all(), and file_layout_recall_fsid().
◆ pnfs_file_device_notify()
Definition at line 328 of file pnfs_device.c.
335 dprintf(
FDLVL,
"--> pnfs_file_device_notify(%u, %0llX:%0llX)\n",
336 change->type, change->deviceid);
362 dprintf(
FDLVL,
"<-- pnfs_file_device_notify() returning %s\n",
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define device_entry(pos)
const char * pnfs_error_string(enum pnfs_status status)
static struct list_entry * list_search(const struct list_entry *head, const void *value, list_compare_fn compare)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static int deviceid_compare(const struct list_entry *entry, const void *deviceid)
static SERVICE_STATUS status
Referenced by handle_cb_notify_deviceid().
◆ pnfs_file_device_put()
Definition at line 245 of file pnfs_device.c.
262 dprintf(
FDLVL,
"revoked file device freed after last reference\n");
static void file_device_free(IN pnfs_file_device *device)
GLuint GLuint GLsizei count
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
Referenced by file_layout_free().