Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Michael S Newsgroups: comp.arch Subject: Re: streams and file locks, ancient OS history, ARM is sort of channeling Date: Mon, 1 Jul 2024 11:23:03 +0300 Organization: A noiseless patient Spider Lines: 31 Message-ID: <20240701112303.0000285a@yahoo.com> References: <9eb8f81dda97a8df903df255311cf8e9@www.novabbs.org> <7e40b7fc3fb42813e36a2dc31b486a29@www.novabbs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Injection-Date: Mon, 01 Jul 2024 10:22:42 +0200 (CEST) Injection-Info: dont-email.me; posting-host="1ed50a96d267e9cd7996fba7f974507c"; logging-data="617251"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/XNlg2XvtI8E0uKX9paF2QhPITdgQkmNI=" Cancel-Lock: sha1:U9e6d3s7d4O/GZKF93NIE7Acquk= X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32) Bytes: 2439 On Mon, 1 Jul 2024 02:10:43 -0000 (UTC) John Levine wrote: > According to MitchAlsup1 : > >>>> In fact, you can ftruncate arbitrarily large at the start - > >>>> backing sectors for the mapped pages will only be allocated when > >>>> a page is referenced for the first time. =20 > >>> > >>>Can you ftruncate( 0x7FFFFFFFFFFFFFFFF ); ?? =C2=BD of the address > >>>space =20 > >> > >> Every filesystem has a maximum file size. Exceed that and you'll > >> get an EFBIG error. =20 > > > >Then it is not capable of ftruncate arbitrarily large in a hardware's > >view of arbitrarily large which tends to be 1-bit smaller than the > >largest container. =20 >=20 > The goal here is to map a file into the address space. What's your use > case for mapping a file-like thing that is bigger than any real file > and can't be written out to the disk? >=20 Consider that configurations in which maximal file size is bigger than half of address space are quite common. And not just on 32-bit HW. Of course, what is considered "half of address space" is not a very simple question by itself. Take x86-64. Is its address space 2**64 or 2*48? Take aarch64. Is its address space 2**64 or 2**49? Or, may be, 2**56?