From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C369CC4338F for ; Mon, 9 Aug 2021 09:58:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id ABF7760F92 for ; Mon, 9 Aug 2021 09:58:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233802AbhHIJ7H (ORCPT ); Mon, 9 Aug 2021 05:59:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233799AbhHIJ7F (ORCPT ); Mon, 9 Aug 2021 05:59:05 -0400 Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 969E0C0613D3 for ; Mon, 9 Aug 2021 02:58:43 -0700 (PDT) Received: by mail-lf1-x12a.google.com with SMTP id g30so420293lfv.4 for ; Mon, 09 Aug 2021 02:58:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=vwVr24D5ktrYij+v5KnhQs3nUu4IJFxnzT+zKB3+50M=; b=kCbRehGe55efVTCdUv2wy/TPrcsGlVM+WFoSjdjgp8kXp+ObnhUu515LMCXe0/0Cwb hrt+4H8Eo/el+WbVMBZQWCRDGyAo+KbBPdxJXX7OrAJ+m4iatJnLJHJWyZHkx0PJi+Ut ThvGUnqoErg9JG5Y8wGJkezD5vFXOrrmKEfneWrwvL4opz7iCq+0eB3YLMksJU+slC3b kHIf2FfvCo6KSW6Nna6Xdka1EYUPgeeQ03DYcsmskFVnIJB8baV3P4xAB2UpXfTR6qfM vYQhShjS9wHt0JJ/luhS2SFWzCG6deJfFXsWXoT90dNV37pbiJJ6Hq3uVuTaH1iE6h2W c6+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=vwVr24D5ktrYij+v5KnhQs3nUu4IJFxnzT+zKB3+50M=; b=FgISeEDJDCRuxVI9hYkObIKvB7s4HV52s7rEcGUqoL9jXLgYUHcQZYprxIQuJ2Favh 88DyPDZFJKMR63nsL0eJzi11AosRyJUKLToo2jBTGMUBtpQ8fYp7to2Hd9uhz4qzXLME TxV6tVMQ5TJo9HA+Iu/fsg+egw0BJYUhFj0kAP1143iMEEwvmzIBkDidWxR6hbANJWQu rWH/o/UYV3JWelhM0sm8qVW87wxCliPATF9/zK64GJWEDeZu66sqOUB3r+Mas/dWfpm3 CBHQm7QqnOpYYLP/WFXSKO/lESieIeAGQQzS0S1semXoLg9WrWiC6eOoPd7vZ1XZOy9E 8T4A== X-Gm-Message-State: AOAM53366HPgBLmoAurKBoqQV00EeguGgLsAJcq4KH3Rv7AYk/3QfqRH BJO3ZlQFy/dvxoY7r8TWUCb4WIBYuIc9kO3yubr9eZSVT4w= X-Google-Smtp-Source: ABdhPJyfOP1jB/T7Ti/iTNMT6j6X/RI+PxDxJe7nIGLHFyXFxkd261SIQtoWHpikF058q9nb9NHvfR53lKl8iTfYv+M= X-Received: by 2002:a19:4890:: with SMTP id v138mr16500940lfa.626.1628503121964; Mon, 09 Aug 2021 02:58:41 -0700 (PDT) MIME-Version: 1.0 From: Rohith Surabattula Date: Mon, 9 Aug 2021 15:28:31 +0530 Message-ID: Subject: [PATCH][CIFS]Call close synchronously during unlink/rename/lease break. To: linux-cifs , Steve French , Shyam Prasad N , ronnie sahlberg Content-Type: multipart/mixed; boundary="00000000000019ccb305c91d6e1b" Precedence: bulk List-ID: X-Mailing-List: linux-cifs@vger.kernel.org --00000000000019ccb305c91d6e1b Content-Type: text/plain; charset="UTF-8" Hi Steve/All, During unlink/rename/lease break, deferred work for close is scheduled immediately but in asynchronous manner which might lead to race with actual(unlink/rename) commands. This change will schedule close synchronously which will avoid the race conditions with other commands. Regards, Rohith --00000000000019ccb305c91d6e1b Content-Type: application/octet-stream; name="cifs-Call-close-synchronously-during-unlink-rename-l.patch" Content-Disposition: attachment; filename="cifs-Call-close-synchronously-during-unlink-rename-l.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ks4gof0g0 RnJvbSA2MGExNGUxYTk4Yzk3YmNkMDQ3YTc3NmFmYmNmZGI4ODNlMjY5MDA3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2hpdGggU3VyYWJhdHR1bGEKIDxyb2hpdGhzQG1pY3Jvc29m dC5jb20+CkRhdGU6IE1vbiwgOSBBdWcgMjAyMSAwOTozMjo0NiArMDAwMApTdWJqZWN0OiBbUEFU Q0hdIGNpZnM6IENhbGwgY2xvc2Ugc3luY2hyb25vdXNseSBkdXJpbmcgdW5saW5rL3JlbmFtZS9s ZWFzZQogYnJlYWsuCgpEdXJpbmcgdW5saW5rL3JlbmFtZS9sZWFzZSBicmVhaywgZGVmZXJyZWQg d29yayBmb3IgY2xvc2UgaXMKc2NoZWR1bGVkIGltbWVkaWF0ZWx5IGJ1dCBpbiBhc3luY2hyb25v dXMgbWFubmVyIHdoaWNoIG1pZ2h0CmxlYWQgdG8gcmFjZSB3aXRoIGFjdHVhbCh1bmxpbmsvcmVu YW1lKSBjb21tYW5kcy4KClRoaXMgY2hhbmdlIHdpbGwgc2NoZWR1bGUgY2xvc2Ugc3luY2hyb25v dXNseSB3aGljaCB3aWxsIGF2b2lkCnRoZSByYWNlIGNvbmRpdGlvbnMgd2l0aCBvdGhlciBjb21t YW5kcy4KClNpZ25lZC1vZmYtYnk6IFJvaGl0aCBTdXJhYmF0dHVsYSA8cm9oaXRoc0BtaWNyb3Nv ZnQuY29tPgotLS0KIGZzL2NpZnMvY2lmc2dsb2IuaCB8ICA1ICsrKysrCiBmcy9jaWZzL2ZpbGUu YyAgICAgfCAzNSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogZnMvY2lmcy9t aXNjLmMgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t CiAzIGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2ZzL2NpZnMvY2lmc2dsb2IuaCBiL2ZzL2NpZnMvY2lmc2dsb2IuaAppbmRleCBj MGJmYzJmMDEwMzAuLmM2YTk1NDJjYTI4MSAxMDA2NDQKLS0tIGEvZnMvY2lmcy9jaWZzZ2xvYi5o CisrKyBiL2ZzL2NpZnMvY2lmc2dsb2IuaApAQCAtMTYxMSw2ICsxNjExLDExIEBAIHN0cnVjdCBk ZnNfaW5mbzNfcGFyYW0gewogCWludCB0dGw7CiB9OwogCitzdHJ1Y3QgZmlsZV9saXN0IHsKKwlz dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3RydWN0IGNpZnNGaWxlSW5mbyAqY2ZpbGU7Cit9Owor CiAvKgogICogY29tbW9uIHN0cnVjdCBmb3IgaG9sZGluZyBpbm9kZSBpbmZvIHdoZW4gc2VhcmNo aW5nIGZvciBvciB1cGRhdGluZyBhbgogICogaW5vZGUgd2l0aCBuZXcgaW5mbwpkaWZmIC0tZ2l0 IGEvZnMvY2lmcy9maWxlLmMgYi9mcy9jaWZzL2ZpbGUuYwppbmRleCAwYTcyODQwYTg4ZjEuLmJi OThmYmRkMjJhOSAxMDA2NDQKLS0tIGEvZnMvY2lmcy9maWxlLmMKKysrIGIvZnMvY2lmcy9maWxl LmMKQEAgLTQ4NDcsMTcgKzQ4NDcsNiBAQCB2b2lkIGNpZnNfb3Bsb2NrX2JyZWFrKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKIAkJY2lmc19kYmcoVkZTLCAiUHVzaCBsb2NrcyByYyA9ICVkXG4i LCByYyk7CiAKIG9wbG9ja19icmVha19hY2s6Ci0JLyoKLQkgKiByZWxlYXNpbmcgc3RhbGUgb3Bs b2NrIGFmdGVyIHJlY2VudCByZWNvbm5lY3Qgb2Ygc21iIHNlc3Npb24gdXNpbmcKLQkgKiBhIG5v dyBpbmNvcnJlY3QgZmlsZSBoYW5kbGUgaXMgbm90IGEgZGF0YSBpbnRlZ3JpdHkgaXNzdWUgYnV0 IGRvCi0JICogbm90IGJvdGhlciBzZW5kaW5nIGFuIG9wbG9jayByZWxlYXNlIGlmIHNlc3Npb24g dG8gc2VydmVyIHN0aWxsIGlzCi0JICogZGlzY29ubmVjdGVkIHNpbmNlIG9wbG9jayBhbHJlYWR5 IHJlbGVhc2VkIGJ5IHRoZSBzZXJ2ZXIKLQkgKi8KLQlpZiAoIWNmaWxlLT5vcGxvY2tfYnJlYWtf Y2FuY2VsbGVkKSB7Ci0JCXJjID0gdGNvbi0+c2VzLT5zZXJ2ZXItPm9wcy0+b3Bsb2NrX3Jlc3Bv bnNlKHRjb24sICZjZmlsZS0+ZmlkLAotCQkJCQkJCSAgICAgY2lub2RlKTsKLQkJY2lmc19kYmco RllJLCAiT3Bsb2NrIHJlbGVhc2UgcmMgPSAlZFxuIiwgcmMpOwotCX0KIAkvKgogCSAqIFdoZW4g b3Bsb2NrIGJyZWFrIGlzIHJlY2VpdmVkIGFuZCB0aGVyZSBhcmUgbm8gYWN0aXZlCiAJICogZmls ZSBoYW5kbGVzIGJ1dCBjYWNoZWQsIHRoZW4gc2NoZWR1bGUgZGVmZXJyZWQgY2xvc2UgaW1tZWRp YXRlbHkuCkBAIC00ODY1LDE3ICs0ODU0LDI3IEBAIHZvaWQgY2lmc19vcGxvY2tfYnJlYWsoc3Ry dWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCSAqLwogCXNwaW5fbG9jaygmQ0lGU19JKGlub2RlKS0+ ZGVmZXJyZWRfbG9jayk7CiAJaXNfZGVmZXJyZWQgPSBjaWZzX2lzX2RlZmVycmVkX2Nsb3NlKGNm aWxlLCAmZGNsb3NlKTsKKwlzcGluX3VubG9jaygmQ0lGU19JKGlub2RlKS0+ZGVmZXJyZWRfbG9j ayk7CiAJaWYgKGlzX2RlZmVycmVkICYmCiAJICAgIGNmaWxlLT5kZWZlcnJlZF9jbG9zZV9zY2hl ZHVsZWQgJiYKIAkgICAgZGVsYXllZF93b3JrX3BlbmRpbmcoJmNmaWxlLT5kZWZlcnJlZCkpIHsK LQkJLyoKLQkJICogSWYgdGhlcmUgaXMgbm8gcGVuZGluZyB3b3JrLCBtb2RfZGVsYXllZF93b3Jr IHF1ZXVlcyBuZXcgd29yay4KLQkJICogU28sIEluY3JlYXNlIHRoZSByZWYgY291bnQgdG8gYXZv aWQgdXNlLWFmdGVyLWZyZWUuCi0JCSAqLwotCQlpZiAoIW1vZF9kZWxheWVkX3dvcmsoZGVmZXJy ZWRjbG9zZV93cSwgJmNmaWxlLT5kZWZlcnJlZCwgMCkpCi0JCQljaWZzRmlsZUluZm9fZ2V0KGNm aWxlKTsKKwkJaWYgKGNhbmNlbF9kZWxheWVkX3dvcmsoJmNmaWxlLT5kZWZlcnJlZCkpIHsKKwkJ CV9jaWZzRmlsZUluZm9fcHV0KGNmaWxlLCBmYWxzZSwgZmFsc2UpOworCQkJZ290byBvcGxvY2tf YnJlYWtfZG9uZTsKKwkJfQogCX0KLQlzcGluX3VubG9jaygmQ0lGU19JKGlub2RlKS0+ZGVmZXJy ZWRfbG9jayk7CisJLyoKKwkgKiByZWxlYXNpbmcgc3RhbGUgb3Bsb2NrIGFmdGVyIHJlY2VudCBy ZWNvbm5lY3Qgb2Ygc21iIHNlc3Npb24gdXNpbmcKKwkgKiBhIG5vdyBpbmNvcnJlY3QgZmlsZSBo YW5kbGUgaXMgbm90IGEgZGF0YSBpbnRlZ3JpdHkgaXNzdWUgYnV0IGRvCisJICogbm90IGJvdGhl ciBzZW5kaW5nIGFuIG9wbG9jayByZWxlYXNlIGlmIHNlc3Npb24gdG8gc2VydmVyIHN0aWxsIGlz CisJICogZGlzY29ubmVjdGVkIHNpbmNlIG9wbG9jayBhbHJlYWR5IHJlbGVhc2VkIGJ5IHRoZSBz ZXJ2ZXIKKwkgKi8KKwlpZiAoIWNmaWxlLT5vcGxvY2tfYnJlYWtfY2FuY2VsbGVkKSB7CisJCXJj ID0gdGNvbi0+c2VzLT5zZXJ2ZXItPm9wcy0+b3Bsb2NrX3Jlc3BvbnNlKHRjb24sICZjZmlsZS0+ ZmlkLAorCQkJCQkJCSAgICAgY2lub2RlKTsKKwkJY2lmc19kYmcoRllJLCAiT3Bsb2NrIHJlbGVh c2UgcmMgPSAlZFxuIiwgcmMpOworCX0KK29wbG9ja19icmVha19kb25lOgogCV9jaWZzRmlsZUlu Zm9fcHV0KGNmaWxlLCBmYWxzZSAvKiBkbyBub3Qgd2FpdCBmb3Igb3Vyc2VsZiAqLywgZmFsc2Up OwogCWNpZnNfZG9uZV9vcGxvY2tfYnJlYWsoY2lub2RlKTsKIH0KZGlmZiAtLWdpdCBhL2ZzL2Np ZnMvbWlzYy5jIGIvZnMvY2lmcy9taXNjLmMKaW5kZXggY2RiMWVjMTQ2MWRlLi42ZGY0ZmI5MmQx NGEgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvbWlzYy5jCisrKyBiL2ZzL2NpZnMvbWlzYy5jCkBAIC03 MjMsMjAgKzcyMywzMCBAQCB2b2lkCiBjaWZzX2Nsb3NlX2RlZmVycmVkX2ZpbGUoc3RydWN0IGNp ZnNJbm9kZUluZm8gKmNpZnNfaW5vZGUpCiB7CiAJc3RydWN0IGNpZnNGaWxlSW5mbyAqY2ZpbGUg PSBOVUxMOworCXN0cnVjdCBmaWxlX2xpc3QgKnRtcF9saXN0OworCXN0cnVjdCBsaXN0X2hlYWQg ZmlsZV9oZWFkOwogCiAJaWYgKGNpZnNfaW5vZGUgPT0gTlVMTCkKIAkJcmV0dXJuOwogCisJSU5J VF9MSVNUX0hFQUQoJmZpbGVfaGVhZCk7CisJc3Bpbl9sb2NrKCZjaWZzX2lub2RlLT5vcGVuX2Zp bGVfbG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjZmlsZSwgJmNpZnNfaW5vZGUtPm9wZW5G aWxlTGlzdCwgZmxpc3QpIHsKIAkJaWYgKGRlbGF5ZWRfd29ya19wZW5kaW5nKCZjZmlsZS0+ZGVm ZXJyZWQpKSB7Ci0JCQkvKgotCQkJICogSWYgdGhlcmUgaXMgbm8gcGVuZGluZyB3b3JrLCBtb2Rf ZGVsYXllZF93b3JrIHF1ZXVlcyBuZXcgd29yay4KLQkJCSAqIFNvLCBJbmNyZWFzZSB0aGUgcmVm IGNvdW50IHRvIGF2b2lkIHVzZS1hZnRlci1mcmVlLgotCQkJICovCi0JCQlpZiAoIW1vZF9kZWxh eWVkX3dvcmsoZGVmZXJyZWRjbG9zZV93cSwgJmNmaWxlLT5kZWZlcnJlZCwgMCkpCi0JCQkJY2lm c0ZpbGVJbmZvX2dldChjZmlsZSk7CisJCQlpZiAoY2FuY2VsX2RlbGF5ZWRfd29yaygmY2ZpbGUt PmRlZmVycmVkKSkgeworCQkJCXRtcF9saXN0ID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGZpbGVf bGlzdCksIEdGUF9BVE9NSUMpOworCQkJCWlmICh0bXBfbGlzdCA9PSBOVUxMKQorCQkJCQljb250 aW51ZTsKKwkJCQl0bXBfbGlzdC0+Y2ZpbGUgPSBjZmlsZTsKKwkJCQlsaXN0X2FkZF90YWlsKCZ0 bXBfbGlzdC0+bGlzdCwgJmZpbGVfaGVhZCk7CisJCQl9CiAJCX0KIAl9CisJc3Bpbl91bmxvY2so JmNpZnNfaW5vZGUtPm9wZW5fZmlsZV9sb2NrKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkodG1w X2xpc3QsICZmaWxlX2hlYWQsIGxpc3QpIHsKKwkJX2NpZnNGaWxlSW5mb19wdXQodG1wX2xpc3Qt PmNmaWxlLCB0cnVlLCBmYWxzZSk7CisJfQogfQogCiB2b2lkCkBAIC03NDQsMjAgKzc1NCwyOCBA QCBjaWZzX2Nsb3NlX2FsbF9kZWZlcnJlZF9maWxlcyhzdHJ1Y3QgY2lmc190Y29uICp0Y29uKQog ewogCXN0cnVjdCBjaWZzRmlsZUluZm8gKmNmaWxlOwogCXN0cnVjdCBsaXN0X2hlYWQgKnRtcDsK KwlzdHJ1Y3QgZmlsZV9saXN0ICp0bXBfbGlzdDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGZpbGVfaGVh ZDsKIAorCUlOSVRfTElTVF9IRUFEKCZmaWxlX2hlYWQpOwogCXNwaW5fbG9jaygmdGNvbi0+b3Bl bl9maWxlX2xvY2spOwogCWxpc3RfZm9yX2VhY2godG1wLCAmdGNvbi0+b3BlbkZpbGVMaXN0KSB7 CiAJCWNmaWxlID0gbGlzdF9lbnRyeSh0bXAsIHN0cnVjdCBjaWZzRmlsZUluZm8sIHRsaXN0KTsK IAkJaWYgKGRlbGF5ZWRfd29ya19wZW5kaW5nKCZjZmlsZS0+ZGVmZXJyZWQpKSB7Ci0JCQkvKgot CQkJICogSWYgdGhlcmUgaXMgbm8gcGVuZGluZyB3b3JrLCBtb2RfZGVsYXllZF93b3JrIHF1ZXVl cyBuZXcgd29yay4KLQkJCSAqIFNvLCBJbmNyZWFzZSB0aGUgcmVmIGNvdW50IHRvIGF2b2lkIHVz ZS1hZnRlci1mcmVlLgotCQkJICovCi0JCQlpZiAoIW1vZF9kZWxheWVkX3dvcmsoZGVmZXJyZWRj bG9zZV93cSwgJmNmaWxlLT5kZWZlcnJlZCwgMCkpCi0JCQkJY2lmc0ZpbGVJbmZvX2dldChjZmls ZSk7CisJCQlpZiAoY2FuY2VsX2RlbGF5ZWRfd29yaygmY2ZpbGUtPmRlZmVycmVkKSkgeworCQkJ CXRtcF9saXN0ID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGZpbGVfbGlzdCksIEdGUF9BVE9NSUMp OworCQkJCWlmICh0bXBfbGlzdCA9PSBOVUxMKQorCQkJCQljb250aW51ZTsKKwkJCQl0bXBfbGlz dC0+Y2ZpbGUgPSBjZmlsZTsKKwkJCQlsaXN0X2FkZF90YWlsKCZ0bXBfbGlzdC0+bGlzdCwgJmZp bGVfaGVhZCk7CisJCQl9CiAJCX0KIAl9CiAJc3Bpbl91bmxvY2soJnRjb24tPm9wZW5fZmlsZV9s b2NrKTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkodG1wX2xpc3QsICZmaWxlX2hlYWQsIGxpc3Qp IHsKKwkJX2NpZnNGaWxlSW5mb19wdXQodG1wX2xpc3QtPmNmaWxlLCB0cnVlLCBmYWxzZSk7CisJ fQogfQogCiAvKiBwYXJzZXMgREZTIHJlZmZlcmFsIFYzIHN0cnVjdHVyZQotLSAKMi4zMC4yCgo= --00000000000019ccb305c91d6e1b--