From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jes Sorensen Subject: Re: RAID creation resync behaviors Date: Tue, 9 May 2017 17:11:53 -0400 Message-ID: <08ba08b3-0e8c-c064-6b35-9084545e2c22@gmail.com> References: <20170503202748.7r243wj5h4polt6y@kernel.org> <87inlhpgzu.fsf@notabene.neil.brown.name> <20170504020452.kcmjgxnk7zsx7kdx@kernel.org> <1fca5ff4-358a-e0cf-d1a4-fc33ecdcbd62@gmail.com> <87o9v1n56m.fsf@notabene.neil.brown.name> <76407cb7-437b-142e-e74b-ddd56f3f4ddb@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-raid-owner@vger.kernel.org To: "Martin K. Petersen" Cc: NeilBrown , Shaohua Li , linux-raid@vger.kernel.org, neilb@suse.de List-Id: linux-raid.ids On 05/09/2017 05:03 PM, Martin K. Petersen wrote: > > Jes, > >>> According to >>> >>> Documentation/ABI/testing/sysfs-block >>> >>> Description: >>> Will always return 0. Don't rely on any specific behavior >>> for discards, and don't read this file. >>> >>> See also >>> Commit: 48920ff2a5a9 ("block: remove the discard_zeroes_data flag") >> >> Crap! >> >> Back to the drawing board :( > > Discard is now a deallocate hint like it was originally intended. > Behavior is non-deterministic and no guarantees are made wrt. block > contents on subsequent reads. > > To zero a block range you should be issuing blkdev_issue_zerooout(). > This will use the best zeroing approach given the device characteristics > (TRIM/UNMAP if the device provides hard guarantees, or regular WRITE > SAME which also does the right thing on some SSDs). If none of the fancy > zeroing commands work, you'll fall back to writing zeroes manually. Martin, This is fine within the kernel, however it is not overly useful for mdadm to determine which strategy to apply when syncing devices. Jes