39 if (lhs->major > rhs->major)
return 1;
40 if (lhs->major < rhs->major)
return -1;
41 if (lhs->minor > rhs->minor)
return 1;
42 if (lhs->minor < rhs->minor)
return -1;
55 dprintf(
SBLVL,
"creating superblock for fsid(%llu,%llu)\n",
56 fsid->major, fsid->minor);
61 eprintf(
"failed to allocate superblock "
62 "for fsid(%llu,%llu)\n", fsid->major, fsid->minor);
79 bool_t supports_named_attrs;
92 attr_request.
count = 3;
99 &attr_request, &
info, &supports_named_attrs);
101 eprintf(
"nfs41_superblock_getattr() failed with %s when fetching "
121 superblock->ea_support = supports_named_attrs;
149 "maxread=%llu, maxwrite=%llu, layout_types: 0x%X, "
150 "cansettime=%u, time_delta={%llu,%u}, aclsupport=%u, "
151 "link_support=%u, symlink_support=%u, case_preserving=%u, "
152 "case_insensitive=%u\n",
185 FsAttrs->FileSystemNameLength = 0;
187 dprintf(
SBLVL,
"FileFsAttributeInformation: case_preserving %u, "
188 "case_insensitive %u, max component %u\n",
190 FsAttrs->MaximumComponentNameLength);
195#define superblock_entry(pos) list_container(pos, nfs41_superblock, entry)
244 dprintf(
SBLVL,
"--> nfs41_superblock_for_fh(fsid(%llu,%llu))\n",
245 fsid->major, fsid->minor);
261 dprintf(
SBLVL,
"found existing superblock in server list "
269 dprintf(
SBLVL,
"found newly created superblock in server list "
270 "[exclusive lock]\n");
290 dprintf(
SBLVL,
"<-- nfs41_superblock_for_fh() returning %p, status %d\n",
#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)
static __inline bool_t bitmap_isset(IN const bitmap4 *mask, IN uint32_t word, IN uint32_t flag)
void eprintf(LPCSTR format,...)
const char * nfs_error_string(int status)
VOID WINAPI ReleaseSRWLockShared(PSRWLOCK Lock)
VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK Lock)
VOID WINAPI AcquireSRWLockShared(PSRWLOCK Lock)
VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK Lock)
VOID WINAPI InitializeSRWLock(PSRWLOCK Lock)
#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES
#define FILE_SUPPORTS_REPARSE_POINTS
#define FILE_SUPPORTS_HARD_LINKS
#define FILE_SUPPORTS_REMOTE_STORAGE
#define FILE_PERSISTENT_ACLS
#define FILE_CASE_SENSITIVE_SEARCH
#define FILE_CASE_PRESERVED_NAMES
#define memcpy(s1, s2, n)
static __inline void nfs41_superblock_supported_attrs(IN const nfs41_superblock *superblock, IN OUT bitmap4 *attrs)
static __inline nfs41_server * client_server(IN nfs41_client *client)
@ FATTR4_WORD1_TIME_DELTA
@ FATTR4_WORD1_TIME_CREATE
@ FATTR4_WORD1_TIME_MODIFY
@ FATTR4_WORD0_LINK_SUPPORT
@ FATTR4_WORD0_CANSETTIME
@ FATTR4_WORD0_CASE_PRESERVING
@ FATTR4_WORD1_TIME_ACCESS
@ FATTR4_WORD0_ACLSUPPORT
@ FATTR4_WORD0_SYMLINK_SUPPORT
@ FATTR4_WORD0_SUPPORTED_ATTRS
@ FATTR4_WORD2_SUPPATTR_EXCLCREAT
@ FATTR4_WORD1_FS_LAYOUT_TYPE
@ FATTR4_WORD0_CASE_INSENSITIVE
#define NFS41_MAX_COMPONENT_LEN
int nfs41_superblock_getattr(IN nfs41_session *session, IN nfs41_path_fh *file, IN bitmap4 *attr_request, OUT nfs41_file_info *info, OUT bool_t *supports_named_attrs)
static nfs41_superblock * find_superblock(IN nfs41_superblock_list *superblocks, IN const nfs41_fsid *fsid)
void nfs41_superblock_list_init(IN nfs41_superblock_list *superblocks)
#define superblock_entry(pos)
void nfs41_superblock_list_free(IN nfs41_superblock_list *superblocks)
static int superblock_create(IN const nfs41_fsid *fsid, OUT nfs41_superblock **superblock_out)
void nfs41_superblock_fs_attributes(IN const nfs41_superblock *superblock, OUT PFILE_FS_ATTRIBUTE_INFORMATION FsAttrs)
static __inline int compare_fsid(IN const nfs41_fsid *lhs, IN const nfs41_fsid *rhs)
void nfs41_superblock_space_changed(IN nfs41_superblock *superblock)
int nfs41_superblock_for_fh(IN nfs41_session *session, IN const nfs41_fsid *fsid, IN const nfs41_fh *parent OPTIONAL, OUT nfs41_path_fh *file)
static int superblock_compare(const struct list_entry *entry, const void *value)
static int get_superblock_attrs(IN nfs41_session *session, IN nfs41_superblock *superblock, IN nfs41_path_fh *file)
PULONG MinorVersion OPTIONAL
static rfbScreenInfoPtr server
DWORD WINAPI GetLastError(void)