diff options
-rw-r--r-- | drivers/md/dm-ioctl.c | 4 | ||||
-rw-r--r-- | drivers/md/dm.h | 1 | ||||
-rw-r--r-- | include/linux/dm-ioctl.h | 9 |
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 */ |