#define RANK_vigorOnlineLock (RANK_libLockBase + 0x4400)
#define RANK_vigorOfflineLock (RANK_libLockBase + 0x4410)
+/*
+ * The lock range for IO filters:
+ * [RANK_libLockBase + 0x4420 , RANK_libLockBase + 0x442F]
+ *
+ * (must be > vigor and < filtlib, see PR 2613901)
+ * Inbox filters may need to use lock ranks and these filters can be loaded
+ * under Vigor-Offline. Therefore, any lock used by a filter in its callbacks
+ * should have a rank greater than RANK_vigorOfflineLock. Moreover, filter lock
+ * ranks should be lower than RANK_filtLibPollLock because these filters use
+ * VMIOF APIs and an API like "VMIOF_TimerAdd" which holds RANK_filtLibPollLock,
+ * cannot be invoked while holding a filter lock.
+ */
+#define RANK_ioFiltersBase (RANK_libLockBase + 0x4420)
+
/*
* filtlib (must be > vigor and < disklib and workercmlp, PR 1340298)
*/
-#define RANK_filtLibPollLock (RANK_vigorOfflineLock + 1)
+#define RANK_filtLibPollLock (RANK_libLockBase + 0x4430)
/*
* filtib lock which protects a disk's allocation bitmap state.