*参照元 [#n9e60ac0]
#backlinks

*説明 [#v48c1d18]
-パス: [[linux-2.6.33/fs/block_dev.c]]

-FIXME: これは何?
--説明


**引数 [#s7dc106f]
-struct kiocb *iocb
--
--[[linux-2.6.33/kiocb]]
-const struct iovec *iov
--
--[[linux-2.6.33/iovec]]
-unsigned long nr_segs
--
-loff_t pos
--


**返り値 [#d7673103]
-ssize_t
--


**参考 [#tfa6ccef]


*実装 [#g8ab1046]
 /*
  * Write data to the block device.  Only intended for the block device itself
  * and the raw driver which basically is a fake block device.
  *
  * Does not take i_mutex for the write and thus is not for general purpose
  * use.
  */
 ssize_t blkdev_aio_write(struct kiocb *iocb, const struct iovec *iov,
 			 unsigned long nr_segs, loff_t pos)
 {
 	struct file *file = iocb->ki_filp;
 	ssize_t ret;
 
-
--[[linux-2.6.33/file]]

 	BUG_ON(iocb->ki_pos != pos);
 
-
--[[linux-2.6.33/BUG_ON()]]

 	ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos);
-
--[[linux-2.6.33/__generic_file_aio_write()]]

 	if (ret > 0 || ret == -EIOCBQUEUED) {
 		ssize_t err;
 
 		err = generic_write_sync(file, pos, ret);
 		if (err < 0 && ret > 0)
 			ret = err;
-
--[[linux-2.6.33/generic_write_sync()]]

 	}
 	return ret;
 }
 EXPORT_SYMBOL_GPL(blkdev_aio_write);
-GPL ライセンスのモジュールにのみシンボルを公開する。
-GPL のモジュールにのみシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL_GPL()]]


*コメント [#j03afedd]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS