Revision db3b5848ea6440968fcdd29b80514d0de044bb7c authored by Kiyoshi Ueda on 17 June 2005, 14:15:10 UTC, committed by Jens Axboe on 17 June 2005, 14:15:10 UTC
__cfq_get_queue().  __cfq_get_queue() finds an existing queue (struct
cfq_queue) of the current process for the device and returns it.  If it's not
found, __cfq_get_queue() creates and returns a new one if __cfq_get_queue() is
called with __GFP_WAIT flag, or __cfq_get_queue() returns NULL (this means that
get_request() fails) if no __GFP_WAIT flag.

On the other hand, in __make_request(), get_request() is called without
__GFP_WAIT flag at the first time.  Thus, the get_request() fails when there is
no existing queue, typically when it's called for the first I/O request of the
process to the device.

Though it will be followed by get_request_wait() for general case,
__make_request() will just end the I/O with an error (EWOULDBLOCK) when the
request was for read-ahead.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
1 parent c374f12
History
File Mode Size
adfs
affs
afs
autofs
autofs4
befs
bfs
cifs
coda
cramfs
debugfs
devfs
devpts
efs
exportfs
ext2
ext3
fat
freevxfs
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jffs
jffs2
jfs
lockd
minix
msdos
ncpfs
nfs
nfsd
nls
ntfs
openpromfs
partitions
proc
qnx4
ramfs
reiserfs
romfs
smbfs
sysfs
sysv
udf
ufs
umsdos
vfat
xfs
Kconfig -rw-r--r-- 63.6 KB
Kconfig.binfmt -rw-r--r-- 5.3 KB
Makefile -rw-r--r-- 3.0 KB
aio.c -rw-r--r-- 43.3 KB
attr.c -rw-r--r-- 5.0 KB
bad_inode.c -rw-r--r-- 2.8 KB
binfmt_aout.c -rw-r--r-- 14.8 KB
binfmt_elf.c -rw-r--r-- 45.2 KB
binfmt_elf_fdpic.c -rw-r--r-- 30.3 KB
binfmt_em86.c -rw-r--r-- 2.8 KB
binfmt_flat.c -rw-r--r-- 25.8 KB
binfmt_misc.c -rw-r--r-- 15.6 KB
binfmt_script.c -rw-r--r-- 2.7 KB
binfmt_som.c -rw-r--r-- 7.7 KB
bio.c -rw-r--r-- 25.4 KB
block_dev.c -rw-r--r-- 21.7 KB
buffer.c -rw-r--r-- 81.9 KB
char_dev.c -rw-r--r-- 9.2 KB
compat.c -rw-r--r-- 47.0 KB
compat_ioctl.c -rw-r--r-- 85.0 KB
dcache.c -rw-r--r-- 43.9 KB
dcookies.c -rw-r--r-- 6.3 KB
direct-io.c -rw-r--r-- 34.5 KB
dnotify.c -rw-r--r-- 4.3 KB
dquot.c -rw-r--r-- 51.6 KB
eventpoll.c -rw-r--r-- 44.0 KB
exec.c -rw-r--r-- 33.7 KB
fcntl.c -rw-r--r-- 13.1 KB
fifo.c -rw-r--r-- 3.2 KB
file.c -rw-r--r-- 5.5 KB
file_table.c -rw-r--r-- 5.9 KB
filesystems.c -rw-r--r-- 5.2 KB
fs-writeback.c -rw-r--r-- 19.7 KB
inode.c -rw-r--r-- 34.3 KB
ioctl.c -rw-r--r-- 3.9 KB
libfs.c -rw-r--r-- 12.9 KB
locks.c -rw-r--r-- 54.3 KB
mbcache.c -rw-r--r-- 18.3 KB
mpage.c -rw-r--r-- 20.6 KB
namei.c -rw-r--r-- 59.8 KB
namespace.c -rw-r--r-- 34.8 KB
nfsctl.c -rw-r--r-- 2.5 KB
open.c -rw-r--r-- 23.1 KB
pipe.c -rw-r--r-- 18.1 KB
posix_acl.c -rw-r--r-- 8.6 KB
quota.c -rw-r--r-- 8.8 KB
quota_v1.c -rw-r--r-- 5.7 KB
quota_v2.c -rw-r--r-- 20.1 KB
read_write.c -rw-r--r-- 15.3 KB
readdir.c -rw-r--r-- 6.7 KB
select.c -rw-r--r-- 12.2 KB
seq_file.c -rw-r--r-- 9.5 KB
stat.c -rw-r--r-- 9.2 KB
super.c -rw-r--r-- 19.9 KB
xattr.c -rw-r--r-- 10.3 KB
xattr_acl.c -rw-r--r-- 2.3 KB

back to top