debian-forge/mounts/org.osbuild.ext4
Thomas Lavocat 5eefdc1e9a mounts: add possiblity to use norecovery with ro
To avoid kernel panics if the kernel attempts to recover the filesystem
when it's mounted as readonly. Offer the possiblity to use the
norecovery option for journaling file systems (Xfs, Ext4, Btrfs).
2023-02-10 14:09:03 +01:00

59 lines
1.1 KiB
Python
Executable file

#!/usr/bin/python3
"""
ext4 mount service
Mount a ext4 filesystem at the given location.
Host commands used: mount
"""
import sys
from typing import Dict
from osbuild import mounts
SCHEMA_2 = """
"additionalProperties": false,
"required": ["name", "type", "source", "target"],
"properties": {
"name": { "type": "string" },
"type": { "type": "string" },
"source": {
"type": "string"
},
"target": {
"type": "string"
},
"options": {
"type": "object",
"additionalProperties": false,
"properties": {
"readonly": {
"description": "mount the source as a readonly device",
"type": "boolean",
"default": false
},
"norecovery": {
"description": "Don't load the journal on mounting",
"type": "boolean",
"default": false
}
}
}
}
"""
class Ext4Mount(mounts.FileSystemMountService):
def translate_options(self, options: Dict):
return ["-t", "ext4"] + super().translate_options(options)
def main():
service = Ext4Mount.from_args(sys.argv[1:])
service.main()
if __name__ == '__main__':
main()