aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2013-03-22 23:42:24 -0400
committerJens Axboe <axboe@kernel.dk>2013-03-23 00:22:15 -0400
commit66311274691ec65972cad3626057fa8d00c146d8 (patch)
tree218017587f9f10069585f7ad6f3da6fd363d7923 /include
parenta937536b868b8369b98967929045f1df54234323 (diff)
block: add a flag to identify PM request
Add a flag REQ_PM to identify the request is PM related, such requests will not change the device request queue's runtime status. It is intended to be used in driver's runtime PM callback, so that driver can perform some IO to the device there with the queue's runtime status unaffected. e.g. in SCSI disk's runtime suspend callback, the disk will be put into stopped power state, and this require sending a command to the device. Such command processing should not change the disk's runtime status. Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Aaron Lu <aaron.lu@intel.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include')
-rw-r--r--include/linux/blk_types.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index cdf11191e645..fcc1ce28d5ca 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -175,6 +175,7 @@ enum rq_flag_bits {
175 __REQ_IO_STAT, /* account I/O stat */ 175 __REQ_IO_STAT, /* account I/O stat */
176 __REQ_MIXED_MERGE, /* merge of different types, fail separately */ 176 __REQ_MIXED_MERGE, /* merge of different types, fail separately */
177 __REQ_KERNEL, /* direct IO to kernel pages */ 177 __REQ_KERNEL, /* direct IO to kernel pages */
178 __REQ_PM, /* runtime pm request */
178 __REQ_NR_BITS, /* stops here */ 179 __REQ_NR_BITS, /* stops here */
179}; 180};
180 181
@@ -223,5 +224,6 @@ enum rq_flag_bits {
223#define REQ_MIXED_MERGE (1 << __REQ_MIXED_MERGE) 224#define REQ_MIXED_MERGE (1 << __REQ_MIXED_MERGE)
224#define REQ_SECURE (1 << __REQ_SECURE) 225#define REQ_SECURE (1 << __REQ_SECURE)
225#define REQ_KERNEL (1 << __REQ_KERNEL) 226#define REQ_KERNEL (1 << __REQ_KERNEL)
227#define REQ_PM (1 << __REQ_PM)
226 228
227#endif /* __LINUX_BLK_TYPES_H */ 229#endif /* __LINUX_BLK_TYPES_H */