linux/fs/direct-io.c
<<
>>
Prefs
   1/*
   2 * fs/direct-io.c
   3 *
   4 * Copyright (C) 2002, Linus Torvalds.
   5 *
   6 * O_DIRECT
   7 *
   8 * 04Jul2002    Andrew Morton
   9 *              Initial version
  10 * 11Sep2002    janetinc@us.ibm.com
  11 *              added readv/writev support.
  12 * 29Oct2002    Andrew Morton
  13 *              rewrote bio_add_page() support.
  14 * 30Oct2002    pbadari@us.ibm.com
  15 *              added support for non-aligned IO.
  16 * 06Nov2002    pbadari@us.ibm.com
  17 *              added asynchronous IO support.
  18 * 21Jul2003    nathans@sgi.com
  19 *              added IO completion notifier.
  20 */
  21
  22#include <linux/kernel.h>
  23#include <linux/module.h>
  24#include <linux/types.h>
  25#include <linux/fs.h>
  26#include <linux/mm.h>
  27#include <linux/slab.h>
  28#include <linux/highmem.h>
  29#include <linux/pagemap.h>
  30#include <linux/task_io_accounting_ops.h>
  31#include <linux/bio.h>
  32#include <linux/wait.h>
  33#include <linux/err.h>
  34#include <linux/blkdev.h>
  35#include <linux/buffer_head.h>
  36#include <linux/rwsem.h>
  37#include <linux/uio.h>
  38#include <
  
  
4a href="4s/direct-io.c#L31" id="431" c4lass="line" name="L1">   1/*
4a href="4s/direct-io.c#L32" id="432" c4ass="line" name="L12">  12How many user ap.hs to map in one call to get_user     s().  This determ.c#s>/*
4a href="4s/direct-io.c#L33" id="433" c4ass="line" name="L13">  13the size of a structure in the sb.h cache>/*
4  14 */
4a href="4s/direct-io.c#L35" id="435" c4ass="ldef.c#pan class="code=DIO_PAGES  
*/ 4a href="4s/direct-io.c#L36" id="436" c46ss="line" name="L21"> 21 4a href="4s/direct-io.c#L37" id="437" c4ass="line" name="L17"> 17/* 4a href="4s/direct-io.c#L38" id="438" c4ass="line" name="L18"> 18This code generally works in units of "d clblocks". A d clblock is>/* 4line" na4er