Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: use btrfs with zstd compression #37

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

theoparis
Copy link

@theoparis theoparis commented Jan 26, 2024

I specified zstd level 13 here, but I'm not sure that it is the best compression level in terms of maintaining performance. I did not make an option to keep ext4, so please let me know if that is an issue. Btrfs doesn't accept -m0 options so I removed them from the command.

This may solve #23

My Use Case

I am trying to build chromium with github actions and it ran out of disk space and then I came across this repository. After adding the btrfs option and using the action it seems to have helped significantly. However I'm still not sure if chromium will fit in the 6 hour time frame that github runners provide. I haven't seen anyone try this before...

I specified zstd:13, but I'm not sure that it is the best compression
level.
@easimon
Copy link
Owner

easimon commented Jan 26, 2024

The "overprovision lvm" option is not translated to btrfs in your PR. On ext4, it's a mkfs option, on btrfs it is a mount option.

The consequence of activating "discard" on ext4 is, that the underlying disk image files become sparse, which means the files are smaller than their maximum file system size, until they fill up -- which can lead to unexpected and unforseeable "no space left on device" when the image tries to expand but the root fs has not enough space left.

This is why I made that an option (defaulting to false). I do not know if btrfs behaves similar with discard activated -- could you please check what "df" says on the root device after creating and mounting the btrfs -- and maybe move around the "if", so btrfs gets mounted with nodiscard when the option is set to false?

And regarding compression: this should as well be an option with a conservative default (i.e. no compression by default)

@@ -178,11 +178,11 @@ runs:
# create and mount build volume
sudo lvcreate -l 100%FREE -n buildlv "${VG_NAME}"
if [[ ${{ inputs.overprovision-lvm }} == 'true' ]]; then
sudo mkfs.ext4 -m0 "/dev/mapper/${VG_NAME}-buildlv"
sudo mkfs.btrfs "/dev/mapper/${VG_NAME}-buildlv"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Domain Name: OVHCLOUD.COM
Registry Domain ID: 1688769111_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.ovh.com
Registrar URL: http://www.ovh.com
Updated Date: 2024-03-27T11:12:22Z
Creation Date: 2011-11-24T14:49:05Z
Registry Expiry Date: 2032-11-24T14:49:05Z
Registrar: OVH sas
Registrar IANA ID: 433
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +33.972101007
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: DNS104.OVH.NET
Name Server: DNS200.ANYCAST.ME
Name Server: NS104.OVH.NET
Name Server: NS200.ANYCAST.ME
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/

Last update of whois database: 2024-08-10T13:23:11Z <<<

For more information on Whois status codes, please visit https://icann.org/epp

NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar. Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.

TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability. VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.

Domain Name: ovhcloud.com
Registry Domain ID: 1688769111_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.ovh.com
Registrar URL: https://www.ovh.com
Updated Date: 2024-03-27T11:12:22Z
Creation Date: 2011-11-24T14:49:05Z
Registrar Registration Expiration Date: 2032-11-24T14:49:05Z
Registrar: OVH, SAS
Registrar IANA ID: 433
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +33.972101007
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registry Registrant ID:
Registrant Name: REDACTED FOR PRIVACY
Registrant Organization: OVH SAS
Registrant Street: REDACTED FOR PRIVACY
Registrant City: REDACTED FOR PRIVACY
Registrant State/Province:
Registrant Postal Code: REDACTED FOR PRIVACY
Registrant Country: FR
Registrant Phone: REDACTED FOR PRIVACY
Registrant Phone Ext: REDACTED FOR PRIVACY
Registrant Fax: REDACTED FOR PRIVACY
Registrant Fax Ext: REDACTED FOR PRIVACY
Registrant Email: REDACTED FOR PRIVACY - Send message to contact by visiting
https://www.ovhcloud.com/en/lp/request-ovhcloud-registered-domain/
Registry Admin ID:
Admin Name: REDACTED FOR PRIVACY
Admin Organization: REDACTED FOR PRIVACY
Admin Street: REDACTED FOR PRIVACY
Admin City: REDACTED FOR PRIVACY
Admin State/Province: REDACTED FOR PRIVACY
Admin Postal Code: REDACTED FOR PRIVACY
Admin Country: REDACTED FOR PRIVACY
Admin Phone: REDACTED FOR PRIVACY
Admin Phone Ext: REDACTED FOR PRIVACY
Admin Fax: REDACTED FOR PRIVACY
Admin Fax Ext: REDACTED FOR PRIVACY
Admin Email: REDACTED FOR PRIVACY - Send message to contact by visiting
https://www.ovhcloud.com/en/lp/request-ovhcloud-registered-domain/
Registry Tech ID:
Tech Name: REDACTED FOR PRIVACY
Tech Organization: REDACTED FOR PRIVACY
Tech Street: REDACTED FOR PRIVACY
Tech City: REDACTED FOR PRIVACY
Tech State/Province: REDACTED FOR PRIVACY
Tech Postal Code: REDACTED FOR PRIVACY
Tech Country: REDACTED FOR PRIVACY
Tech Phone: REDACTED FOR PRIVACY
Tech Phone Ext: REDACTED FOR PRIVACY
Tech Fax: REDACTED FOR PRIVACY
Tech Fax Ext: REDACTED FOR PRIVACY
Tech Email: REDACTED FOR PRIVACY - Send message to contact by visiting
https://www.ovhcloud.com/en/lp/request-ovhcloud-registered-domain/
Name Server: dns200.anycast.me
Name Server: ns200.anycast.me
Name Server: ns104.ovh.net
Name Server: dns104.ovh.net
DNSSEC: unsigned
URL of the ICANN WHOIS Data Problem Reporting System:
http://wdprs.internic.net/

Last update of WHOIS database: 2024-03-27T11:12:22Z <<<

For more information on Whois status codes, please visit https://icann.org/epp

###############################################################################

Welcome to the OVH WHOIS Server.

whois server : whois.ovh.com check server : check.ovh.com

The data in this Whois is at your disposal with the aim of supplying you the

information only, that is helping you in the obtaining of the information

about or related to a domain name registration record. OVH Sas make this

information available "as is", and do not guarantee its accuracy. By using

Whois, you agree that you will use these data only for legal purposes and

that, under no circumstances will you use this data to: (1) Allow, enable,

or otherwise support the transmission of mass unsolicited, commercial

advertisement or roughly or requests via the individual mail (courier),

the E-mail (SPAM), by telephone or by fax. (2) Enable high volume, automated,

electronic processes that apply to OVH Sas (or its computer systems).

The copy, the compilation, the re-packaging, the dissemination or the

other use of the Whois base is expressly forbidden without the prior

written consent of OVH. Domain ownership disputes should be settled using

ICANN's Uniform Dispute Resolution Policy: http://www.icann.org/udrp/udrp.htm

We reserve the right to modify these terms at any time. By submitting

this query, you agree to abide by these terms. OVH Sas reserves the right

to terminate your access to the OVH Sas Whois database in its sole

discretion, including without limitation, for excessive querying of

the Whois database or for failure to otherwise abide by this policy.

L'outil du Whois est à votre disposition dans le but de vous fournir

l'information seulement, c'est-à-dire vous aider dans l'obtention de

l'information sur ou lié à un rapport d'enregistrement de nom de domaine.

OVH Sas rend cette information disponible "comme est," et ne garanti pas

son exactitude. En utilisant notre outil Whois, vous reconnaissez que vous

emploierez ces données seulement pour des buts légaux et ne pas utiliser cet

outil dans les buts suivant: (1) la transmission de publicité non sollicitée,

commerciale massive ou en gros ou des sollicitations via courrier individuel,

le courrier électronique (c'est-à-dire SPAM), par téléphone ou par fax. (2)

l'utilisation d'un grand volume, automatisé des processus électroniques qui

soulignent ou chargent ce système de base de données Whois vous fournissant

cette information. La copie de tout ou partie, la compilation, le

re-emballage, la dissémination ou d'autre utilisation de la base Whois sont

expressément interdits sans consentement écrit antérieur de OVH. Un désaccord

sur la possession d'un nom de domaine peut être résolu en suivant la Uniform

Dispute Resolution Policy de l'ICANN: http://www.icann.org/udrp/udrp.htm

Nous nous réservons le droit de modifier ces termes à tout moment. En

soumettant une requête au Whois vous consentez à vous soumettre à ces termes.

local time : 2024-08-10T13:23:32Z

gmt time : 2024-08-10T13:23:32Z

last modify : 2024-03-27T11:12:22Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants