40#define device_entry(pos) list_container(pos, pnfs_file_device, entry)
44 IN const unsigned char *deviceid,
83 IN const unsigned char *deviceid,
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);
165 dprintf(
FDLVL,
"--> pnfs_file_device_list_invalidate()\n");
174 if (
device->device.layout_count) {
187 dprintf(
FDLVL,
"<-- pnfs_file_device_list_invalidate()\n");
195 IN unsigned char *deviceid,
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",
262 dprintf(
FDLVL,
"revoked file device freed after last reference\n");
276 "existing client %llu\n",
server->client->clnt_id);
277 *client_out =
server->client;
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);
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",
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void list_remove(struct list_entry *entry)
#define list_for_each_tmp(entry, tmp, head)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static struct list_entry * list_search(const struct list_entry *head, const void *value, list_compare_fn compare)
static void list_init(struct list_entry *head)
void eprintf(LPCSTR format,...)
const char * nfs_error_string(int status)
void dprint_device(int level, const struct __pnfs_file_device *device)
const char * pnfs_error_string(enum pnfs_status status)
VOID WINAPI ReleaseSRWLockShared(PSRWLOCK Lock)
VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK Lock)
VOID WINAPI AcquireSRWLockShared(PSRWLOCK Lock)
VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK Lock)
static struct all_devices * devices
GLuint GLuint GLsizei count
#define memcpy(s1, s2, n)
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)
@ NOTIFY_DEVICEID4_DELETE
@ NOTIFY_DEVICEID4_CHANGE
enum nfsstat4 pnfs_rpc_getdeviceinfo(IN nfs41_session *session, IN unsigned char *deviceid, OUT pnfs_file_device *device)
#define PNFS_DEVICEID_SIZE
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)
enum pnfs_status pnfs_file_device_notify(IN struct pnfs_file_device_list *devices, IN const struct notify_deviceid4 *change)
enum pnfs_status pnfs_file_device_list_create(OUT struct pnfs_file_device_list **devices_out)
static enum pnfs_status data_client_status(IN pnfs_data_server *server, OUT nfs41_client **client_out)
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_get(IN nfs41_session *session, IN struct pnfs_file_device_list *devices, IN unsigned char *deviceid, OUT pnfs_file_device **device_out)
static void file_device_free(IN pnfs_file_device *device)
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)
void pnfs_file_device_put(IN pnfs_file_device *device)
static int deviceid_compare(const struct list_entry *entry, const void *deviceid)
void pnfs_file_device_list_invalidate(IN struct pnfs_file_device_list *devices)
void pnfs_file_device_list_free(IN struct pnfs_file_device_list *devices)
#define device_entry(pos)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
static rfbScreenInfoPtr server
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)