From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from down.free-electrons.com ([37.187.137.238] helo=mail.free-electrons.com) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bFijW-0003Hf-Gi for linux-mtd@lists.infradead.org; Wed, 22 Jun 2016 14:02:23 +0000 Date: Wed, 22 Jun 2016 16:01:18 +0200 From: Boris Brezillon To: Richard Weinberger Cc: "linux-mtd@lists.infradead.org" , Artem Bityutskiy , Alexander Kaplan , Brian Norris , Ezequiel Garcia Subject: Re: [RFC] Raising the UBI version Message-ID: <20160622160118.28a4339a@bbrezillon> In-Reply-To: <576A989A.6080502@nod.at> References: <57699356.4030802@nod.at> <20160622144344.07ba4d41@bbrezillon> <576A989A.6080502@nod.at> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, 22 Jun 2016 15:54:34 +0200 Richard Weinberger wrote: > Am 22.06.2016 um 14:43 schrieb Boris Brezillon: > > Why do we need to hardcode /sys/class/ubi/version to 1? We just need to > > update the mtd-utils to support version 2. Am I missing something? > > We don't want to break existing userspace. > Why should ubimkvol or ubiattach fail on a system with SLC NAND and > CONFIG_MTD_UBI_CONSOLIDATE=y? But version won't be set to 2 in this case. If it's an SLC NAND we don't need to use UBI version 2, do we. > > Especially since existing tools *will* work with CONFIG_MTD_UBI_CONSOLIDATE=y. > Rasing /sys/class/ubi/version and breaking existing tools is only acceptable > when we change all UBI ioctl() and sysfs files in a way such that version 1 > userspace cannot work. Which is not the case here. > > This is a nice example why version numbers is bad and feature flags should be used. > Currently UBI mixes the implementation version and the on-flash version. > We're changing only the on-flash version. The user visible ABI stays and will only > get extended. Correct. So /sys/class/ubi/version is representing the user-space ABI version, right? Maybe we should expose the on-flash version in a different file then.