From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Subject: Re: block-rbd: One function call less in rbd_dev_probe_parent() after error detection Date: Thu, 26 Nov 2015 08:54:45 +0100 Message-ID: <5656BAC5.3060501@users.sourceforge.net> References: <5307CAA2.8060406@users.sourceforge.net> <530A72AA.3000601@users.sourceforge.net> <530B5FB6.6010207@users.sourceforge.net> <530C5E18.1020800@users.sourceforge.net> <530CD2C4.4050903@users.sourceforge.net> <530CF8FF.8080600@users.sourceforge.net> <530DD06F.4090703@users.sourceforge.net> <5317A59D.4@users.sourceforge.net> <56536BAD.4000309@users.sourceforge.net> <56536D12.4000308@users.sourceforge.net> <5654B91D.4040808@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: kernel-janitors-owner@vger.kernel.org To: Ilya Dryomov Cc: Alex Elder , Sage Weil , Ceph Development , LKML , kernel-janitors@vger.kernel.org, Julia Lawall List-Id: ceph-devel.vger.kernel.org >> I interpreted the eventual passing of a null pointer to the rbd_dev_destroy() >> function as an indication for further source code adjustments. > > If all error paths could be adjusted so that NULL pointers are never passed in, > destroy functions wouldn't need to have a NULL check, would they? How do you think about to clarify corresponding implementation details a bit more? * Why was the function "rbd_dev_probe_parent" implemented in the way that it relies on a sanity check in the function "rbd_dev_destroy" then? * How are the chances to restructure the source code a bit (like changing a few jump labels) so that it should also work without an extra function call during error handling there? Regards, Markus