]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/device-mapper.h
[POWERPC] iSeries: Use alternate paca structure for booting
[linux-2.6-omap-h63xx.git] / include / linux / device-mapper.h
index 03ef41c1eaac346b441a00a54048818b7f35c60f..cb784579956bb35a3f11abde8178ce6ba2da1e44 100644 (file)
@@ -39,7 +39,8 @@ typedef void (*dm_dtr_fn) (struct dm_target *ti);
  * The map function must return:
  * < 0: error
  * = 0: The target will handle the io by resubmitting it later
- * > 0: simple remap complete
+ * = 1: simple remap complete
+ * = 2: The target wants to push back the io
  */
 typedef int (*dm_map_fn) (struct dm_target *ti, struct bio *bio,
                          union map_info *map_context);
@@ -50,6 +51,7 @@ typedef int (*dm_map_fn) (struct dm_target *ti, struct bio *bio,
  * 0   : ended successfully
  * 1   : for some reason the io has still not completed (eg,
  *       multipath target might want to requeue a failed io).
+ * 2   : The target wants to push back the io
  */
 typedef int (*dm_endio_fn) (struct dm_target *ti,
                            struct bio *bio, int error,
@@ -108,13 +110,15 @@ struct target_type {
 };
 
 struct io_restrictions {
-       unsigned int            max_sectors;
-       unsigned short          max_phys_segments;
-       unsigned short          max_hw_segments;
-       unsigned short          hardsect_size;
-       unsigned int            max_segment_size;
-       unsigned long           seg_boundary_mask;
-       unsigned char           no_cluster; /* inverted so that 0 is default */
+       unsigned long bounce_pfn;
+       unsigned long seg_boundary_mask;
+       unsigned max_hw_sectors;
+       unsigned max_sectors;
+       unsigned max_segment_size;
+       unsigned short hardsect_size;
+       unsigned short max_hw_segments;
+       unsigned short max_phys_segments;
+       unsigned char no_cluster; /* inverted so that 0 is default */
 };
 
 struct dm_target {
@@ -173,7 +177,7 @@ void *dm_get_mdptr(struct mapped_device *md);
 /*
  * A device can still be used while suspended, but I/O is deferred.
  */
-int dm_suspend(struct mapped_device *md, int with_lockfs);
+int dm_suspend(struct mapped_device *md, unsigned suspend_flags);
 int dm_resume(struct mapped_device *md);
 
 /*
@@ -181,13 +185,17 @@ int dm_resume(struct mapped_device *md);
  */
 uint32_t dm_get_event_nr(struct mapped_device *md);
 int dm_wait_event(struct mapped_device *md, int event_nr);
+uint32_t dm_next_uevent_seq(struct mapped_device *md);
+void dm_uevent_add(struct mapped_device *md, struct list_head *elist);
 
 /*
  * Info functions.
  */
 const char *dm_device_name(struct mapped_device *md);
+int dm_copy_name_and_uuid(struct mapped_device *md, char *name, char *uuid);
 struct gendisk *dm_disk(struct mapped_device *md);
 int dm_suspended(struct mapped_device *md);
+int dm_noflush_suspending(struct dm_target *ti);
 
 /*
  * Geometry functions.