Re: git: 1c2be25f6080 - main - Add extra EINVAL information about wrong block size to read(2)/write(2)
- Reply: Konstantin Belousov : "Re: git: 1c2be25f6080 - main - Add extra EINVAL information about wrong block size to read(2)/write(2)"
- In reply to: Konstantin Belousov : "Re: git: 1c2be25f6080 - main - Add extra EINVAL information about wrong block size to read(2)/write(2)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 08 Oct 2022 06:52:26 UTC
On 10/8/22 02:48, Konstantin Belousov wrote: > On Fri, Oct 07, 2022 at 11:39:04AM +0000, Benedict Reuschling wrote: >> The branch main has been updated by bcr (doc committer): >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=1c2be25f6080ee63baeae55e45761e1310d1b756 >> >> commit 1c2be25f6080ee63baeae55e45761e1310d1b756 >> Author: Benedict Reuschling <bcr@FreeBSD.org> >> AuthorDate: 2022-10-07 11:32:37 +0000 >> Commit: Benedict Reuschling <bcr@FreeBSD.org> >> CommitDate: 2022-10-07 11:32:37 +0000 >> >> Add extra EINVAL information about wrong block size to read(2)/write(2) >> >> The read system call will return EINVAL if the current file offset is >> not a multiple of the block size. This also applies to write(2). Add an >> entry for EINVAL about this error to both man pages. >> >> PR: 91149 >> Event: Aberdeen Hackathon 2022 >> Differential Revision: https://reviews.freebsd.org/D24617 >> --- >> lib/libc/sys/read.2 | 4 +++- >> lib/libc/sys/write.2 | 4 +++- >> 2 files changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/lib/libc/sys/read.2 b/lib/libc/sys/read.2 >> index 8b58debd3fbb..28d085562af3 100644 >> --- a/lib/libc/sys/read.2 >> +++ b/lib/libc/sys/read.2 >> @@ -28,7 +28,7 @@ >> .\" @(#)read.2 8.4 (Berkeley) 2/26/94 >> .\" $FreeBSD$ >> .\" >> -.Dd June 4, 2020 >> +.Dd October 7, 2022 >> .Dt READ 2 >> .Os >> .Sh NAME >> @@ -250,6 +250,8 @@ The sum of the >> values in the >> .Fa iov >> array overflowed a 32-bit integer. >> +.It Bq Er EINVAL >> +The current file offset is not a multiple of the block size. >> .It Bq Er EFAULT >> Part of the >> .Fa iov >> diff --git a/lib/libc/sys/write.2 b/lib/libc/sys/write.2 >> index 937e95b53a14..048338ed4dee 100644 >> --- a/lib/libc/sys/write.2 >> +++ b/lib/libc/sys/write.2 >> @@ -28,7 +28,7 @@ >> .\" @(#)write.2 8.5 (Berkeley) 4/2/94 >> .\" $FreeBSD$ >> .\" >> -.Dd February 11, 2021 >> +.Dd October 7, 2022 >> .Dt WRITE 2 >> .Os >> .Sh NAME >> @@ -205,6 +205,8 @@ is greater than >> if the sysctl >> .Va debug.iosize_max_clamp >> is non-zero). >> +.It Bq Er EINVAL >> +The current file offset is not a multiple of the block size. > This is bogus. It does not. You can perfectly write at arbitrary regular > file offset. > If you have a 4K block size character device, geom doesn't support writing / reading 515 byte blocks .... The description is maybe not applicable for all EINVAL's returned. --HPS