[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1394812471-9693-1-git-send-email-psusi@ubuntu.com>
Date: Fri, 14 Mar 2014 11:54:31 -0400
From: Phillip Susi <psusi@...ntu.com>
To: mtk.manpages@...il.com
Cc: linux-man@...r.kernel.org, linux-mm@...ck.org,
linux-ext4@...r.kernel.org
Subject: [PATCH] readahead.2: don't claim the call blocks until all data has been read
The readahead(2) man page was claiming that the call blocks until all
data has been read into the cache. This is incorrect.
Signed-off-by: Phillip Susi <psusi@...ntu.com>
---
man2/readahead.2 | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/man2/readahead.2 b/man2/readahead.2
index 605fa5e..1b0376e 100644
--- a/man2/readahead.2
+++ b/man2/readahead.2
@@ -27,7 +27,7 @@
.\"
.TH READAHEAD 2 2013-04-01 "Linux" "Linux Programmer's Manual"
.SH NAME
-readahead \- perform file readahead into page cache
+readahead \- initiate file readahead into page cache
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
@@ -37,8 +37,8 @@ readahead \- perform file readahead into page cache
.fi
.SH DESCRIPTION
.BR readahead ()
-populates the page cache with data from a file so that subsequent
-reads from that file will not block on disk I/O.
+initates readahead on a file so that subsequent reads from that file will
+hopefully be satisfied from the cache, and not block on disk I/O.
The
.I fd
argument is a file descriptor identifying the file which is
@@ -57,8 +57,6 @@ equal to
.IR "(offset+count)" .
.BR readahead ()
does not read beyond the end of the file.
-.BR readahead ()
-blocks until the specified data has been read.
The current file offset of the open file referred to by
.I fd
is left unchanged.
@@ -94,6 +92,13 @@ On some 32-bit architectures,
the calling signature for this system call differs,
for the reasons described in
.BR syscall (2).
+
+The call attempts to schedule the reads in the background and return
+immediately, however it may block while reading filesystem metadata
+in order to locate where the blocks requested are. This occurs frequently
+with ext[234] on large files using indirect blocks instead of extents,
+giving the appearence that the call blocks until the requested data has
+been read.
.SH SEE ALSO
.BR lseek (2),
.BR madvise (2),
--
1.8.3.2
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists