blk_make_request man page on Oracle

Man page or keyword search:  
man Server   33470 pages
apropos Keyword Search (all sections)
Output format
Oracle logo
[printable version]


       blk_make_request - given a bio, allocate a corresponding struct

       struct request * blk_make_request(struct request_queue * q,
					 struct bio * bio, gfp_t gfp_mask);

	   target request queue

	   The bio describing the memory mappings that will be submitted for
	   IO. It may be a chained-bio properly constructed by block/bio

	   gfp flags to be used for memory allocation

       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.

       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.

Kernel Hackers Manual 3.8.	   June 2014		   BLK_MAKE_REQUEST(9)

List of man pages available for Oracle

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net