From nobody Fri Nov 15 12:43:22 2024 X-Original-To: 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 4XqcBk0H0Fz5d5wY for ; Fri, 15 Nov 2024 12:43:26 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XqcBj55Lpz4lxn for ; Fri, 15 Nov 2024 12:43:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731674605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding:autocrypt:autocrypt; bh=bFiGRt26wDBjkgLR9oyUxTuzxzePWRoPG5BQL91Zqas=; b=IjRZCLIwnvVNiXk9O4f6YXOUMk4r6vlN/jafnNKlS2Gp8pNzVNfJegfGGXnrBhGbHqVf3x kN3vELpiRFd2E40DeW2H7d5Huqqo3KpuWARAp4zK7tMexiY9NfihK9udGAu49yT/e2MVpC 6EJzMDbZu0yUcMmEmsLnRw3ABps6koiuG4Ih9mg1CSQo0dFyb84HMXcqzqAEWGJW4nHjzF 7TE3Xb8BVDts9IwRbMHgQcnqY8E/XI7iOUSDMMaf6uwICT81tC02Z1aYnN5dUZnvW1CIOT NKHvoCRCzw9jOq0VOsKp4PfSMuo0kPPDCFYZ7fpGinzZt4tQRlgU8fGG250SiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1731674605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding:autocrypt:autocrypt; bh=bFiGRt26wDBjkgLR9oyUxTuzxzePWRoPG5BQL91Zqas=; b=HIFiuvI3SN+Y/omGd0L/DwxQZrID+yc6IAu6pIVtW8TUO8+hOwY0SCkflfOAa5tKfp7ibz 33dbzVLUti1OqQGWeqxgVUVAN/pw9F6qwBxzBLQAbdpc638PPNvzUf3cc1PJUs34TKirZi jvWehRzis0/nUWQ+UB0trlbyvpKlPrKkIEqx31zueKlcPyuuINIPm8foXeWboNUO6LNBs8 SQEwaRYLxLh3Dv/0Nbxxpk9U9zJk6KPQ/+tuFH2NYiTwYroGd7WiRzZrItxbAPWxunEgsv sih8lfJODK8AztS/kRCoocO/nrV0q+eDypgcyIzQOYXjWpUOck4/KsDLH2dDKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1731674605; a=rsa-sha256; cv=none; b=wjvv3u6StiMcWMrjGlAvYgvr3P2ZsS5w2QCcp7r/0DwTLLprzUAHaTtplJc8H8muGarbdx foPiFU7ioj5hhDaa3Ci1ao0nwWTI6P5mWx3PNOo+zFy/O2BiLrpxoITIi2iydPdyqIyTJV qlQuRHDg4BNoGb1URQzWSm7D4QfCWoM6N+1aU8l5BmDOkHKlMX0zXz4tOK3YZA/TUt/CYF AOgQuKihgxOKWbKgIz9vHJ0cUFNWCX5ThzmcFSQyRxlkPuajQRCMf81UNzAykd8U0Ok5VL w8LoYqEU1vFvODYM7PZLwKJU8KVYaRQ2Zs8I96hS4QC/l0Xd2XOvi98ExboPYQ== Received: from [192.168.0.88] (unknown [93.188.39.137]) (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 did not present a certificate) (Authenticated sender: avg/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4XqcBj34nYz1Rb1 for ; Fri, 15 Nov 2024 12:43:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Message-ID: Date: Fri, 15 Nov 2024 14:43:22 +0200 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 Thunderbird Content-Language: en-US To: freebsd-fs From: Andriy Gapon Subject: tmpfs loses (sub-page chunks of) data? Autocrypt: addr=avg@FreeBSD.org; keydata= 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 gpPTjT15L8xGftEjQXF6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit We have a number of servers based on FreeSBD 13.3 that initially write some data to files on tmpfs and then the files are dispatched elsewhere. The writes are done by appending variable sized records to a file. There are no seeks or overwrites. I observe that occasionally (very rarely indeed given the amount of data produced) we get a corrupted file. In all cases so far the corruption follows the same pattern: data range from the end of a record until the next page-aligned boundary is zeroed out. That is, good data always continues from an offset which is multiple of 4096 and the zeroed area never crosses such offsets. Because of the page boundary, I have a suspicion that either tmpfs or, perhaps, the broader VM subsystem might have a race where writing to a page does not mark it dirty. Maybe this is related to paging out of a tmpfs page to the swap. The problem is that I have never been able to observe this happening, the corruption gets detected after the fact, hours after it occurs. If anyone could suggest any areas / changes / techniques to explore the problem, I would be much obliged. Thank you. -- Andriy Gapon