BLK_MAKE_REQUEST(9) Block Devices BLK_MAKE_REQUEST(9)NAME
blk_make_request - given a bio, allocate a corresponding struct request.
SYNOPSIS
struct request * blk_make_request(struct request_queue * q, struct bio * bio, gfp_t gfp_mask);
ARGUMENTS
q
target request queue
bio
The bio describing the memory mappings that will be submitted for IO. It may be a chained-bio properly constructed by block/bio layer.
gfp_mask
gfp flags to be used for memory allocation
DESCRIPTION
blk_make_request is the parallel of generic_make_request for BLOCK_PC type commands. Where the struct request needs to be farther
initialized by the caller. It is passed a struct bio, which describes the memory info of the I/O transfer.
The caller of blk_make_request must make sure that bi_io_vec are set to describe the memory buffers. That bio_data_dir will return the
needed direction of the request. (And all bio's in the passed bio-chain are properly set accordingly)
If called under none-sleepable conditions, mapped bio buffers must not need bouncing, by calling the appropriate masked or flagged
allocator, suitable for the target device. Otherwise the call to blk_queue_bounce will BUG.
WARNING
When allocating/cloning a bio-chain, careful consideration should be given to how you allocate bios. In particular, you cannot use
__GFP_WAIT for anything but the first bio in the chain. Otherwise you risk waiting for IO completion of a bio that hasn't been submitted
yet, thus resulting in a deadlock. Alternatively bios should be allocated using bio_kmalloc instead of bio_alloc, as that avoids the
mempool deadlock. If possible a big IO should be split into smaller parts when allocation fails. Partial allocation should not be an error,
or you risk a live-lock.
COPYRIGHT Kernel Hackers Manual 2.6. July 2010 BLK_MAKE_REQUEST(9)
Check Out this Related Man Page
BLK_MAKE_REQUEST(9) Block Devices BLK_MAKE_REQUEST(9)NAME
blk_make_request - given a bio, allocate a corresponding struct request.
SYNOPSIS
struct request * blk_make_request(struct request_queue * q, struct bio * bio, gfp_t gfp_mask);
ARGUMENTS
q
target request queue
bio
The bio describing the memory mappings that will be submitted for IO. It may be a chained-bio properly constructed by block/bio layer.
gfp_mask
gfp flags to be used for memory allocation
DESCRIPTION
blk_make_request is the parallel of generic_make_request for BLOCK_PC type commands. Where the struct request needs to be farther
initialized by the caller. It is passed a struct bio, which describes the memory info of the I/O transfer.
The caller of blk_make_request must make sure that bi_io_vec are set to describe the memory buffers. That bio_data_dir will return the
needed direction of the request. (And all bio's in the passed bio-chain are properly set accordingly)
If called under none-sleepable conditions, mapped bio buffers must not need bouncing, by calling the appropriate masked or flagged
allocator, suitable for the target device. Otherwise the call to blk_queue_bounce will BUG.
WARNING
When allocating/cloning a bio-chain, careful consideration should be given to how you allocate bios. In particular, you cannot use
__GFP_WAIT for anything but the first bio in the chain. Otherwise you risk waiting for IO completion of a bio that hasn't been submitted
yet, thus resulting in a deadlock. Alternatively bios should be allocated using bio_kmalloc instead of bio_alloc, as that avoids the
mempool deadlock. If possible a big IO should be split into smaller parts when allocation fails. Partial allocation should not be an error,
or you risk a live-lock.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 BLK_MAKE_REQUEST(9)
. Make a new copy of mars.txt called marsx. What happens if you give the following commands when the files bio and marsx both already exist? Don't guess, try it!
a) cp bio marsx
b) mv bio marsx (2 Replies)
Hi! I own a Qosmio f50 laptop and today i download the file from toshiba to update my bios. Everything went well until installer reaches block 16 when system freezes. I left it half an hour and then tried to power-off the pc with the button, but it dont. I unplug the ac-adaptor and the battery and... (0 Replies)