Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752100AbcJJVQb (ORCPT ); Mon, 10 Oct 2016 17:16:31 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:57495 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751522AbcJJVQ2 (ORCPT ); Mon, 10 Oct 2016 17:16:28 -0400 Subject: Re: [PATCH] btrfs: let btrfs_delete_unused_bgs() to clean relocated bgs To: Naohiro Aota , References: <1472802392-10851-1-git-send-email-naohiro.aota@hgst.com> CC: Josef Bacik , David Sterba , From: Chris Mason Message-ID: <7ac97eed-6bc1-3b23-38cf-89c5eda49f23@fb.com> Date: Mon, 10 Oct 2016 17:04:03 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <1472802392-10851-1-git-send-email-naohiro.aota@hgst.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [2620:10d:c091:180::ee4c] X-ClientProxiedBy: DM5PR08CA0001.namprd08.prod.outlook.com (10.175.218.11) To CY4PR15MB1237.namprd15.prod.outlook.com (10.172.178.136) X-MS-Office365-Filtering-Correlation-Id: 543ed10a-4644-4a09-86f6-08d3f150faea X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1237;2:UcwB6FjZsBXSWm6miex7Spv2/sUma96S7R5VygoJbgLZefJWLj41UE79biUtplfF6iHZl+UnmNho6yJSoJN8RAAB+kOiKF4fKjj7N5uD0AElQhCZWJOkGdG9qW0EvPk+Sjx10Nm5QZA58T/rkv7AdJm9DdfajxHAzw2PuWYT+3LMJki7DtvTrsgqhfuLTAQD1+aB0k7Z3DDQbt9p4/q39w==;3:Us9wp8cnYzyn/ymv3lSbkUOQwwjbQuHXx4Qu8SEoLb0lOhk2yzdkpEiztQ1CBGjYNzniHiYkr/KlhtLenyPwjR0gqUGPK5dAIsuAcWijq9keuxYM7ObFjfKuZYlRkOBP5PRaJiWb12g8K2P9+n1Fag== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1237; X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1237;25:fInUeBd3S3x4P9f88wPwvSymTp7fvhXfnGPLwCClDvAxDGhcgzWq1+qmJPPhP77AdIeBHcQxmnp6UI3On9cuP6p8l2YefNn5YxwUlWL1O97oy0/jFv1UA49xHeKN7Uiind+Dp/aqrb6CccgB0T7bWY2507v5PuiNG0OfFmc0ojzgREpm39V4fovImc3y4FUJ0SJf9E50y/pdGbISj9EtXlGtF8JsIgX/YMQqjB3M4KunHIYrl3hl4qzyWb+fZWoPHw/UKII41mrAWD0jqd6vcJQDWeCwwAH1k/CbUfwklXj7yDdoidCNw9+Rw8Ax/I0PDbOopB9rJ4FFokjacRsq69KC60HAeIgfxuPA4DhOHgvf12F12DK3+MS/zHvPZ6/26i0Ndk/V+nUqoI921yeu1G0RxKmtL5+UpI4G31FmaMMcMVCRqz2Qy7iHdmStyfzr/ywYTB2vBdWuNEzieh73C1Kjxv5v/cK2+wcb5Ux1mkt7evtFXLzfPQmkTvLuVA2XfX0+Lvnub/IglA/me/1Jgow1c4gzcv7bWGTskm1kAgrhrJxI7Voqy2Tydqjhbyi6JlCxUqpihbrpDlwqZU1aRaUW8wzXVlKNPbKaae/I+chxGWU1q1NwWtpwtrrgcNJfHXojqKY/m+XmOpvQQ5+v4/TJZDj8enOQYrOU+oXpVdxAsg0jHBUW0RXKF0Lvl92kFGCRbMm/heMJlk3xehkyhQ== X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1237;31:F52Ni/hLwzRP+Rqm1XAlvLsekZ3U2CiccwnreziBlNLhLeWZp85pmONiJ+YAy8kwppZBmVOqpi2DOGEL6Og5QbgLYGSZlxvZdtIN+t6+13O7kQsKLNs9+LjIbz42YruKuts65weLcd+FfuQ5tUrSirRseYIokzOzg9KXk1qFpeIk+pwnFJFqH/I9brv7TG7snZd/mAzJeetUdQZRiNHU4PPQEZzuqFm41WQBWUxAB0jNX9AKA1bwmMvQDLDkfc5ioSBwgFsRgTLGVnH1XYesOg==;20:g+BvWQQE1sd3fnro6K5VlTht8lmCayIC883oyh6RAI/sBCZ/tVWRRHzk2oUFdF+vgTVRSheTG1VOOi62SitpGw/75tZg8qeV2gctla0wN2feJG0uNl3NNfYPNv/Nu56avLH2BNILCLyvZDijLpaNVivXgLtUeDrcV1xMyA0ILoE=;4:rj0hgQ8CB4x8I6LNA4MdSeLUHvqLfnk0ztBt/gUQs4bmCH8fD/YjyGz/zkTY4RxY4FrR53xAj5rn/rtvpE39UbIKw6nUjwm/xgWeWYDZgWvWRouy1w70eNiCWNTiKM5yEzB62ZhAKD7WUpI3uVDwafOapWn4N3xzcgz97gsXsqlU3iCnQkwFhFj2JvB28eHlBvp+Oo+RTZxHDlC4G2YSmuh/fIRfUkSvjfW+E1DYE8zHbpUhuWDzRYo+LLpm5J9tLVTLMo+jKi+N0YONfleTc+XseLfDFXQ8srxedRe4xxtBvnp41+6Sq9tYPp3pHi54pGQSj2UDWpO5b0gvoTus16IoBa2HvGU6d+YYBQLkPEY6P96jXQJzpyThGEAp4MPiUnaoC4ACMV/PC9BYM/sZo3FovXzAXv7q/3dHFtocBDvbJO3q9Dl4X4mIp4hnTo5i X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(79135771888625); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:CY4PR15MB1237;BCL:0;PCL:0;RULEID:;SRVR:CY4PR15MB1237; X-Forefront-PRVS: 0091C8F1EB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(24454002)(199003)(377454003)(586003)(23746002)(65806001)(47776003)(54356999)(2950100002)(65956001)(33646002)(50986999)(76176999)(7736002)(1706002)(101416001)(31686004)(42186005)(105586002)(68736007)(106356001)(305945005)(19580395003)(19580405001)(7846002)(97736004)(6116002)(5001770100001)(4001350100001)(6666003)(36756003)(77096005)(65826007)(189998001)(8676002)(81156014)(92566002)(5660300001)(83506001)(50466002)(31696002)(2906002)(230700001)(86362001)(4326007)(64126003)(81166006)(3826002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR15MB1237;H:[IPv6:2620:10d:c0a1:1110::1023];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY4PR15MB1237;23:Bpnz3iiEgdnBDQy3M1viOVmsxTal822O65F+w?= =?Windows-1252?Q?1LVT6Emf5Nkai4lGZDUBR/+92frunx9yL0ITs1ZqgKFHPWcsx0rBJ847?= =?Windows-1252?Q?+VNriUfJkSV0UCRn6KaSGg8gsNFrAmj6fBvdKKO7e0yTNTQkAMzd6CFF?= =?Windows-1252?Q?lKdYQhTVVN4e7FnbMlR/O67pNuvntRpNTpk2S2QLRZA3fjWptz4jKPqE?= =?Windows-1252?Q?zdl123zkjXmy7qV7a7WE1Lkt4lGFwDLQzxzxCykS3VIqQrSXiEE67s2/?= =?Windows-1252?Q?Lel96c2+Xhx/Rc67st8qXHuBWH1pHcrWJa6e/sAdFRfFizeyakW2OuL8?= =?Windows-1252?Q?HlkaiI6Xp10RLolUeFiDruEP2S+wyD0dpWZQoR3Rirutj5Dqtid3yANQ?= =?Windows-1252?Q?byFUSCx17Jj+h2Ck9E2nXAv586fibX6JKMrnrybCzlv1IDSpVQMw02o2?= =?Windows-1252?Q?0KVynxtMQ/kmXbSwfYSk3P5+d+epiNmMA3tahfQgcQXnjnZhYbjNViCk?= =?Windows-1252?Q?UZEao7bp3rxK85mhXATVnc6wwlyLmKGuRlcF28sULLqo6fOF5nrdp6e1?= =?Windows-1252?Q?upjadom/lkoHYkKiSt9h+YQmQyzGFIrFQN6BLiEJW0E4gYPfeKvTUHkK?= =?Windows-1252?Q?+OQDJ8ZqyvQPdxY1e+NXimqEs/akhiI2h6ecXCPI3j7xfE93a/l9N60g?= =?Windows-1252?Q?76utQ4+Mtr055mvWF53rbLXgXQ/sBPRBhDXHBVIYqbyIf9lWYzg/uryN?= =?Windows-1252?Q?0UDfuH9+8eu81VYj9VH0YWkdclIgJCvC3Qil0gbn5SnyosPNzMksbwIV?= =?Windows-1252?Q?S+npDE5FXHblJzU02AhZ1WcNR/oWWTO3W+cVBJV5z5fvRdTh5HcZM8km?= =?Windows-1252?Q?xxUDHMe+afi6hFgfjdVQklJt2byosSVBETyfCidoxJ0KRUBVcWFg8e+E?= =?Windows-1252?Q?IqajFOCJodRm4jXIDQ2nVj1io+00qF/EphUduoEP8r2xf/PJ5iIa0eHE?= =?Windows-1252?Q?l8ud2ImM7SfM3/AOoAuDqhF6un8ZRhVIN5VtxV0z8lC6XufJQJsLyN+4?= =?Windows-1252?Q?pI968JMR1zKnumAN3W6rw0idwZQ2nbPGWxJeRKlqmq7mGk0DUBPeXYk2?= =?Windows-1252?Q?Wr2DLr80rJrOTBbbR9fb8D+Tp4cui2TY3CRWcc66vzK3tGLUFThv9wG8?= =?Windows-1252?Q?qmPeaWI3kA9IDAAgu7d4KVSD9HZg7WpFnQyaaRTGChaj6yXWqKooomYl?= =?Windows-1252?Q?eyt7IAnN7cK5TFvbD2TTQCRKk9UDKluKxUzXWhj3x65mLnFfHMRp1e64?= =?Windows-1252?Q?fnm2DZrhtT5LFbzBW2xh4CD1MTfO1wt2FiyRjuRwGA+Mj+p0oYhyvS9M?= =?Windows-1252?Q?Ab5B404C5CCZ2ifDUwsOP9vS1lfdN5f7N9sUgQPt8/fYEDPK8f99w4?= =?Windows-1252?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1237;6:mtShzehxEffDedA7KGDXe4OsixbHdA2C+sakqKhFVbiwShbrxqD8sm8y1q0GWJF70ds8zMO622WkWN4U/Lt2DFhz0w63kGmHtPoiyW2htCZSma2p50QKzQPO3l3OXwKTd/N+Lvzci7yh7Xgz1Z+W2H9wIttJwNp842yK1gt+AY/2Gk0mOj5NAZoKC72fHmZ/vrn4l0XUh9/DfRwHXJ6hnaqZhV8uLeEc+wxMfLIeokHctKMRNK6ZJlHXtIKr8pmpjWJO0NQ4+xIn/8zG8SjBeXYRsNm590vSM/3aXkcff6yy4dSWhdkG4+iSbO4hgpmz;5:9Lp3Xhl2j92d/xh2UeD7bXRVHytn8jyHbdN/ihdpodhJ3eIkrTZl5Kh94760Dwbz796mUqeRTJBQJbFhsPPyRWC5RNxelgtg0/RdNUhli53dcsqJfsEVxYyF+CFWvr14F5N7iUAyJFu6lrhtZGMoTg==;24:yYZoV7ZAvcmi29YVSnyVT3e7qjmeYHKkhPafPE5FFN98ZhRBuxdEhG/PuyzGIwdZ++QJDK7njNwleTzhY8ppH94tCgxDe/GxuBiONT169cU=;7:u+AtEnfPXmh4e70DrOodVagjlrUKAysgM3pUVT5H8yS28cugwZufiSTjlxH/OKsBh4KMBsReJt4k7jEi17Xek280SoyAQXnXgZ2xoS953rswFtZbQDieK/864iDdyp/mmKfxDkyIW8UlvipHUULndPOHQ2xP1KfD4iR/NWX+uaWUClfLxbdDAbfGa+NpAdw45nh/yfmuCHAnMR2zie2EYY43fOc+swaZ2hhTqmwW4T//E/ckZ9L4QuHk/adP8yA9rtNbDcvHvFLEHgc1eDgbJjq0MXppS8vozl11P2qZ3cV+e1XHM2/tGOOQTjmhRkBtlQmtauP2QcXAXjUzLi7/y13u6oFH8R06U6fFtTKsalY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR15MB1237;20:/CgR4scv+J9zmHN3PMCVy++n4OVJHPplx785d4RyM+PmbGBdCKDr7rlRlRZkfAV9OOYG5wtIWwGYwHDAIilEyO0xeVT5tXV5eNXl+rp3dlH2OYU5ee0dUc42DvdcMoH4u38Gm5gj4IR1WVxzB/Ry8PA5X6i4YAKFsnl9rWteB3s= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2016 21:04:09.0176 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR15MB1237 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-10-10_09:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1206 Lines: 29 On 09/02/2016 03:46 AM, Naohiro Aota wrote: > Currently, btrfs_relocate_chunk() is removing relocated BG by itself. But > the work can be done by btrfs_delete_unused_bgs() (and it's better since it > trim the BG). Let's dedupe the code. > > While btrfs_delete_unused_bgs() is already hitting the relocated BG, it > skip the BG since the BG has "ro" flag set (to keep balancing BG intact). > On the other hand, btrfs cannot drop "ro" flag here to prevent additional > writes. So this patch make use of "removed" flag. > btrfs_delete_unused_bgs() now detect the flag to distinguish whether a > read-only BG is relocating or not. > > Signed-off-by: Naohiro Aota This runs into trouble with btrfs_rm_device(), I've been triggering crashes with btrfs/101 here. The problem is that by the time we get around to running btrfs_delete_unused_bgs(), btrfs_rm_device() has long since free'd the device. I thought about calling btrfs_delete_unused_bgs() directly from btrfs_rm_device(), but it might bail out without returning an error for a number of reasons. For now, I've reverted this patch from the pull, but we can bring it back once the device removal path is covered. -chris