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=-3.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 01BE0C433C1 for ; Wed, 24 Mar 2021 15:29:46 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 252D8619FF for ; Wed, 24 Mar 2021 15:29:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 252D8619FF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=szeredi.hu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id A687F6B02DA; Wed, 24 Mar 2021 11:29:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A3F776B02DB; Wed, 24 Mar 2021 11:29:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8E1A76B02DC; Wed, 24 Mar 2021 11:29:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0036.hostedemail.com [216.40.44.36]) by kanga.kvack.org (Postfix) with ESMTP id 705086B02DA for ; Wed, 24 Mar 2021 11:29:44 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 2F2778249980 for ; Wed, 24 Mar 2021 15:29:44 +0000 (UTC) X-FDA: 77955152688.19.7E9D85D Received: from mail-vs1-f52.google.com (mail-vs1-f52.google.com [209.85.217.52]) by imf02.hostedemail.com (Postfix) with ESMTP id 73F8B4080F68 for ; Wed, 24 Mar 2021 15:28:51 +0000 (UTC) Received: by mail-vs1-f52.google.com with SMTP id a15so11532264vsi.0 for ; Wed, 24 Mar 2021 08:28:52 -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=9NHvGbYgx7b1RA6FmsOP8tSsmUCY02pADy0trvYTHY0=; b=Ni17SpFn+MHIRNHkQruS/T4D01kccEYuS1VGVWvhUFGIxPF6cNunGVKej99/TTv66N rRd+2IuFUYYcFogK6OpwCrATkxASKiQuF9SdJFvNj0g4bxP/xo8MHb+Qe9m9yzSWzHIO 6uc060B+dkyTBVeT9pRvxFq54f7Y/id0AzsOA= 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=9NHvGbYgx7b1RA6FmsOP8tSsmUCY02pADy0trvYTHY0=; b=ed9CGitXy84HKy2EP+yHbfqqsfCRFU+3RGkNcLRVceCc0wjkar8DSbvfPGyC6vZmvc bAAkMvMqPLgw5fD0ZWHiFVMrfIdzX3JFs5tUKrDj81+jdDbkfUNrP2tFkZZU5lWQ0LsZ 2Fq9hOEIu44JjBXg9jIl8nESweu85Zp+yuMEUuPE0hzAaP849AEEy1YJIGuRZwyhYC+u eCKyEFsMmqqFoBnzGc3k1beoOfx/VOxUcWGIope++TfAMnnv4vcLFc0UJJcmkmfJMp8C Zrt1LMwYr8TCr/h+LkzqothzM+st4rR+X6G3Ch6OXW4MB20oek/muB2Lv8AaxKLSlFxs I93g== X-Gm-Message-State: AOAM5315wvvsusiuNQsDQj2O+bPf7bXUavU1GH00fA5LGJVnXwgovNl2 gO7GMf6bVVFLuDW0O4SuGz8Iz/mYzFIHM0ee1AKdqg== X-Google-Smtp-Source: ABdhPJypo5mguqcKmrfbRVTfusFg40r0RpKqq+WuMf/7hd202BJ0Yn8umi/XUbsZiZBgnu/Q/FMMigyFtCADvMstGFw= X-Received: by 2002:a67:8793:: with SMTP id j141mr2327094vsd.7.1616599726875; Wed, 24 Mar 2021 08:28:46 -0700 (PDT) MIME-Version: 1.0 References: <20210202040830.26043-1-huangjianan@oppo.com> In-Reply-To: <20210202040830.26043-1-huangjianan@oppo.com> From: Miklos Szeredi Date: Wed, 24 Mar 2021 16:28:35 +0100 Message-ID: Subject: Re: [fuse-devel] [PATCH] fuse: avoid deadlock when write fuse inode To: Huang Jianan Cc: linux-kernel@vger.kernel.org, guoweichao@oppo.com, zhangshiming@oppo.com, linux-fsdevel@vger.kernel.org, linux-mm , =?UTF-8?B?RWQgVHNhaSAo6JSh5a6X6LuSKQ==?= Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: wrxdktswu1f9c3tnmutx6u5cpkjzugg7 X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 73F8B4080F68 Received-SPF: none (szeredi.hu>: No applicable sender policy available) receiver=imf02; identity=mailfrom; envelope-from=""; helo=mail-vs1-f52.google.com; client-ip=209.85.217.52 X-HE-DKIM-Result: invalid/invalid (public key: not available) X-HE-Tag: 1616599731-533513 X-Bogosity: Ham, tests=bogofilter, spamicity=0.006730, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Feb 2, 2021 at 5:41 AM Huang Jianan via fuse-devel wrote: > > We found the following deadlock situations in low memory scenarios: > Thread A Thread B > - __writeback_single_inode > - fuse_write_inode > - fuse_simple_request > - __fuse_request_send > - request_wait_answer > - fuse_dev_splice_read > - fuse_copy_fill > - __alloc_pages_direct_reclaim > - do_shrink_slab > - super_cache_scan > - shrink_dentry_list > - dentry_unlink_inode > - iput_final > - inode_wait_for_writeback On what kernel are you seeing this? I don't see how it can happen on upstream kernels, since there's a "write_inode_now(inode, 1)" call in fuse_release() and nothing can dirty the inode after the file has been released. Thanks, Miklos