mirror of
https://github.com/torvalds/linux
synced 2024-10-14 23:39:09 +00:00
block-6.4-2023-05-13
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmRfkqYQHGF4Ym9lQGtl cm5lbC5kawAKCRD301j7KXHgptznD/9PB1uPQEZ6hDaCg31XBmbe4m6sRcAEaNr0 RO18W8A8TYgxxpaQubPm53+sMFoaSc3oH7Ingu1iBfZdNY/5sY2hfgQW+M9NGoXa uSeibVThihngeLVrWIks/w9k2UL+80Xs8THH/b+AQISK3gVqrPkpFcAybIGSPOZS LiB3MbEbvGyxfKe64pRBPOZ3B6nedKHqpQ24g6XR9tx0dwtOUWWn6Len+4yPE1j7 Isd9OVMZEvw1orIVNe5y+FzJfoezGAMrHxTaQ+sGZj5JjaFzrFFfn9BeD9kMAxFd 8OoWRAUQWGD3yrxQ8Dd9jEdGfvNQHKmiFb9nygPPBUmgNmGct6O9lWyUWCKV121+ 7m6ThdZLLYS9G555BZjI/4ubHtl/Y4upsHI5Ixbnmgvrp3tFyaX1ids5VNJPgKaH lrrlQ307tIMDp1q2xcunE3uBE4/eBewnQ74S0rvtpvBM3UV6iDBLEkBQ/+5WPw0q qAgQwDkTr+uzudkOUhJDa5VWzNY521ALLmc94d+4bOawiY9YYjuxV0ORVa6s4V2a Ez6Gj9O06h3Ndg0UbDvUOE4YF4fmBezbLdbS10gcRCR9L/VZMG44jfHualgrfXmN efZrK5YUHaSkwllsN2OSkYaH0/iG63yEHOc9sL1lfRQfUEVOWSUqkkrsPwSlG2E8 FC4b6BEpQA== =8fWJ -----END PGP SIGNATURE----- Merge tag 'block-6.4-2023-05-13' of git://git.kernel.dk/linux Pull block fixes from Jens Axboe: "Just a few minor fixes for drivers, and a deletion of a file that is woefully out-of-date these days" * tag 'block-6.4-2023-05-13' of git://git.kernel.dk/linux: Documentation/block: drop the request.rst file ublk: fix command op code check block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE nbd: Fix debugfs_create_dir error checking
This commit is contained in:
commit
d4d58949a6
|
@ -18,7 +18,6 @@ Block
|
||||||
kyber-iosched
|
kyber-iosched
|
||||||
null_blk
|
null_blk
|
||||||
pr
|
pr
|
||||||
request
|
|
||||||
stat
|
stat
|
||||||
switching-sched
|
switching-sched
|
||||||
writeback_cache_control
|
writeback_cache_control
|
||||||
|
|
|
@ -1,99 +0,0 @@
|
||||||
============================
|
|
||||||
struct request documentation
|
|
||||||
============================
|
|
||||||
|
|
||||||
Jens Axboe <jens.axboe@oracle.com> 27/05/02
|
|
||||||
|
|
||||||
|
|
||||||
.. FIXME:
|
|
||||||
No idea about what does mean - seems just some noise, so comment it
|
|
||||||
|
|
||||||
1.0
|
|
||||||
Index
|
|
||||||
|
|
||||||
2.0 Struct request members classification
|
|
||||||
|
|
||||||
2.1 struct request members explanation
|
|
||||||
|
|
||||||
3.0
|
|
||||||
|
|
||||||
|
|
||||||
2.0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Short explanation of request members
|
|
||||||
====================================
|
|
||||||
|
|
||||||
Classification flags:
|
|
||||||
|
|
||||||
= ====================
|
|
||||||
D driver member
|
|
||||||
B block layer member
|
|
||||||
I I/O scheduler member
|
|
||||||
= ====================
|
|
||||||
|
|
||||||
Unless an entry contains a D classification, a device driver must not access
|
|
||||||
this member. Some members may contain D classifications, but should only be
|
|
||||||
access through certain macros or functions (eg ->flags).
|
|
||||||
|
|
||||||
<linux/blkdev.h>
|
|
||||||
|
|
||||||
=============================== ======= =======================================
|
|
||||||
Member Flag Comment
|
|
||||||
=============================== ======= =======================================
|
|
||||||
struct list_head queuelist BI Organization on various internal
|
|
||||||
queues
|
|
||||||
|
|
||||||
``void *elevator_private`` I I/O scheduler private data
|
|
||||||
|
|
||||||
unsigned char cmd[16] D Driver can use this for setting up
|
|
||||||
a cdb before execution, see
|
|
||||||
blk_queue_prep_rq
|
|
||||||
|
|
||||||
unsigned long flags DBI Contains info about data direction,
|
|
||||||
request type, etc.
|
|
||||||
|
|
||||||
int rq_status D Request status bits
|
|
||||||
|
|
||||||
kdev_t rq_dev DBI Target device
|
|
||||||
|
|
||||||
int errors DB Error counts
|
|
||||||
|
|
||||||
sector_t sector DBI Target location
|
|
||||||
|
|
||||||
unsigned long hard_nr_sectors B Used to keep sector sane
|
|
||||||
|
|
||||||
unsigned long nr_sectors DBI Total number of sectors in request
|
|
||||||
|
|
||||||
unsigned long hard_nr_sectors B Used to keep nr_sectors sane
|
|
||||||
|
|
||||||
unsigned short nr_phys_segments DB Number of physical scatter gather
|
|
||||||
segments in a request
|
|
||||||
|
|
||||||
unsigned short nr_hw_segments DB Number of hardware scatter gather
|
|
||||||
segments in a request
|
|
||||||
|
|
||||||
unsigned int current_nr_sectors DB Number of sectors in first segment
|
|
||||||
of request
|
|
||||||
|
|
||||||
unsigned int hard_cur_sectors B Used to keep current_nr_sectors sane
|
|
||||||
|
|
||||||
int tag DB TCQ tag, if assigned
|
|
||||||
|
|
||||||
``void *special`` D Free to be used by driver
|
|
||||||
|
|
||||||
``char *buffer`` D Map of first segment, also see
|
|
||||||
section on bouncing SECTION
|
|
||||||
|
|
||||||
``struct completion *waiting`` D Can be used by driver to get signalled
|
|
||||||
on request completion
|
|
||||||
|
|
||||||
``struct bio *bio`` DBI First bio in request
|
|
||||||
|
|
||||||
``struct bio *biotail`` DBI Last bio in request
|
|
||||||
|
|
||||||
``struct request_queue *q`` DB Request queue this request belongs to
|
|
||||||
|
|
||||||
``struct request_list *rl`` B Request list this request came from
|
|
||||||
=============================== ======= =======================================
|
|
|
@ -1666,7 +1666,7 @@ static int nbd_dev_dbg_init(struct nbd_device *nbd)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
dir = debugfs_create_dir(nbd_name(nbd), nbd_dbg_dir);
|
dir = debugfs_create_dir(nbd_name(nbd), nbd_dbg_dir);
|
||||||
if (!dir) {
|
if (IS_ERR(dir)) {
|
||||||
dev_err(nbd_to_dev(nbd), "Failed to create debugfs dir for '%s'\n",
|
dev_err(nbd_to_dev(nbd), "Failed to create debugfs dir for '%s'\n",
|
||||||
nbd_name(nbd));
|
nbd_name(nbd));
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
@ -1692,7 +1692,7 @@ static int nbd_dbg_init(void)
|
||||||
struct dentry *dbg_dir;
|
struct dentry *dbg_dir;
|
||||||
|
|
||||||
dbg_dir = debugfs_create_dir("nbd", NULL);
|
dbg_dir = debugfs_create_dir("nbd", NULL);
|
||||||
if (!dbg_dir)
|
if (IS_ERR(dbg_dir))
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
nbd_dbg_dir = dbg_dir;
|
nbd_dbg_dir = dbg_dir;
|
||||||
|
|
|
@ -241,7 +241,7 @@ static inline blk_opf_t rnbd_to_bio_flags(u32 rnbd_opf)
|
||||||
bio_opf = REQ_OP_WRITE;
|
bio_opf = REQ_OP_WRITE;
|
||||||
break;
|
break;
|
||||||
case RNBD_OP_FLUSH:
|
case RNBD_OP_FLUSH:
|
||||||
bio_opf = REQ_OP_FLUSH | REQ_PREFLUSH;
|
bio_opf = REQ_OP_WRITE | REQ_PREFLUSH;
|
||||||
break;
|
break;
|
||||||
case RNBD_OP_DISCARD:
|
case RNBD_OP_DISCARD:
|
||||||
bio_opf = REQ_OP_DISCARD;
|
bio_opf = REQ_OP_DISCARD;
|
||||||
|
|
|
@ -1281,7 +1281,7 @@ static inline int ublk_check_cmd_op(u32 cmd_op)
|
||||||
{
|
{
|
||||||
u32 ioc_type = _IOC_TYPE(cmd_op);
|
u32 ioc_type = _IOC_TYPE(cmd_op);
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_BLKDEV_UBLK_LEGACY_OPCODES) && ioc_type != 'u')
|
if (!IS_ENABLED(CONFIG_BLKDEV_UBLK_LEGACY_OPCODES) && ioc_type != 'u')
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
if (ioc_type != 'u' && ioc_type != 0)
|
if (ioc_type != 'u' && ioc_type != 0)
|
||||||
|
|
Loading…
Reference in a new issue