From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from km30816-02.keymachine.de (ns.staticvoid.at [87.118.114.168]) by mail.server123.net (Postfix) with ESMTP for ; Sun, 24 Jun 2018 12:01:21 +0200 (CEST) Received: from nn.nn (cpe90-146-123-141.liwest.at [90.146.123.141]) by km30816-02.keymachine.de (Postfix) with ESMTPSA id 3E3271220170 for ; Sun, 24 Jun 2018 11:56:23 +0200 (CEST) Date: Sun, 24 Jun 2018 11:53:48 +0200 From: Harald Braumann Message-ID: <20180624095348.GA819@nn.nn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [dm-crypt] dm-integrity standalone - lack of metadata List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: dm-crypt@saout.de Hi! I'm using the dm-integrity target standalone with crc32c for component devices of a RAID. I don't use journaling, because the perfomance hit is too big and I don't really need it in that case. I want to automatically activate these targets using udev rules (see below). However, the superblock lacks some crucial information: - Integrity algorithm The algorithm is not stored in the superblock and so I have to use crc32 hard-coded in my udev rule. This is of course no general solution. I don't quite understand why it is not stored in the superblock. Is there a technical reason for that? - Journal mode I open the integrity devices without journaling. But again, that's hard-coded and it would a be problem if I had other devices, where I actually want journaling. It would be nice, if the superblock contained a use_journal flag so the default could be configured on the device itself. - UUID/label support Not strictly required for my use case, but would be nice for persistent naming. While playing around with that, I also noticed that integritysetup format is extremly slow (this is on an HDD): integritysetup format /dev/sdb2 -v --integrity crc32c --sector-size 4096 => 39.6 MiB/s Format with --no-wipe, open the target and use dd: dd if=/dev/zero of=/dev/mapper/int bs=1M => 63 MiB/s Same as above, but opening without journal (which really isn't required for that step, even if the final target should be journaled): => 135 MiB/s I have absolutely no problem with using the dd method, but it kind of makes the built-in format method redundant. Best regards harry /etc/udev/rules.d/70-dm-integrity.rules: ACTION!="add", GOTO="dm_integrity_end" SUBSYSTEM!="block", GOTO="dm_integrity_end" ENV{ID_FS_TYPE}!="DM_integrity", GOTO="dm_integrity_end" RUN+="/sbin/integritysetup open $devnode $kernel-integrity --integrity crc32c --integrity-no-journal" LABEL="dm_integrity_end"