From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934141AbcIUSVv (ORCPT ); Wed, 21 Sep 2016 14:21:51 -0400 Received: from mail-sn1nam02on0093.outbound.protection.outlook.com ([104.47.36.93]:57363 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933024AbcIUSVu (ORCPT ); Wed, 21 Sep 2016 14:21:50 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=zach.brown@ni.com; Date: Wed, 21 Sep 2016 10:47:23 -0500 From: Zach Brown To: Richard Weinberger CC: , , , , Subject: Re: [PATCH v2] UBI: add debugfs file for tracking PEB state Message-ID: <20160921154723.GA16843@zach-desktop> References: <1474404339-9524-1-git-send-email-zach.brown@ni.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Originating-IP: [130.164.62.11] X-ClientProxiedBy: CY1PR15CA0025.namprd15.prod.outlook.com (10.163.14.35) To CY4PR04MB0615.namprd04.prod.outlook.com (10.172.136.136) X-MS-Office365-Filtering-Correlation-Id: b5225e21-c719-48fa-91b9-08d3e2369777 X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0615;2:OO9U3oGk/AkpY9mLOLsXMrKo+G+2DCB6reOLupoxcGL03FbVvbVT7+FJ00SpOVV4b/m/6yiwNulT50Y+CIItJS16KhaHQhzN2V8BgSektIaEZgHptsldSvr4K6UnGkL3wY50C8LLLKg658tHf1TXJRjLhcZ7DpgAwbsL8s71vg0YM/OlS2RuJ/rMiAL2+N5f;3:pwBsL2vbtD/vmkFEKv4SVYp7f9e5wsnZu0Oy5TYJMKqWAcYF0cmWMcgWz/I0OZrt4tk1sih7lDXtGj/0YhX92YUG5k0OhSw13zPAmM6Wwe0vaheXABFbYZEn8hGTWAI7 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY4PR04MB0615; X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0615;25:yZcWKaX93vdHTzOGo4DmEa1mB0ICsxcduzLeuDk4xJvOTFLig2ma3vRLa5yapikvx7b/Yq40P1nH8AM59iC6dlXAcs6FUaPw5FcMGz3fEdHvoFUjFoB5UxNQcelIPFux+fQjVl4hpMvnYEyQtSBm44+tdR3mY61Kjfiw2zJwkk2pue5883E79xoqnivS5IkN76yfaK+Q51HvSs4UDEb3I7NJ9k5fmp2vDb0ZGtHqbSQTpYQQu7L53XR4tSI1/kY0YOyouaxfQZG5z0SWZFVRCN0zf/17UquNSguL0Lo/dEiJp3lnlQ5oIZXgcHArbnj3tWQUnfqwJ0isLxDceKi2ypoILLeWGwWbJZ0sM26mLNV3bmBprxB3F775oUGxAbzIBm3KOvIiZGvHAM8hKiPfuC85kDJV8ywFv1JAqLYAtGK+3GjQYtC7Sykr71EAEOwVFyzM9WaG8KIoUFBCjS+3sraAeh/hm1D9//bt7kPX9h8s7F6AT8UjjowPuWCHkVr3QieN0e3ckMWNO1Bbaznx+YUQ3keeDlRGr6PiCaMed25p8SzYleP6MwtrwMcE9DvWVo1VaG6kS8zBQfd2pMHgdBJVFemOe/CLHfTumkYY8n7XEM+LT837tcTWsnLSoRvmeuQh1VwmHIfRR1032D/yR5x/b5Fp161NC6FE9zqq5cU1h6ADZNRYiI3RzoVyzYNWZXGVJXM9TuRYsgDT9YPxgw==;31:PaWm5t3uPj7Ejg1GY0pFPuwwfiGNUhvYVUNDuFF1+F2KAF6EbW5rirFR29x1T550oUEexjMZ9xKO3IhHNMxiouh2xFlN/DGRcbjaxkUEm44DzV1l9VgTj+V11mkj+zNO+oPc+FbAyPE16EoTMxx2f6X0cEKAcnZuwxNdP8N62PXZLMYDjIc41OQzyVHNtNcScjFsuWDwYG3zaNdfvVwZWGSzNS4GTaVWbGUuDwAV2vQ= X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0615;20:P2j1Uq9MyGOedO7z6AG8eixsL2r47ARlCVhI9c22SNlmL/L5W2fTaJZPvx67uMWZFs93eAy1HeDl3DOU8zAqkYFAV2fcl9riEAVN3DzhVkLtzAbIMyvx1rbgmlBs/YV4Pa7HZ65UzVyb3qdl9OguywfD5gSm/qIQ3d+j0uIGHwPwJ5iBbFEzb2vl4A/3v/vXM0rH8GoijxfDOy/soy8xC0MOStEzVv/+XLiHvd55XXDeAvUQiD/CUfNzRUDrMWtOz9YCJxSURq2gHpork21pUKxeLqIdkKDykhGwPMY6Jnr9NKCyLXHqJWcY7Rb1YqOzDysuinTSeJKaxZzf3C8Y7hNQfQGeolxh/MKVWLT2s3PN5Tj4xcKd2C6eoAL6ZEaBiVyC/ZoNNXqeBlSgh17vl5aHqVN0ure/QLcrv3wHUJvvWXIRH1P+MHr5+bwCy61db+QHr2hJfdjRIw+L4YQHh/UCmaKs86VnUQxj799X3hTvX3fjKBmhMoVGrsOLTjPFLLbNBPK8s3oZhkeanLUUL58zcStxqa6YaQVl8MZL4WXsoN9nMVRNlXcaPx6KD/IEEMuqFc5Y3P1UKDpAPrxkDu050ZoFwpzwSbovHZuFcik= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(145744241990776); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:CY4PR04MB0615;BCL:0;PCL:0;RULEID:;SRVR:CY4PR04MB0615; X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0615;4:R9x2asn8gBQHnFoFPHkv9QG5xtVObiOg2a7NEBTcqMhOoxpw2+mgsNXnZ7mapLVCIYyuGICSmvOFUei+dUIGr/j1zaImI/TAh0PCJQAGpxj44NwbKyA3WQ53JZGkY+LwQzVFz9JdUcSuEHtWOqyQRI+TI9w8mBkTNznXaBINT4QEvF9SA6if7nHRIPqO9ARLdUx7D8bRm7ifbZUVNAGSOwLp7CF+titchHD3KsmJyf2Mpa14V1cVdawinDTTvb6E43bZzBTSWA5YsKZegV4NzY3W9nzGms+L664sJeojgjh3BXMZZBgcieatRJrtZ50z9VTUT/GxEziGqAJiVLpvb8uleftwx7OYifQHrrmMooU4Mg3mtt7IaB08eOIQ0dBiMZpB1KEkpvX+5IAj1r9cVN8d44YK3r3MsK+UQElqBmSCDwjDlI9M8m9D4xjJeDBX X-Forefront-PRVS: 007271867D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(199003)(24454002)(7736002)(6116002)(50986999)(9686002)(97736004)(7846002)(4326007)(68736007)(586003)(86362001)(42186005)(97756001)(3846002)(2950100001)(2906002)(54356999)(5660300001)(1076002)(81166006)(66066001)(50466002)(4001350100001)(76176999)(101416001)(47776003)(305945005)(33716001)(19580405001)(77096005)(46406003)(33656002)(110136003)(19580395003)(83506001)(105586002)(23726003)(8676002)(189998001)(92566002)(106356001)(81156014)(18370500001)(107986001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR04MB0615;H:zach-desktop;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR04MB0615;23:PIO+ucS8abZs0BH30YIHuqZX22sdkrv8F4y3Py+m9?= =?us-ascii?Q?A04jWlGGO1rSNYbXAzuXWcRJRFYsh5F8zIujVUA5sy/oeZ3iHuWpmIjkz+uX?= =?us-ascii?Q?5WF5bpccRBBasOuAt7oRVQSwgg5IWIgNaNZaQZMhLZb/CdDF49cd/rU1JxQA?= =?us-ascii?Q?UAURpnPS0a5eiGIS5Eem7tw2nApQog8eJXW4lCasfb7KAA60P+++dFmREO2W?= =?us-ascii?Q?tSWbgTepDIwNZ8EKtGmyYjjTQiFy1KK7Ws/xc6FOCns204d17331jdAMBMxc?= =?us-ascii?Q?DfgiNvvoI0F9ugklq/8qM68PpWZxF+5Y2mMR6N8JH1ZMv/iLtplntDRCRLdI?= =?us-ascii?Q?8BxGicn5C4OjWB1x1ZXuJKu/hEU+Ewuqwg9AgCw0feQqrBu8Vpr7XUA+o9dc?= =?us-ascii?Q?KYFAhIeaAxRFEiPCLtA2mHluUtxiO9TG9KehFazdLyuRUJqjDrtJr/Ltf/qT?= =?us-ascii?Q?LIbkFBT/rXWdeetZLskx32dSW4/1TpNbuzN/YcHpH1ppaSJAcFK6Ia3cqyOc?= =?us-ascii?Q?Nx/6UMVLHnKJQfqmpGkcL5UL+lIrlGHnqC6CP5hz9yKTUSIUnyXa9JGa6Utj?= =?us-ascii?Q?3vLY7EWXxQsdUKm16iNM/wFyxtGD/w1cceM1PvHazuX1F2qjFeJfYVwagjmR?= =?us-ascii?Q?JM+O7S5uyf06/jzYo4+IsrrifGSOA6GX6uMDvpxiuLkgTgId1lZy9KIGpJZT?= =?us-ascii?Q?HCaFd50YomRj/5Unn69hCl03S7CUrs9TtFJzw848UD6rj76LzrGgzcWvgDhd?= =?us-ascii?Q?sccU7ATCoxHb/WW47ThDTlaL2gZ/PB5NS1ZtkqpJBJx73FvJtJhw2Bp2xKSJ?= =?us-ascii?Q?oozdbFlavUUOqZBa2fhjouMxb4vQ+wyTktZt1wkECkbqc6atJ/DhVnIjC+Yf?= =?us-ascii?Q?Hlq4bfaerR0rXY69KQo8FvAcfd5GXaeXVD8yvJFCjbe9n0F97Rs5yLLo39Cb?= =?us-ascii?Q?2MaiLn4F4bd1B0d3L9t/1KnXldidHOaxcVdoLukj2EjevbmCrBGmpuEi4Z/s?= =?us-ascii?Q?6jTEeZD1vZeQaYni/cglMGsvfKzpYenqiwWIRVmr4m/TRjVlTtWDC1dhV9Fp?= =?us-ascii?Q?HO/wQs3WgmYgcHk6dWzh/GGGeudCBDXd/lEF+/42S5cE8y971+KI0HT9YZ0K?= =?us-ascii?Q?CzKG4mqGNyP9g8TFPBREeS5nPmtCx2uJM4KUG1FDBdzE1lorkqAM8beD0TeT?= =?us-ascii?Q?y6twHY84hl3dQo=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR04MB0615;6:Bu0Dvgbvs1TzNRaBt01OFS/HEz4BZsztVeil7RBbgVUBLpPlJKcawr9E74ctD3QXwX5A/GxuEXqUlBUr1vVFugEjrQulAMgCPbqcgtLD30zNUm8DyxhNNCUmqoL4pww6UOtrjrLZVtmrQwMXvTyUKRspKjfJYFski5sU4Akx3D7ljdILI77Bwt+NAXZBd26VPhM1JN1gSuG49Bt0obD6SwGFwE6jhobQVX2Mh4/wQ0OmVDIlK8FGTlmcK8L++u27NF8yHMLCouFO8LC3TidSdaeJ1WFsXP4/lm9XjBM+JoQ=;5:qfj7hIdi0Etzmrn0Z+guli4FZq6rN193ksulyMDkncnKU1RmiKm6IAdrUMS952nEGZTNBv0oDSTyKaVV5ZJV37QmoqT1RSekEL64rtAd8tCTeTyCpVpZ2UmW73HdtMEfPpqls8nYdXGLW9x7q1kyLA==;24:e13ZE8hrKJMWnwcXVSQlMFskrxMPsR25MWDpakfdtM9RIfPoG9BRy2f1TpU5WH4RxmfyW0wKagAHeGPiT+AMYrWAJs9TQgCB5ePmiZpF/lY=;7:ZptijYX66hoT5xcmweEx1/3gA+I6GY9EWzA7NJc1Y2iFUbBi3w9Jv+tfa00gEEf54ebkBpqe+nPC8lII9DXOxRuMdzmy0vZSLppagmAtPwvk4ziM6HI2WS9TWg6ZZRnCRH4JVF9ssTyfv3db3u6YiB0AAEXASH+qF6sjifynrsP+cTfhu2aDfMkUEZ8vmn/gzo3K/BHtEXxDlSuHpxkWsglCvi1sxOeU+F1MvxiBKK+/f4QwMaf/kp2M/5HuPJXqvviUyCOpQqaWu4XFsi2VitcK33pAAFkWOC7YK9wGRjFfsYOaV+2sLIk86pF2Zg1k SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ni.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2016 15:47:28.3636 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0615 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Sep 21, 2016 at 01:13:29PM +0200, Richard Weinberger wrote: > Zach, > > On 20.09.2016 22:45, Zach Brown wrote: > > From: Ben Shelton > > > > Add a file under debugfs to allow easy access to the erase count for > > each physical erase block on an UBI device. This is useful when > > debugging data integrity issues with UBIFS on NAND flash devices. > > > > Signed-off-by: Ben Shelton > > Signed-off-by: Zach Brown > > --- > > v2 > > * Cast pointer in unsigned long instead of int to avoid build warning > > * Use ubi->lookuptbl[] to get erase counter instead of reading from flash > > > > > > [...] > > > +enum block_status { > > + BLOCK_STATUS_OK, > > + BLOCK_STATUS_BAD_BLOCK, > > + BLOCK_STATUS_ERASE_COUNT_BEYOND_MAX > > +}; > > Do you plan to add more states? > In UBI a block can have much more states. > I'd like to see all states, free, in protection, used, bad, corrupted, scrub, etc... > Adding more states sounds like a good idea, but I'm not sure how to get that information. If I made the in_wl_tree function accessible I could use that to get the information, but I'd have to check each RB Tree. Do you have a suggestion? > AFAIK BLOCK_STATUS_ERASE_COUNT_BEYOND_MAX is also unreachable since UBI aborts before that. > Do you mean that the block would've have already been marked as bad? So there's no point checking? > What about locking? :-) > This is racy. > You need at least wl_lock. Otherwise wl might disappear under you. > And ->lookuptbl[] can return a NULL object too. > Do you know what ->lookuptbl[] returning NULL would signify about the state of the block? Currently I'm thinking of treating as a bad read status and letting the show function move on. > Thanks, > //richard