aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/dm-ioctl.c4
-rw-r--r--drivers/md/dm.h1
-rw-r--r--include/linux/dm-ioctl.h9
3 files changed, 12 insertions, 2 deletions
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
index 6d7a3d0c8f88..cd6a184536a1 100644
--- a/drivers/md/dm-ioctl.c
+++ b/drivers/md/dm-ioctl.c
@@ -774,6 +774,8 @@ static int do_suspend(struct dm_ioctl *param)
774 774
775 if (param->flags & DM_SKIP_LOCKFS_FLAG) 775 if (param->flags & DM_SKIP_LOCKFS_FLAG)
776 suspend_flags &= ~DM_SUSPEND_LOCKFS_FLAG; 776 suspend_flags &= ~DM_SUSPEND_LOCKFS_FLAG;
777 if (param->flags & DM_NOFLUSH_FLAG)
778 suspend_flags |= DM_SUSPEND_NOFLUSH_FLAG;
777 779
778 if (!dm_suspended(md)) 780 if (!dm_suspended(md))
779 r = dm_suspend(md, suspend_flags); 781 r = dm_suspend(md, suspend_flags);
@@ -815,6 +817,8 @@ static int do_resume(struct dm_ioctl *param)
815 /* Suspend if it isn't already suspended */ 817 /* Suspend if it isn't already suspended */
816 if (param->flags & DM_SKIP_LOCKFS_FLAG) 818 if (param->flags & DM_SKIP_LOCKFS_FLAG)
817 suspend_flags &= ~DM_SUSPEND_LOCKFS_FLAG; 819 suspend_flags &= ~DM_SUSPEND_LOCKFS_FLAG;
820 if (param->flags & DM_NOFLUSH_FLAG)
821 suspend_flags |= DM_SUSPEND_NOFLUSH_FLAG;
818 if (!dm_suspended(md)) 822 if (!dm_suspended(md))
819 dm_suspend(md, suspend_flags); 823 dm_suspend(md, suspend_flags);
820 824
diff --git a/drivers/md/dm.h b/drivers/md/dm.h
index 293d5ce62a21..c307ca9a4c33 100644
--- a/drivers/md/dm.h
+++ b/drivers/md/dm.h
@@ -47,6 +47,7 @@
47 * Suspend feature flags 47 * Suspend feature flags
48 */ 48 */
49#define DM_SUSPEND_LOCKFS_FLAG (1 << 0) 49#define DM_SUSPEND_LOCKFS_FLAG (1 << 0)
50#define DM_SUSPEND_NOFLUSH_FLAG (1 << 1)
50 51
51/* 52/*
52 * List of devices that a metadevice uses and should open/close. 53 * List of devices that a metadevice uses and should open/close.
diff --git a/include/linux/dm-ioctl.h b/include/linux/dm-ioctl.h
index 8853fc4d1c5e..b93486107821 100644
--- a/include/linux/dm-ioctl.h
+++ b/include/linux/dm-ioctl.h
@@ -285,9 +285,9 @@ typedef char ioctl_struct[308];
285#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) 285#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
286 286
287#define DM_VERSION_MAJOR 4 287#define DM_VERSION_MAJOR 4
288#define DM_VERSION_MINOR 10 288#define DM_VERSION_MINOR 11
289#define DM_VERSION_PATCHLEVEL 0 289#define DM_VERSION_PATCHLEVEL 0
290#define DM_VERSION_EXTRA "-ioctl (2006-09-14)" 290#define DM_VERSION_EXTRA "-ioctl (2006-10-12)"
291 291
292/* Status bits */ 292/* Status bits */
293#define DM_READONLY_FLAG (1 << 0) /* In/Out */ 293#define DM_READONLY_FLAG (1 << 0) /* In/Out */
@@ -323,4 +323,9 @@ typedef char ioctl_struct[308];
323 */ 323 */
324#define DM_SKIP_LOCKFS_FLAG (1 << 10) /* In */ 324#define DM_SKIP_LOCKFS_FLAG (1 << 10) /* In */
325 325
326/*
327 * Set this to suspend without flushing queued ios.
328 */
329#define DM_NOFLUSH_FLAG (1 << 11) /* In */
330
326#endif /* _LINUX_DM_IOCTL_H */ 331#endif /* _LINUX_DM_IOCTL_H */