Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1710819ybh; Tue, 14 Jul 2020 05:28:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwlWU4R+Amnb4AL2koV7niaJiGvLyQts6RRJkBWQnwqeDTAEiIQ3vk6DU6YumrILIi0RuWu X-Received: by 2002:a17:906:3446:: with SMTP id d6mr4153799ejb.323.1594729682653; Tue, 14 Jul 2020 05:28:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594729682; cv=none; d=google.com; s=arc-20160816; b=IH8QRg9B72Jb1Tay+RfvhaHjs+Th9DFxdCBP3daljkMUE4mpjtx/wnCfleC/jgbg6x 7dbaouQm1tqBCMPkx5aS2kSgEwmBWDhaoe0PJO2BMtW5bccqeMlHQnpuDJYGFjHE3ffa 9aqWSzK75qaTEmq40aJBLeBiAVDdFfPxBdpVBUZU8goOPCbM/ygdtU9ieaso3Fy6Zdf5 8GgMBk09nowhVEVuIq9nEqYAa2MlT7bUIjJnRYXcU0mFxy74QzI5PYchzlqjE5rk3NEq V75MXwHD7IUbVp188c5FWZp63R4+c2Vdm2kMSnu0+wEhKg+bNyaDHxM7AA5WpvL0asoA Ta6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=1LYBEaBRyuis0Be1SFDt4HqJhBIwOXUUG3MSMkOQOUw=; b=FNpBIAcE4qgK0s724N3OXbWCspTHiCqUPSUAXeZ3+yLtF9Vs5bgPybAhrN3jRSYfP1 k/R5bgU/AvfvjWlhpI/GfbNhWoC24UUFIR3zzfXRXx/S0KpknaRGqFL/0mrcEf3vbJcL zSDoZWjCJ9+bBCJ8P9w8JA7Ww7e67viOuKzH5DdWBDb7Bbi9u3mo3FVzM7QsABGd2ySA xg3AeOjNiI5Ne7hIcpL0XqViTkrVYDAvODhQbx0ExNFjyS1A0mTJ/tFXzhVI4zhqMPQ8 7rLzDBjgE/Y3CI70pFqns6RIMkLwYgJH8/1kY1cS7BbdOI8xV+yYOEMuEKTRLfTS/kU1 1bUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=WKLDC2c2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e1si11345940edy.464.2020.07.14.05.27.40; Tue, 14 Jul 2020 05:28:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=WKLDC2c2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728142AbgGNMYr (ORCPT + 99 others); Tue, 14 Jul 2020 08:24:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726630AbgGNMYq (ORCPT ); Tue, 14 Jul 2020 08:24:46 -0400 Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E397C061794 for ; Tue, 14 Jul 2020 05:24:46 -0700 (PDT) Received: by mail-ed1-x542.google.com with SMTP id b15so16851577edy.7 for ; Tue, 14 Jul 2020 05:24:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1LYBEaBRyuis0Be1SFDt4HqJhBIwOXUUG3MSMkOQOUw=; b=WKLDC2c2K9TBZmX1yD7Ch61moUX9XE7uQLZbiA0XH83CyWX2rU1lhfEbJNw2sRMkH4 vuAHn/GIfe2Xxuht0ijB7Xzn97EbdR3Uru40Vb2ME+UaSXw/KyxQ1fRn+F6F65LZSc// 3qqlEhWJArc2JNZNkjIsHValY5kzEUhLFKlw0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1LYBEaBRyuis0Be1SFDt4HqJhBIwOXUUG3MSMkOQOUw=; b=EgO/hMRHsH/SSihZSX/chVPG+BJ9LKthlR9fEvcA9PExc4puqjdsNX1u9JyIdXEhg1 Q4NmhUD5z7+PH8CDwiEnBGVhR3Oisl9LmJ5xAxulIJQCDjoRJvM94iIwW1EE7t32QitD ylZpWzJhMeuADW30DCbwW8zsxXchSRLb7iCQNfM1ZpFfO7XQHweVkgGxQIzLgyO4BZTc cobsFcj13DntngKIDMdbUxAxmxFeGkvgdZ1+AmzLDZtRy/+DZPUWlsViXQ4yi5Xc0LV/ NEOiv4jKfTuubGRtVCq1AJW31lJnvogOPqwDTIRgv2jiyMG5R0Ow2MZtEaK6x3XPb0VZ xCBw== X-Gm-Message-State: AOAM533MCE2FX9iSLMirEQP3rdzD751boUgEGkSwPaPBPOzXgA7F7JuP R9UUSoMNVUzbIOe2u7dwT9HNwk4RWeVvp/SF9SoOtg== X-Received: by 2002:a50:cd1e:: with SMTP id z30mr4076057edi.364.1594729485027; Tue, 14 Jul 2020 05:24:45 -0700 (PDT) MIME-Version: 1.0 References: <2733b41a-b4c6-be94-0118-a1a8d6f26eec@virtuozzo.com> <446f0df5-798d-ab3a-e773-39d9f202c092@virtuozzo.com> In-Reply-To: <446f0df5-798d-ab3a-e773-39d9f202c092@virtuozzo.com> From: Miklos Szeredi Date: Tue, 14 Jul 2020 14:24:33 +0200 Message-ID: Subject: Re: [PATCH] fuse_writepages_fill: simplified "if-else if" constuction To: Vasily Averin Cc: linux-fsdevel@vger.kernel.org, Maxim Patlasov , Kirill Tkhai , LKML Content-Type: multipart/mixed; boundary="00000000000077f70505aa65e488" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --00000000000077f70505aa65e488 Content-Type: text/plain; charset="UTF-8" On Thu, Jun 25, 2020 at 11:30 AM Vasily Averin wrote: > > fuse_writepages_fill uses following construction: > if (wpa && ap->num_pages && > (A || B || C)) { > action; > } else if (wpa && D) { > if (E) { > the same action; > } > } > > - ap->num_pages check is always true and can be removed > - "if" and "else if" calls the same action and can be merged. Makes sense. Attached patch goes further and moves checking the conditions to a separate helper for clarity. Thanks, Miklos --00000000000077f70505aa65e488 Content-Type: text/x-patch; charset="US-ASCII"; name="fuse-clean-up-writepage-sending.patch" Content-Disposition: attachment; filename="fuse-clean-up-writepage-sending.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kclwpq8b0 RnJvbTogTWlrbG9zIFN6ZXJlZGkgPG1zemVyZWRpQHJlZGhhdC5jb20+ClN1YmplY3Q6IGZ1c2U6 IGNsZWFuIHVwIGNvbmRpdGlvbiBmb3Igd3JpdGVwYWdlIHNlbmRpbmcKCmZ1c2Vfd3JpdGVwYWdl c19maWxsIHVzZXMgZm9sbG93aW5nIGNvbnN0cnVjdGlvbjoKCmlmICh3cGEgJiYgYXAtPm51bV9w YWdlcyAmJgogICAgKEEgfHwgQiB8fCBDKSkgewogICAgICAgIGFjdGlvbjsKfSBlbHNlIGlmICh3 cGEgJiYgRCkgewogICAgICAgIGlmIChFKSB7CiAgICAgICAgICAgICAgICB0aGUgc2FtZSBhY3Rp b247CiAgICAgICAgfQp9CgogLSBhcC0+bnVtX3BhZ2VzIGNoZWNrIGlzIGFsd2F5cyB0cnVlIGFu ZCBjYW4gYmUgcmVtb3ZlZAoKIC0gImlmIiBhbmQgImVsc2UgaWYiIGNhbGxzIHRoZSBzYW1lIGFj dGlvbiBhbmQgY2FuIGJlIG1lcmdlZC4KCk1vdmUgY2hlY2tpbmcgQSwgQiwgQywgRCwgRSBjb25k aXRpb25zIHRvIGEgaGVscGVyLCBhZGQgY29tbWVudHMuCgpPcmlnaW5hbC1wYXRjaC1ieTogVmFz aWx5IEF2ZXJpbiA8dnZzQHZpcnR1b3p6by5jb20+ClNpZ25lZC1vZmYtYnk6IE1pa2xvcyBTemVy ZWRpIDxtc3plcmVkaUByZWRoYXQuY29tPgotLS0KIGZzL2Z1c2UvZmlsZS5jIHwgICA1MSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCi0tLSBhL2ZzL2Z1c2Uv ZmlsZS5jCisrKyBiL2ZzL2Z1c2UvZmlsZS5jCkBAIC0yMDE1LDYgKzIwMTUsMzggQEAgc3RhdGlj IGJvb2wgZnVzZV93cml0ZXBhZ2VfYWRkKHN0cnVjdCBmdQogCXJldHVybiBmYWxzZTsKIH0KIAor c3RhdGljIGJvb2wgZnVzZV93cml0ZXBhZ2VfbmVlZF9zZW5kKHN0cnVjdCBmdXNlX2Nvbm4gKmZj LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQkgICAgIHN0cnVjdCBmdXNlX2FyZ3NfcGFnZXMgKmFw LAorCQkJCSAgICAgc3RydWN0IGZ1c2VfZmlsbF93Yl9kYXRhICpkYXRhKQoreworCS8qCisJICog QmVpbmcgdW5kZXIgd3JpdGViYWNrIGlzIHVubGlrZWx5IGJ1dCBwb3NzaWJsZS4gIEZvciBleGFt cGxlIGRpcmVjdAorCSAqIHJlYWQgdG8gYW4gbW1hcGVkIGZ1c2UgZmlsZSB3aWxsIHNldCB0aGUg cGFnZSBkaXJ0eSB0d2ljZTsgb25jZSB3aGVuCisJICogdGhlIHBhZ2VzIGFyZSBmYXVsdGVkIHdp dGggZ2V0X3VzZXJfcGFnZXMoKSwgYW5kIHRoZW4gYWZ0ZXIgdGhlIHJlYWQKKwkgKiBjb21wbGV0 ZWQuCisJICovCisJaWYgKGZ1c2VfcGFnZV9pc193cml0ZWJhY2soZGF0YS0+aW5vZGUsIHBhZ2Ut PmluZGV4KSkKKwkJcmV0dXJuIHRydWU7CisKKwkvKiBSZWFjaGVkIG1heCBwYWdlcyAqLworCWlm IChhcC0+bnVtX3BhZ2VzID09IGZjLT5tYXhfcGFnZXMpCisJCXJldHVybiB0cnVlOworCisJLyog UmVhY2hlZCBtYXggd3JpdGUgYnl0ZXMgKi8KKwlpZiAoKGFwLT5udW1fcGFnZXMgKyAxKSAqIFBB R0VfU0laRSA+IGZjLT5tYXhfd3JpdGUpCisJCXJldHVybiB0cnVlOworCisJLyogRGlzY29udGlu dWl0eSAqLworCWlmIChkYXRhLT5vcmlnX3BhZ2VzW2FwLT5udW1fcGFnZXMgLSAxXS0+aW5kZXgg KyAxICE9IHBhZ2UtPmluZGV4KQorCQlyZXR1cm4gdHJ1ZTsKKworCS8qIE5lZWQgdG8gZ3JvdyB0 aGUgcGFnZXMgYXJyYXk/ICBJZiBzbywgZGlkIHRoZSBleHBhbnNpb24gZmFpbD8gKi8KKwlpZiAo YXAtPm51bV9wYWdlcyA9PSBkYXRhLT5tYXhfcGFnZXMgJiYgIWZ1c2VfcGFnZXNfcmVhbGxvYyhk YXRhKSkKKwkJcmV0dXJuIHRydWU7CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKIHN0YXRpYyBpbnQg ZnVzZV93cml0ZXBhZ2VzX2ZpbGwoc3RydWN0IHBhZ2UgKnBhZ2UsCiAJCXN0cnVjdCB3cml0ZWJh Y2tfY29udHJvbCAqd2JjLCB2b2lkICpfZGF0YSkKIHsKQEAgLTIwMjUsNyArMjA1Nyw2IEBAIHN0 YXRpYyBpbnQgZnVzZV93cml0ZXBhZ2VzX2ZpbGwoc3RydWN0IHAKIAlzdHJ1Y3QgZnVzZV9pbm9k ZSAqZmkgPSBnZXRfZnVzZV9pbm9kZShpbm9kZSk7CiAJc3RydWN0IGZ1c2VfY29ubiAqZmMgPSBn ZXRfZnVzZV9jb25uKGlub2RlKTsKIAlzdHJ1Y3QgcGFnZSAqdG1wX3BhZ2U7Ci0JYm9vbCBpc193 cml0ZWJhY2s7CiAJaW50IGVycjsKIAogCWlmICghZGF0YS0+ZmYpIHsKQEAgLTIwMzUsMjUgKzIw NjYsOSBAQCBzdGF0aWMgaW50IGZ1c2Vfd3JpdGVwYWdlc19maWxsKHN0cnVjdCBwCiAJCQlnb3Rv IG91dF91bmxvY2s7CiAJfQogCi0JLyoKLQkgKiBCZWluZyB1bmRlciB3cml0ZWJhY2sgaXMgdW5s aWtlbHkgYnV0IHBvc3NpYmxlLiAgRm9yIGV4YW1wbGUgZGlyZWN0Ci0JICogcmVhZCB0byBhbiBt bWFwZWQgZnVzZSBmaWxlIHdpbGwgc2V0IHRoZSBwYWdlIGRpcnR5IHR3aWNlOyBvbmNlIHdoZW4K LQkgKiB0aGUgcGFnZXMgYXJlIGZhdWx0ZWQgd2l0aCBnZXRfdXNlcl9wYWdlcygpLCBhbmQgdGhl biBhZnRlciB0aGUgcmVhZAotCSAqIGNvbXBsZXRlZC4KLQkgKi8KLQlpc193cml0ZWJhY2sgPSBm dXNlX3BhZ2VfaXNfd3JpdGViYWNrKGlub2RlLCBwYWdlLT5pbmRleCk7Ci0KLQlpZiAod3BhICYm IGFwLT5udW1fcGFnZXMgJiYKLQkgICAgKGlzX3dyaXRlYmFjayB8fCBhcC0+bnVtX3BhZ2VzID09 IGZjLT5tYXhfcGFnZXMgfHwKLQkgICAgIChhcC0+bnVtX3BhZ2VzICsgMSkgKiBQQUdFX1NJWkUg PiBmYy0+bWF4X3dyaXRlIHx8Ci0JICAgICBkYXRhLT5vcmlnX3BhZ2VzW2FwLT5udW1fcGFnZXMg LSAxXS0+aW5kZXggKyAxICE9IHBhZ2UtPmluZGV4KSkgeworCWlmICh3cGEgJiYgZnVzZV93cml0 ZXBhZ2VfbmVlZF9zZW5kKGZjLCBwYWdlLCBhcCwgZGF0YSkpIHsKIAkJZnVzZV93cml0ZXBhZ2Vz X3NlbmQoZGF0YSk7CiAJCWRhdGEtPndwYSA9IE5VTEw7Ci0JfSBlbHNlIGlmICh3cGEgJiYgYXAt Pm51bV9wYWdlcyA9PSBkYXRhLT5tYXhfcGFnZXMpIHsKLQkJaWYgKCFmdXNlX3BhZ2VzX3JlYWxs b2MoZGF0YSkpIHsKLQkJCWZ1c2Vfd3JpdGVwYWdlc19zZW5kKGRhdGEpOwotCQkJZGF0YS0+d3Bh ID0gTlVMTDsKLQkJfQogCX0KIAogCWVyciA9IC1FTk9NRU07Cg== --00000000000077f70505aa65e488--