|
@@ -166,27 +166,32 @@ typedef enum {
|
|
|
#define DM_FLAGS_NDELAY 0x001 /* return EAGAIN after dm_pending() */
|
|
|
#define DM_FLAGS_UNWANTED 0x002 /* event not in fsys dm_eventset_t */
|
|
|
#define DM_FLAGS_ISEM 0x004 /* thread holds i_sem */
|
|
|
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
|
|
|
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,21)
|
|
|
-/* i_alloc_sem was added in 2.4.22-pre1 */
|
|
|
#define DM_FLAGS_IALLOCSEM_RD 0x010 /* thread holds i_alloc_sem rd */
|
|
|
#define DM_FLAGS_IALLOCSEM_WR 0x020 /* thread holds i_alloc_sem wr */
|
|
|
-#endif
|
|
|
-#endif
|
|
|
|
|
|
/*
|
|
|
* Based on IO_ISDIRECT, decide which i_ flag is set.
|
|
|
*/
|
|
|
-#ifdef DM_FLAGS_IALLOCSEM_RD
|
|
|
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
|
|
|
+#define DM_SEM_FLAG_RD(ioflags) (((ioflags) & IO_ISDIRECT) ? \
|
|
|
+ DM_FLAGS_ISEM : 0)
|
|
|
+#define DM_SEM_FLAG_WR (DM_FLAGS_IALLOCSEM_WR | DM_FLAGS_ISEM)
|
|
|
+#endif
|
|
|
+
|
|
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)) && \
|
|
|
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,22))
|
|
|
#define DM_SEM_FLAG_RD(ioflags) (((ioflags) & IO_ISDIRECT) ? \
|
|
|
DM_FLAGS_IALLOCSEM_RD : DM_FLAGS_ISEM)
|
|
|
#define DM_SEM_FLAG_WR (DM_FLAGS_IALLOCSEM_WR | DM_FLAGS_ISEM)
|
|
|
-#else
|
|
|
+#endif
|
|
|
+
|
|
|
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,21)
|
|
|
#define DM_SEM_FLAG_RD(ioflags) (((ioflags) & IO_ISDIRECT) ? \
|
|
|
0 : DM_FLAGS_ISEM)
|
|
|
#define DM_SEM_FLAG_WR (DM_FLAGS_ISEM)
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
/*
|
|
|
* Macros to turn caller specified delay/block flags into
|
|
|
* dm_send_xxxx_event flag DM_FLAGS_NDELAY.
|
|
@@ -209,8 +214,4 @@ void xfs_dm_exit(struct file_system_type *);
|
|
|
#define XFS_DM_EXIT(fstype)
|
|
|
#endif
|
|
|
|
|
|
-#define HAVE_XFS_DM_MM
|
|
|
-int xfs_dm_mm_get(struct vm_area_struct *vma);
|
|
|
-void xfs_dm_mm_put(struct vm_area_struct *vma);
|
|
|
-
|
|
|
#endif /* __XFS_DMAPI_H__ */
|