From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3F621158041 for ; Thu, 11 Apr 2024 06:15:07 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1E6D0E2A25; Thu, 11 Apr 2024 06:15:02 +0000 (UTC) Received: from bagheera.iewc.co.za (bagheera.iewc.co.za [IPv6:2c0f:f720:0:3::9a49:2249]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C3F91E2A21 for ; Thu, 11 Apr 2024 06:15:01 +0000 (UTC) Received: from [154.73.32.4] (helo=tauri.local.uls.co.za) by bagheera.iewc.co.za with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.97.1) (envelope-from ) id 1runi5-000000005HI-2Vvf; Thu, 11 Apr 2024 08:14:57 +0200 Received: from [192.168.42.196] by tauri.local.uls.co.za with esmtp (Exim 4.97.1) (envelope-from ) id 1runi4-000000005Am-0Gje; Thu, 11 Apr 2024 08:14:56 +0200 Message-ID: Date: Thu, 11 Apr 2024 08:14:55 +0200 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [gentoo-dev] netmount and glusterfs (fuse) dependency management To: gentoo-dev@lists.gentoo.org, Joonas Niilola References: <6c3aabbf-a4ec-4d0a-97d4-a7b7e01b678e@gentoo.org> Content-Language: en-GB From: Jaco Kroon Autocrypt: addr=jaco@uls.co.za; keydata= xsBNBFXtplYBCADM6RTLCOSPiclevkn/gdf8h9l+kKA6N+WGIIFuUtoc9Gaf8QhXWW/fvUq2 a3eo4ULVFT1jJ56Vfm4MssGA97NZtlOe3cg8QJMZZhsoN5wetG9SrJvT9Rlltwo5nFmXY3ZY gXsdwkpDr9Y5TqBizx7DGxMd/mrOfXeql57FWFeOc2GuJBnHPZQMJsQ66l2obPn36hWEtHYN gcUSPH3OOusSEGZg/oX/8WSDQ/b8xz1JKTEgcnu/JR0FxzjY19zSHmbnyVU+/gF3oeJFcEUk HvZu776LRVdcZ0lb1bHQB2K9rTZBVeZLitgAefPVH2uERVSO8EZO1I5M7afV0Kd/Vyn9ABEB AAHNG0phY28gS3Jvb24gPGphY29AdWxzLmNvLnphPsLAdwQTAQgAIQUCVe2mVgIbAwULCQgH AgYVCAkKCwIEFgIDAQIeAQIXgAAKCRAILcSxr/fungCPB/sHrfufpRbrVTtHUjpbY4bTQLQE bVrh4/yMiKprALRYy0nsMivl16Q/3rNWXJuQ0gR/faC3yNlDgtEoXx8noXOhva9GGHPGTaPT hhpcp/1E4C9Ghcaxw3MRapVnSKnSYL+zOOpkGwye2+fbqwCkCYCM7Vu6ws3+pMzJNFK/UOgW Tj8O5eBa3DiU4U26/jUHEIg74U+ypYPcj5qXG0xNXmmoDpZweW41Cfo6FMmgjQBTEGzo9e5R kjc7MH3+IyJvP4bzE5Paq0q0b5zZ8DUJFtT7pVb3FQTz1v3CutLlF1elFZzd9sZrg+mLA5PM o8PG9FLw9ZtTE314vgMWJ+TTYX0kzsBNBFXtplYBCADedX9HSSJozh4YIBT+PuLWCTJRLTLu jXU7HobdK1EljPAi1ahCUXJR+NHvpJLSq/N5rtL12ejJJ4EMMp2UUK0IHz4kx26FeAJuOQMe GEzoEkiiR15ufkApBCRssIj5B8OA/351Y9PFore5KJzQf1psrCnMSZoJ89KLfU7C5S+ooX9e re2aWgu5jqKgKDLa07/UVHyxDTtQKRZSFibFCHbMELYKDr3tUdUfCDqVjipCzHmLZ+xMisfn yX9aTVI3FUIs8UiqM5xlxqfuCnDrKBJjQs3uvmd6cyhPRmnsjase48RoO84Ckjbp/HVu0+1+ 6vgiPjbe4xk7Ehkw1mfSxb79ABEBAAHCwF8EGAEIAAkFAlXtplYCGwwACgkQCC3Esa/37p7u XwgAjpFzUj+GMmo8ZeYwHH6YfNZQV+hfesr7tqlZn5DhQXJgT2NF6qh5Vn8TcFPR4JZiVIkF o0je7c8FJe34Aqex/H9R8LxvhENX/YOtq5+PqZj59y9G9+0FFZ1CyguTDC845zuJnnR5A0lw FARZaL8T7e6UGphtiT0NdR7EXnJ/alvtsnsNudtvFnKtigYvtw2wthW6CLvwrFjsuiXPjVUX 825zQUnBHnrED6vG67UG4z5cQ4uY/LcSNsqBsoj6/wsT0pnqdibhCWmgFimOsSRgaF7qsVtg TWyQDTjH643+qYbJJdH91LASRLrenRCgpCXgzNWAMX6PJlqLrNX1Ye4CQw== Organization: Ultimate Linux Solutions (Pty) Ltd In-Reply-To: <6c3aabbf-a4ec-4d0a-97d4-a7b7e01b678e@gentoo.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-report: Relay access (bagheera.iewc.co.za). X-Archives-Salt: be0e7577-6b61-4696-ba42-8ae245f0529c X-Archives-Hash: 07e98cddc26c39950dc21c1ae304ecce Hi Joonas, Thanks for the below.  Further comments there. On 2024/04/11 07:11, Joonas Niilola wrote: > On 8.4.2024 12.51, Jaco Kroon wrote: >> In order for glusterfs to mount successfully the fuse module needs to be >> available when mount.glusterfs is invoked.  This can be achieved in one >> of two ways: >> >> 1.  Compile the module statically into the kernel. >> 2.  Arrange for fuse service to be started prior to netmount (using say >> /etc/conf.d/netmount rc_need="fuse") >> > 3. Add "/sbin/modprobe -q fuse" to the init.d file's start_pre() > function, ExecStartPre with systemd, and make the ebuild warn about > CONFIG_FUSE_FS with linux-info.eclass. The latter can certainly be done and makes sense (only required if you're using the fuse mount, so if USE=fuse at least). The former doesn't make sense to do blindly in /etc/init.d/netmount (which belongs to sys-apps/openrc, not glusterfs). If you look at /etc/init.d/netmount it has some special logic in depend() to want nfsclient if (and only if) there is at least one filesystem with fs type nfs or nfs4. The logic for depending on /etc/init.d/fuse should be similar, but I don't think it makes sense to keep indefinitely expanding that depend() for every possible future filesystem that may have some special need like this.  So I think what we should rather do is find all fstab entries with _netdev and !noauto's fstype, and iterate those and add the relevant want's from there (for openrc at least), in some mechanisms where packages other than openrc can *supply* the relevant dependency list (eg, glusterfs package would say that it want's net, dns and fuse). Something similar for systemd would be great, but I'd have to study up on systemd a bit before I can comment in greater detail. At an absolute minimum I think we should amend netmount to add "use fuse" such that if fuse is added to the relevant runlevels it will start before netmount (and then I an arrange that  message be added to the glusterfs ebuild that fuse should be added to the default (where netmount is) runlevel).  As it is one can rc_need=fuse in /etc/conf.d/netmount, or rc_use=fuse and add fuse to default runlevel, but I believe we can do better than either of these options. Kind regards, Jaco