Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Enumerations | Functions
blk-flush.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/bio.h>
#include <linux/blkdev.h>
#include <linux/gfp.h>
#include "blk.h"

Go to the source code of this file.

Enumerations

enum  {
  REQ_FSEQ_PREFLUSH = (1 << 0), REQ_FSEQ_DATA = (1 << 1), REQ_FSEQ_POSTFLUSH = (1 << 2), REQ_FSEQ_DONE = (1 << 3),
  REQ_FSEQ_ACTIONS, FLUSH_PENDING_TIMEOUT = 5 * HZ
}
 

Functions

void blk_insert_flush (struct request *rq)
 
void blk_abort_flushes (struct request_queue *q)
 
int blkdev_issue_flush (struct block_device *bdev, gfp_t gfp_mask, sector_t *error_sector)
 
 EXPORT_SYMBOL (blkdev_issue_flush)
 

Enumeration Type Documentation

anonymous enum
Enumerator:
REQ_FSEQ_PREFLUSH 
REQ_FSEQ_DATA 
REQ_FSEQ_POSTFLUSH 
REQ_FSEQ_DONE 
REQ_FSEQ_ACTIONS 
FLUSH_PENDING_TIMEOUT 

Definition at line 76 of file blk-flush.c.

Function Documentation

void blk_abort_flushes ( struct request_queue q)

blk_abort_flushes - is being aborted, abort flush requests : request_queue being aborted

To be called from elv_abort_queue(). is being aborted. Prepare all FLUSH/FUA requests for abortion.

CONTEXT: spin_lock_irq(q->queue_lock)

Definition at line 359 of file blk-flush.c.

void blk_insert_flush ( struct request rq)

blk_insert_flush - insert a new FLUSH/FUA request : request to insert

To be called from __elv_add_request() for ELEVATOR_INSERT_FLUSH insertions. is being submitted. Analyze what needs to be done and put it on the right queue.

CONTEXT: spin_lock_irq(q->queue_lock)

Definition at line 298 of file blk-flush.c.

int blkdev_issue_flush ( struct block_device bdev,
gfp_t  gfp_mask,
sector_t error_sector 
)

blkdev_issue_flush - queue a flush : blockdev to issue flush for : memory allocation flags (for bio_alloc) : error sector

Description: Issue a flush for the block device in question. Caller can supply room for storing the error offset in case of a flush error, if they wish to. If WAIT flag is not passed then caller may check only what request was pushed in some internal queue for later handling.

Definition at line 408 of file blk-flush.c.

EXPORT_SYMBOL ( blkdev_issue_flush  )