forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add bio/request flags for using ZBC/ZAC commands
T10 ZBC and T13 ZAC specify operations for Zoned devices. To be able to access the zone information and open and close zones adding flags for the report zones command (REQ_REPORT_ZONES) and for Open and Close zone (REQ_OPEN_ZONE and REQ_CLOSE_ZONE) can be added for use by struct bio's bi_rw and by struct request's cmd_flags. To reduce the number of additional flags needed REQ_RESET_ZONE shares the same flag as REQ_REPORT_ZONES and is differentiated by direction. Report zones is a device read that requires a buffer. Reset is a device command (WRITE) that has no associated data transfer. The Finish zone command is intentionally not implimented as there is no current use case for that operation. Report zones currently defaults to reporting on all zones. It expected that support for the zone option flag will piggy back on streamid support. The report option is useful as it can reduce the number of zones in each report, but not critical. Signed-off-by: Shaun Tancheff <shaun.tancheff@seagate.com>
- Loading branch information
Showing
9 changed files
with
461 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* Functions for zone based SMR devices. | ||
* | ||
* Copyright (C) 2015 Seagate Technology PLC | ||
* | ||
* Written by: | ||
* Shaun Tancheff <shaun.tancheff@seagate.com> | ||
* | ||
* This file is licensed under the terms of the GNU General Public | ||
* License version 2. This program is licensed "as is" without any | ||
* warranty of any kind, whether express or implied. | ||
*/ | ||
|
||
#ifndef _BLKZONED_API_H | ||
#define _BLKZONED_API_H | ||
|
||
#include <uapi/linux/blkzoned_api.h> | ||
|
||
extern int blkdev_issue_zone_action(struct block_device *, unsigned int bi_rw, | ||
sector_t, gfp_t); | ||
extern int blkdev_issue_zone_report(struct block_device *, unsigned int bi_rw, | ||
sector_t, u8 opt, struct page *, size_t, | ||
gfp_t); | ||
|
||
#endif /* _BLKZONED_API_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.