diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-11-23 08:47:23 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-11-23 08:47:23 +0100 |
| commit | 5a4549f7ebf22787b2a76908ba90598e453d4a15 (patch) | |
| tree | ae3fc6cb130c4944f1b7bf7790e036fba779e606 /0004-readfile.2.patch | |
| parent | 42e4dab3dbfbf82344ceacacdc039d79feca67a5 (diff) | |
| download | patches-5a4549f7ebf22787b2a76908ba90598e453d4a15.tar.gz | |
readfile patches updated
Diffstat (limited to '0004-readfile.2.patch')
| -rw-r--r-- | 0004-readfile.2.patch | 242 |
1 files changed, 0 insertions, 242 deletions
diff --git a/0004-readfile.2.patch b/0004-readfile.2.patch deleted file mode 100644 index be3b579d0158f7..00000000000000 --- a/0004-readfile.2.patch +++ /dev/null @@ -1,242 +0,0 @@ -From 1dcacd2cfdce9695c9e66e21d6ec0292d66da400 Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Fri, 12 Jun 2020 12:11:39 +0200 -Subject: [PATCH 4/4] readfile.2 - ---- - readfile.2 | 229 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 229 insertions(+) - create mode 100644 readfile.2 - ---- /dev/null -+++ b/readfile.2 -@@ -0,0 +1,229 @@ -+.\" This manpage is Copyright (C) 2020 Greg Kroah-Hartman; -+.\" and Copyright (C) 2020 The Linux Foundation -+.\" -+.\" %%%LICENSE_START(VERBATIM) -+.\" Permission is granted to make and distribute verbatim copies of this -+.\" manual provided the copyright notice and this permission notice are -+.\" preserved on all copies. -+.\" -+.\" Permission is granted to copy and distribute modified versions of this -+.\" manual under the conditions for verbatim copying, provided that the -+.\" entire resulting derived work is distributed under the terms of a -+.\" permission notice identical to this one. -+.\" -+.\" Since the Linux kernel and libraries are constantly changing, this -+.\" manual page may be incorrect or out-of-date. The author(s) assume no -+.\" responsibility for errors or omissions, or for damages resulting from -+.\" the use of the information contained herein. The author(s) may not -+.\" have taken the same level of care in the production of this manual, -+.\" which is licensed free of charge, as they might when working -+.\" professionally. -+.\" -+.\" Formatted or processed versions of this manual, if unaccompanied by -+.\" the source, must acknowledge the copyright and authors of this work. -+.\" %%%LICENSE_END -+.\" -+.TH READFILE 2 2020-06-12 "Linux" "Linux Programmer's Manual" -+.SH NAME -+readfile \- read a file into a buffer -+.SH SYNOPSIS -+.nf -+.B #include <unistd.h> -+.PP -+.BI "ssize_t readfile(int " dirfd ", const char *" pathname ", void *" buf \ -+", size_t " count ", int " flags ); -+.fi -+.SH DESCRIPTION -+.BR readfile () -+attempts to open the file specified by -+.IR pathname -+and to read up to -+.I count -+bytes from the file into the buffer starting at -+.IR buf . -+It is to be a shortcut of doing the sequence of -+.BR open () -+and then -+.BR read () -+and then -+.BR close () -+for small files that are read frequently, such as those in -+.B procfs -+or -+.BR sysfs . -+.PP -+If the size of file is smaller than the value provided in -+.I count -+then the whole file will be copied into -+.IR buf . -+.PP -+If the file is larger than the value provided in -+.I count -+then only -+.I count -+number of bytes will be copied into -+.IR buf . -+.PP -+The argument -+.I flags -+may contain one of the following -+.IR "access modes" : -+.BR O_NOFOLLOW ", or " O_NOATIME . -+.PP -+If the pathname given in -+.I pathname -+is relative, then it is interpreted relative to the directory -+referred to by the file descriptor -+.IR dirfd . -+.PP -+If -+.I pathname -+is relative and -+.I dirfd -+is the special value -+.BR AT_FDCWD , -+then -+.I pathname -+is interpreted relative to the current working -+directory of the calling process (like -+.BR open ()). -+.PP -+If -+.I pathname -+is absolute, then -+.I dirfd -+is ignored. -+.SH RETURN VALUE -+On success, the number of bytes read is returned. -+It is not an error if this number is smaller than the number of bytes -+requested; this can happen if the file is smaller than the number of -+bytes requested. -+.PP -+On error, \-1 is returned, and -+.I errno -+is set appropriately. -+.SH ERRORS -+.TP -+.B EAGAIN -+The file descriptor -+.I fd -+refers to a file other than a socket and has been marked nonblocking -+.RB ( O_NONBLOCK ), -+and the read would block. -+See -+.BR open (2) -+for further details on the -+.BR O_NONBLOCK -+flag. -+.TP -+.BR EAGAIN " or " EWOULDBLOCK -+.\" Actually EAGAIN on Linux -+The file descriptor -+.I fd -+refers to a socket and has been marked nonblocking -+.RB ( O_NONBLOCK ), -+and the read would block. -+POSIX.1-2001 allows either error to be returned for this case, -+and does not require these constants to have the same value, -+so a portable application should check for both possibilities. -+.TP -+.B EBADF -+.I fd -+is not a valid file descriptor or is not open for reading. -+.TP -+.B EFAULT -+.I buf -+is outside your accessible address space. -+.TP -+.B EINTR -+The call was interrupted by a signal before any data was read; see -+.BR signal (7). -+.TP -+.B EINVAL -+.I fd -+is attached to an object which is unsuitable for reading; -+or the file was opened with the -+.B O_DIRECT -+flag, and either the address specified in -+.IR buf , -+the value specified in -+.IR count , -+or the file offset is not suitably aligned. -+.TP -+.B EINVAL -+.I fd -+was created via a call to -+.BR timerfd_create (2) -+and the wrong size buffer was given to -+.BR read (); -+see -+.BR timerfd_create (2) -+for further information. -+.TP -+.B EIO -+I/O error. -+This will happen for example when the process is in a -+background process group, tries to read from its controlling terminal, -+and either it is ignoring or blocking -+.B SIGTTIN -+or its process group -+is orphaned. -+It may also occur when there is a low-level I/O error -+while reading from a disk or tape. -+A further possible cause of -+.B EIO -+on networked filesystems is when an advisory lock had been taken -+out on the file descriptor and this lock has been lost. -+See the -+.I "Lost locks" -+section of -+.BR fcntl (2) -+for further details. -+.TP -+.B EISDIR -+.I fd -+refers to a directory. -+.PP -+Other errors may occur, depending on the object connected to -+.IR fd . -+.SH CONFORMING TO -+SVr4, 4.3BSD, POSIX.1-2001. -+.SH NOTES -+The types -+.I size_t -+and -+.I ssize_t -+are, respectively, -+unsigned and signed integer data types specified by POSIX.1. -+.PP -+On Linux, -+.BR read () -+(and similar system calls) will transfer at most -+0x7ffff000 (2,147,479,552) bytes, -+returning the number of bytes actually transferred. -+.\" commit e28cc71572da38a5a12c1cfe4d7032017adccf69 -+(This is true on both 32-bit and 64-bit systems.) -+.PP -+On NFS filesystems, reading small amounts of data will update the -+timestamp only the first time, subsequent calls may not do so. -+This is caused -+by client side attribute caching, because most if not all NFS clients -+leave -+.I st_atime -+(last file access time) -+updates to the server, and client side reads satisfied from the -+client's cache will not cause -+.I st_atime -+updates on the server as there are no -+server-side reads. -+UNIX semantics can be obtained by disabling client-side attribute caching, -+but in most situations this will substantially -+increase server load and decrease performance. -+.SH BUGS -+None yet! -+.SH SEE ALSO -+.BR close (2), -+.BR open (2), -+.BR openat (2), -+.BR read (2), -+.BR fread (3) |
