From owner-freebsd-net@FreeBSD.ORG Thu May 21 20:25:50 2015 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B99D330 for ; Thu, 21 May 2015 20:25:50 +0000 (UTC) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [IPv6:2001:4f8:3:ffe0:406a:0:50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 52C9B12C9 for ; Thu, 21 May 2015 20:25:50 +0000 (UTC) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [127.0.1.5]) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9) with ESMTP id t4LKPolh022199 for ; Thu, 21 May 2015 20:25:50 GMT (envelope-from daemon-user@phabric-backend.isc.freebsd.org) Received: (from daemon-user@localhost) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9/Submit) id t4LKPob9022198; Thu, 21 May 2015 20:25:50 GMT (envelope-from daemon-user) Date: Thu, 21 May 2015 20:25:50 +0000 To: freebsd-net@freebsd.org From: "avg (Andriy Gapon)" Subject: [Differential] [Commented On] D1881: Allow Illumos code to co-exist with nv(9) Message-ID: <719df076f7040cf32ba07538d34a712d@localhost.localdomain> X-Priority: 3 Thread-Topic: D1881: Allow Illumos code to co-exist with nv(9) X-Herald-Rules: none X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: In-Reply-To: References: Thread-Index: OGQwMzFkNjQ5NDRkZTRmM2I0ZmU5NDZhMGJmIFVeP04= Precedence: bulk X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 May 2015 20:25:50 -0000 avg added a subscriber: avg. avg added a comment. This has already been committed, so I've missed the train, but I still would like to comment. And I hope that my comment won't be just a rant. So, I don't like this change for several reasons. For one, given that nv(9) is a new thing while libnvpair already existed it would have been wise to select non-conflicting names for the new interfaces. And I think that it's still not too late to do that. Then, it seems that this change has solved a theoretical problem as I don't think that currently there is any executable that links to both libraries.Perhaps I am wrong. Also, libnvpair.so was treated like a "private" library: its ABI was wildly changed but its version hasn't been bumped. Finally, from ABI point of view libnvpair now appears very inconsistent: many of its interfaces are prefixed with "illumos_" while quite a few don't have that prefix. Now, why am I interested in libnvpair? At work we have a Python module that interfaces libzfs_core and by necessity libnvpair through CFFI. The module used to work perfectly well across FreeBSD, illumos and Linux because the library interfaces on ABI level are the same (from CFFI's point of view) across platforms. After this change FreeBSD is an odd platform. I have to add a workaround to keep the module working. And even the workaround is not trivial because of the mix of prefixed and non-prefixed names. Hope you sympathize. REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D1881 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: rstone, jfv, will Cc: avg, will, emaste, pjd, freebsd-net