linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Metztli Information Technology <jose.r.r@metztli.com>
To: Edward Shishkin <edward.shishkin@gmail.com>
Cc: reiserfs-devel@vger.kernel.org, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [reiser4 SFRN 5.1.3] kernel [5.10.x] read not supported for file /test-exec \(pid: 10094 comm: debootstrap\)
Date: Mon, 16 Aug 2021 12:22:03 -0700	[thread overview]
Message-ID: <1fb139b8-7c96-54c6-5bb7-2ee88399395c@metztli.com> (raw)
In-Reply-To: <12924b25-baa4-2965-65de-bc64ed43069f@gmail.com>


On 8/14/21 4:00 AM, Edward Shishkin wrote:
> On 08/13/2021 05:20 PM, Metztli Information Technology wrote:
>
> [...]
>
>>>>
>>>> Notwithstanding, I would appreciate if you can take a look at the
>>>> attached patch. Probably it can be streamlined and/or improved
>>>>    further to minimize pain on subsequent Linux kernel upgrades.
>>>
>>>
>>> That patch is an attempt to swim against the current ;)
>>>
>>> I no longer remember, why they want to get rid of set_fs for already
>>> 15
>>> years, but ->read() and ->write() methods seem to be deprecated, and
>>> the
>>> correct way would be to implement the new ->read_iter() and
>>> write_iter()
>>> methods, where reiser4 works with "chunked" streams, represented by
>>> iov_iter structure, rather than with "continuous" streams,
>>> represented
>>> by char __user *buf. The task is not that difficult, but rather time
>>> consuming - I don't have a time for this right now..
>>
>> On Sun, Jun 20, 2021 at 10:45 AM Edward Shishkin
>> <edward.shishkin@gmail.com> wrote:
>>        So, I have implemented ->read_iter() for all plugins (*). It is
>>        included
>>        to reiser4-for-5.12 stuff. Not sure if it is enough to make 
>> distro with
>>        root over reiser4 though: ->write_iter() is not yet 
>> implemented (not so
>>        trivial because of transactions).
>>               (*)
>> https://github.com/edward6/reiser4/commit/ac72aba7e8bb16a28755c1b2b762971927d17c3c
>> https://github.com/edward6/reiser4/commit/4d3200fbcb2003c680cdb822e3f616d3fa83c391
>>               Edward.
>
> Hello,
>
> Now the new striped file plugin implements ->write_iter():
> https://github.com/edward6/reiser4/commit/a3795ffffbb841bfaa66bfb18c12fb317533d1ff 
>

Wow! That must have been a lot of extra work on your part, Sir, Спасибо!

Debian Installer (d-i) makes use of BusyBox. Notwithstanding, for 
whatever reason, BusyBox barebones (link) mount utility failed with 
similar message -- even though I took care to build the latest from source:

< https://www.busybox.net/ >

I had to hack a mount-udeb small package, wrapping mount and umount within:

< https://metztli.it/readOnlyEphemeral/mount-udeb_2.37.1-1_amd64.udeb >

by utilizing debian packaging for previous version of util-linux
< https://packages.debian.org/sid/util-linux >

and a more recent util linux source
< https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.37/ >

That solved the d-i 'mount -o bind' and/or 'mount --bind' issue on /dev 
resources (i.e., red underlined)

< https://metztli.it/bullseye-reiser5/non-busybox-mount-d-i.png >

> [...]
>
>> I finally got around to creating an SFRN 5.1.3 -enabled Debian
>> Installer (d-i) for upcoming Debian 11 (codenamed Bullseye). Applied
>> your unstable reiser4 for 5.12 patch onto my debianized hack packaging
>> for Linux kernel 5.12.19 EOL.
>>
>> I gave the d-i a spin in VirtualBox 6.1.26 and it choked on the
>> following code fragment:
>> ---------------------------------------------------------------------
>> setup_dev_linux () {
>>          # Ensure static device nodes created during install are
>> preserved
>>          # Tests in MAKEDEV require this is done in the D-I environment
>>          mkdir -p /dev/.static/dev
>>          chmod 700 /dev/.static/
>>          mount --bind /target/dev /dev/.static/dev
>>          # Mirror device nodes in D-I environment to target
>>          mount --bind /dev /target/dev/
>> }
>> -----------------------------------------------------------------------
>>
>> specifically:
>> mount --bind /target/dev /dev/.static/dev
>>
>> See relevant code fragment next to VirtualBox VM, where I manually
>> entered the above directive:
>> < https://metztli.it/bullseye-reiser5/d-i-sfrn5-fail.jpg >
>>
>> i.e., '--bind' is causing the SFRN5 -enabled installer to bail out
>> *only* for this reiser4 unstable SFRN 5.1.3 -patched kernel. On the
>> other hand, as reported previously, no such issue occurs with your
>> reiser4 stable SFRN 4.0.2 patch applied to the *same* debianized kernel
>> source tree, Ed.
>
> I have checked - everything works for me (Linux-5.12).
>
> # mount /dev/vdd1 /mnt/test
> # volume.reiser4 /mnt/test
>
> Logical Volume Info:
> ID:             03ac5995-bf77-4851-a302-e875a6fd752f
> volume:         0x1 (asym)
> distribution:   0x1 (fsx32m)
> stripe:         262144
> segments:       1024
> bricks total:   3
> bricks in DSA:  3
> slots:          3
> map blocks:     2
> balanced:       Yes
> health:         OK
>
> # mkdir bindmnt
> # mount --bind /mnt/test bindmnt
> # mount
> [...]
> /dev/vdd1 on /mnt/test type reiser4 
> (rw,relatime,atom_max_size=0x3d88e,atom_max_age=0x927c0,atom_min_size=0x100,atom_max_flushers=0x1,cbk_cache_slots=0x10)
> /dev/vdd1 on /root/bindmnt type reiser4 
> (rw,relatime,atom_max_size=0x3d88e,atom_max_age=0x927c0,atom_min_size=0x100,atom_max_flushers=0x1,cbk_cache_slots=0x10)

Summarizing...

Your modified reiser4 SFRN 4.0.2 patch implementing '->read_iter() for 
all plugins (*)' successfully enabled Debian Installer netboot for 
bullseye to install upcoming Debian 11 Bullseye for AMD64 with hacked 
Linux kernel 5.12.19-2 EOL

< https://metztli.it/bullseye-reiser5/guided-install-sfrn4.jpg >


Analogously, your modified reiser4 SFRN 5.1.3 patch implementing 
'->read_iter() for all plugins (*)' and ' ->write_iter()' successfully 
enabled Debian Installer netboot for bullseye to install upcoming Debian 
11 Bullseye for AMD64 with hacked Linux kernel 5.12.19-2 EOL

guided installation (which defaults to MSDOS partitioning) with sample 
from one of three options: /home and / root reiser4 but /boot JFS

< https://metztli.it/bullseye-reiser5/guided-install-sfrn5.jpg >


Or expert, which enables GPT partitioning; here is a / reiser4 and /boot 
JFS VirtualBox 6.1.26 VM JPG snapshot:

< https://metztli.it/bullseye-reiser5/expert-install-sfrn5.jpg >

and the PoC reiser4 SFRN 5.1.3 -enabled Debian Installer (d-i):

< https://metztli.it/bullseye-reiser5/netboot-ng/metztli-reiser4-sfrn5.iso >

< 
https://metztli.it/bullseye-reiser5/netboot-ng/metztli-reiser4-sfrn5.iso.SHA256SUM 
 >

I have not tested the bricks feature for which you specifically created 
the SFRN 5.1.3 enhancement. Other Linux users are welcomed to test that 
feature and provide feedback to you, Sir. The entry into reiser4 is 
substantially lowered with a native reiser4 installer, which is what I 
have done with the above ISO images freely made available but with *NO 
IMPLICIT NOR EXPLICIT WARRANTIES*


Best Professional Regards.


P.S. Reiser4 quirk: If during expert installation of reiser4 -enhanced 
Debian /tmp is formatted in other than reiser4, after a reboot 
attempting a MySQL/MariaDB installation will fail. I experienced that in 
a remote bare metal server.




  reply	other threads:[~2021-08-16 19:22 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-08 12:54 [reiser4 SFRN 5.1.3] kernel [5.10.x] read not supported for file /test-exec \(pid: 10094 comm: debootstrap\) Metztli Information Technology
2021-02-08 16:03 ` Edward Shishkin
2021-02-16 15:56   ` Jose R Rodriguez
2021-02-16 20:02     ` Edward Shishkin
2021-02-19  8:12       ` Jose R Rodriguez
2021-02-26  7:33         ` Jose R Rodriguez
2021-08-04 10:17   ` Metztli Information Technology
2021-08-13 15:20   ` Metztli Information Technology
2021-08-14 11:00     ` Edward Shishkin
2021-08-16 19:22       ` Metztli Information Technology [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-01-08  7:43 Metztli Information Technology
2020-12-25 16:42 Metztli Information Technology
     [not found] <20201223160113.C1A15732548B@huitzilopochtli.metztli-it.com>
2020-12-23 23:40 ` Edward Shishkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1fb139b8-7c96-54c6-5bb7-2ee88399395c@metztli.com \
    --to=jose.r.r@metztli.com \
    --cc=akpm@linux-foundation.org \
    --cc=edward.shishkin@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=reiserfs-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).