#define AFS_WORK_ENUMERATE_GLOBAL_ROOT 0x0006
#define AFS_WORK_INVALIDATE_OBJECT 0x0007
#define AFS_WORK_START_IOS 0x0008
+#define AFS_WORK_DEFERRED_WRITE 0x0009
//
// Worker request flags
#define AFS_OBJECT_HELD_IN_SERVICE 0x00000080
#define AFS_OBJECT_ROOT_VOLUME 0x00000100
#define AFS_OBJECT_FLAGS_VERIFY_DATA 0x00000200
+#define AFS_OBJECT_FLAGS_PARENT_FID 0x00000400
+
+//
+// Object information reference count reasons
+//
+
+#define AFS_OBJECT_REFERENCE_DIRENTRY 0
+#define AFS_OBJECT_REFERENCE_CHILD 1
+#define AFS_OBJECT_REFERENCE_INVALIDATION 2
+#define AFS_OBJECT_REFERENCE_GLOBAL 3
+#define AFS_OBJECT_REFERENCE_EXTENTS 4
+#define AFS_OBJECT_REFERENCE_WORKER 5
+#define AFS_OBJECT_REFERENCE_STATUS 6
+#define AFS_OBJECT_REFERENCE_FIND 7
+#define AFS_OBJECT_REFERENCE_FS_REQ 8
+#define AFS_OBJECT_REFERENCE_MAX 9
+
+//
+// Volume reference count reasons
+//
+
+#define AFS_VOLUME_REFERENCE_INVALID 0
+#define AFS_VOLUME_REFERENCE_EXTENTS 1
+#define AFS_VOLUME_REFERENCE_GLOBAL_ROOT 2
+#define AFS_VOLUME_REFERENCE_INVALIDATE 3
+#define AFS_VOLUME_REFERENCE_FILE_ATTRS 4
+#define AFS_VOLUME_REFERENCE_EVAL_ROOT 5
+#define AFS_VOLUME_REFERENCE_GET_OBJECT 6
+#define AFS_VOLUME_REFERENCE_MOUNTPT 7
+#define AFS_VOLUME_REFERENCE_BUILD_ROOT 8
+#define AFS_VOLUME_REFERENCE_LOCATE_NAME 9
+#define AFS_VOLUME_REFERENCE_PARSE_NAME 10
+#define AFS_VOLUME_REFERENCE_MAX 12
//
// Define one second in terms of 100 nS units
// Fcb lifetime in seconds
//
-#define AFS_OBJECT_LIFETIME 600 * AFS_ONE_SECOND
+#define AFS_OBJECT_LIFETIME 20 * AFS_ONE_SECOND
#define AFS_EXTENT_REQUEST_TIME 10 * AFS_ONE_SECOND
((((ULONG)(Ptr)) + 7) & 0xfffffff8) \
)
-#define CRC32_POLYNOMIAL 0xEDB88320L;
+#define CRC32_POLYNOMIAL 0xEDB88320L
#define AFS_SERVER_FLUSH_DELAY (5LL * AFS_ONE_SECOND)
#define AFS_SERVER_PURGE_DELAY (300LL * AFS_ONE_SECOND)
#define CCB_FLAG_MASK_PIOCTL_QUERY 0x00000040
#define CCB_FLAG_MASK_OPENED_REPARSE_POINT 0x00000080
#define CCB_FLAG_INSERTED_CCB_LIST 0x00000100
+#define CCB_FLAG_DIRECTORY_QUERY_DIRECT_QUERY 0x00000200
//
// DirEntry flags
#define AFS_MAXIMUM_EXTENT_RELEASE_COUNT 100
-#define AFS_DIRTY_CHUNK_THRESHOLD 2
+#define AFS_DIRTY_CHUNK_THRESHOLD 64
// {41966169-3FD7-4392-AFE4-E6A9D0A92C72} - generated using guidgen.exe
DEFINE_GUID (GUID_SD_AFS_REDIRECTOR_CONTROL_OBJECT,