__generic_file_aio_write
Prev | More Memory Management Functions | Next

## Name

__generic_file_aio_write — write data to a file

## Synopsis

`ssize_t __generic_file_aio_write (` | struct kiocb * iocb,
| const struct iovec * iov,
| unsigned long nr_segs,
| loff_t * ppos`)`;

## Arguments

`iocb`

  IO state structure (file, offset, etc.)

`iov`

  vector with data to write

`nr_segs`

  number of segments in the vector

`ppos`

  position where to write

## Description

This function does all the work needed for actually writing data to a file. It does all basic checks, removes SUID from the file, updates modification times and calls proper subroutines depending on whether we do direct IO or a standard buffered write.

It expects i_mutex to be grabbed unless we work on a block device or similar object which does not need locking at all.

This function does *not* take care of syncing data in case of O_SYNC write. A caller has to handle it. This is mainly due to the fact that we want to avoid syncing under i_mutex.

Prev | Up | Next
read_cache_page | Home | generic_file_aio_write