From nobody Sun Dec 11 09:43:01 2022 X-Original-To: freebsd-fs@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NVKYz6r6nz4k7Pg for ; Sun, 11 Dec 2022 09:43:03 +0000 (UTC) (envelope-from artemkuchin76@gmail.com) Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com [IPv6:2a00:1450:4864:20::12f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NVKYz4s9xz41cL for ; Sun, 11 Dec 2022 09:43:03 +0000 (UTC) (envelope-from artemkuchin76@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lf1-x12f.google.com with SMTP id x28so13799760lfn.6 for ; Sun, 11 Dec 2022 01:43:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=kRhRGyPpEMNTt1UGAHVre1MIR4+14b3Ho/zja8uRyGk=; b=cp54x4MI9cSJjYyRAkb68EVL3tw+w61FuxKEsFtbavQmdrEBZvSfgjgdk3oFOl5bf7 UYV4/4IN6D2aq0DCLXWui1ngPXKS6daQyKjb31gAkplpIw4zg3SGIkpVo8GSYmhvOezR spfwnCGgZjf3Vee1/aXP1epnYZ0hHl/Ql6bvNv3n/R3ZRgg7OybdZeR4etcbDSMPJKV5 poCwpn+mH2z12bDm5qrBVw34rSNFpbo20cxNhVcu0xfUhpMvjhYeW5i9kfSlGfkMHl+m VZLb8/FoDhNI/vGyLuD2962k8KL4x19xIJ9hyocX0BasPoG7KR+mDWst85W4wgCJkfU+ HVXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=kRhRGyPpEMNTt1UGAHVre1MIR4+14b3Ho/zja8uRyGk=; b=OQ+nS+qIJ+maaNZEIZTnc4npVR7Fvn63WPYZKIE53zBpxT2JXz/zdw9JuMgT/xbwtz KjEVM1ckE8zu0LM1/raok/Y+Jekf3qTW3PPXjG14SqWbc9bkNw7YA1FgcXguHph3JwP3 VRvFAJLKPkDPA/CCy970smkRUru2dcovrp0JpgWYcotsvzu9BJE7T4tPIl3Nk8DUGkA9 rEGU1UELm1yiQiqYcz3jOmb1iFvaA+6m5j5HEbKowIkT58C1XfLcD0j43B8xDKA5Ugta FzAUkZe0NKvX/cj14Ra+cpR+2FiPwdYIn1ZbEYPmnxO94J2OlzXGQw9BFwqTKrmGy2/a r2ig== X-Gm-Message-State: ANoB5pkykkWSmrKMB13TJinpgLF1imsahYCmxO8uGIu2vRCdUXe8Rpqd 8lC8ry4sYmZFsiRrmhI9i3CdNIGeRWM= X-Google-Smtp-Source: AA0mqf6TW9uq9kx2Zqs/CWiQmsczdlAheVW6+Lhv/MQCrRcAaHB5cNFHtpRXGFk2HUOtO5zZ+OBTpQ== X-Received: by 2002:ac2:5685:0:b0:4a4:68b9:66c5 with SMTP id 5-20020ac25685000000b004a468b966c5mr3190326lfr.16.1670751781902; Sun, 11 Dec 2022 01:43:01 -0800 (PST) Received: from [192.168.0.12] ([185.22.24.200]) by smtp.googlemail.com with ESMTPSA id 8-20020a2eb948000000b0026dd4be2290sm860836ljs.90.2022.12.11.01.43.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 11 Dec 2022 01:43:01 -0800 (PST) Content-Type: multipart/alternative; boundary="------------AKNJiOxeEg7am6oLTbw3W0Ys" Message-ID: <241b816c-6d46-5be3-e523-824737033239@gmail.com> Date: Sun, 11 Dec 2022 12:43:01 +0300 List-Id: Filesystems List-Archive: https://lists.freebsd.org/archives/freebsd-fs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-fs@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: Everchanging bytes at the end of mirror disks Content-Language: ru, en-US To: Warner Losh Cc: FreeBSD FS References: <85c5a64c-915e-d790-e617-c94f3fb7cd9a@gmail.com> From: Artem Kuchin In-Reply-To: X-Rspamd-Queue-Id: 4NVKYz4s9xz41cL X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N This is a multi-part message in MIME format. --------------AKNJiOxeEg7am6oLTbw3W0Ys Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 11.12.2022 11:22, Warner Losh пишет: > > > On Sat, Dec 10, 2022, 11:52 PM Artem Kuchin > wrote: > > Hello! > > I am writing a small utility for myseld and part of it is comparing > gmirror disks. After running some tests i realized that some bytes at > the very end of disks are constantly changing. > > > The last sector has metadata about the mirror and about the mirror > element.  It's this latter data that differs. > > Looking  at  g_mirror.h struct g_mirror_metadata {         char            md_magic[16];   /* Magic value. */         uint32_t        md_version;     /* Version number. */         char            md_name[16];    /* Mirror name. */         uint32_t        md_mid;         /* Mirror unique ID. */         uint32_t        md_did;         /* Disk unique ID. */         uint8_t         md_all;         /* Number of disks in mirror. */         uint32_t        md_genid;       /* Generation ID. */         uint32_t        md_syncid;      /* Synchronization ID. */         uint8_t         md_priority;    /* Disk priority. */         uint32_t        md_slice;       /* Slice size. */         uint8_t         md_balance;     /* Balance type. */         uint64_t        md_mediasize;   /* Size of the smallest                                            disk in mirror. */         uint32_t        md_sectorsize;  /* Sector size. */         uint64_t        md_sync_offset; /* Synchronized offset. */         uint64_t        md_mflags;      /* Additional mirror flags. */         uint64_t        md_dflags;      /* Additional disk flags. */         char            md_provider[16]; /* Hardcoded provider. */         uint64_t        md_provsize;    /* Provider's size. */         u_char          md_hash[16];    /* MD5 hash. */ }; From this metadata seems like it is updated nearly each write: md_sync_offset (from g_mirror_sync_request), md_hash, maybe others. Poor last sector is written quadrillion times a day every day. It does not look good to me, but maybe i am wrong? Also, does it mean no go for gmirror on ssd? Artem --------------AKNJiOxeEg7am6oLTbw3W0Ys Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
11.12.2022 11:22, Warner Losh пишет:


On Sat, Dec 10, 2022, 11:52 PM Artem Kuchin <artemkuchin76@gmail.com> wrote:
Hello!

I am writing a small utility for myseld and part of it is comparing
gmirror disks. After running some tests i realized that some bytes at
the very end of disks are constantly changing.

The last sector has metadata about the mirror and about the mirror element.  It's this latter data that differs.


Looking  at  g_mirror.h

struct g_mirror_metadata {
        char            md_magic[16];   /* Magic value. */
        uint32_t        md_version;     /* Version number. */
        char            md_name[16];    /* Mirror name. */
        uint32_t        md_mid;         /* Mirror unique ID. */
        uint32_t        md_did;         /* Disk unique ID. */
        uint8_t         md_all;         /* Number of disks in mirror. */
        uint32_t        md_genid;       /* Generation ID. */
        uint32_t        md_syncid;      /* Synchronization ID. */
        uint8_t         md_priority;    /* Disk priority. */
        uint32_t        md_slice;       /* Slice size. */
        uint8_t         md_balance;     /* Balance type. */
        uint64_t        md_mediasize;   /* Size of the smallest
                                           disk in mirror. */
        uint32_t        md_sectorsize;  /* Sector size. */
        uint64_t        md_sync_offset; /* Synchronized offset. */
        uint64_t        md_mflags;      /* Additional mirror flags. */
        uint64_t        md_dflags;      /* Additional disk flags. */
        char            md_provider[16]; /* Hardcoded provider. */
        uint64_t        md_provsize;    /* Provider's size. */
        u_char          md_hash[16];    /* MD5 hash. */
};

From this metadata seems like it is updated nearly each write: md_sync_offset (from g_mirror_sync_request), md_hash, maybe others. Poor last sector is written quadrillion times a day every day.

It does not look good to me, but maybe i am wrong? Also, does it mean no go for gmirror on ssd?

Artem


--------------AKNJiOxeEg7am6oLTbw3W0Ys--