BLK_MAKE_REQUEST man page on Scientific

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

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.	 November 2013		   BLK_MAKE_REQUEST(9)
[top]

List of man pages available for Scientific

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]
Tweet
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