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=-6.8 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 E2640C433E1 for ; Wed, 1 Jul 2020 04:13:08 +0000 (UTC) Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ADF7820704; Wed, 1 Jul 2020 04:13:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sourceforge.net header.i=@sourceforge.net header.b="TgsuCZAZ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=sf.net header.i=@sf.net header.b="Xrr09FUg"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DNtLk0Vn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ADF7820704 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linux-f2fs-devel-bounces@lists.sourceforge.net Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from ) id 1jqU7Q-0001Rt-7E; Wed, 01 Jul 2020 04:13:08 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jqU7P-0001Rn-U0 for linux-f2fs-devel@lists.sourceforge.net; Wed, 01 Jul 2020 04:13:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:Content-Type:Cc:To: Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version:Sender: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=A6rUzlISrs34S85/JGWbESTTDuKcTfeZ4SL0WqYY/u0=; b=TgsuCZAZJdmmQlG4PKWMG/QrRW wKls9kdEZ12OZcE7rwKJm0nEo+D4hb7SDjJJnKchj9wgJfB6+beG/VRXwJAc+AZK4Obz889o1btJR eqjejNSfIgRYou2NecW70xR6K4xaY0L5CjLNBsOd+DUboPX1/hsCuOth+BI7SNs+g5ks=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:Content-Type:Cc:To:Subject:Message-ID:Date:From :In-Reply-To:References:MIME-Version:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=A6rUzlISrs34S85/JGWbESTTDuKcTfeZ4SL0WqYY/u0=; b=Xrr09FUgqncQPbB1VQLiT1V9QM U6ikzlrKfCXgFCyqQMtmDWyPFl3viCc1cPfDSeKBo/Z7gBMDf0pwyLM7ouhw/mGv3mg5se0s6RARQ D2xMo4RO07KnsESqnMQSz2neBUBIJ4P1uGIRKOhbTXvetAfywSgQRSOZupaEndCln6BQ=; Received: from mail-lj1-f194.google.com ([209.85.208.194]) by sfi-mx-4.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92.2) id 1jqU7O-006h3G-3g for linux-f2fs-devel@lists.sourceforge.net; Wed, 01 Jul 2020 04:13:07 +0000 Received: by mail-lj1-f194.google.com with SMTP id z24so390250ljn.8 for ; Tue, 30 Jun 2020 21:13:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=A6rUzlISrs34S85/JGWbESTTDuKcTfeZ4SL0WqYY/u0=; b=DNtLk0VnUIIBJTq1Eoxv9t88gHW8Ptc6CdP9QpJt8jvvdaPrs/OoPHk202tbiLztbM /EJVRE/Qq74hIdO7pVtEiyR8rybRiAiLf1NnJ1M4vkDD0YJQAfy/MRI72bEkMgptTOhL KCihf1cTUhbY3QOihwQGZWHDWb7E8gRl7poU5uM5qn9/OXNrbi6f1ymQ9LzMVzuGVR8t K4du5sbTXfrh8YbzYpTiQh2ZW2EG5u/hvR0RBFUPUDdlH8oJ6poUxl1ShBq2gKQJtaQV zz9CfWISnE27H+ZGonrmnrNNghR8D4k8cHWGcvlAXx3pVuB3jw26FY5Vp28u6UPK7o6Q 0B9g== 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:content-transfer-encoding; bh=A6rUzlISrs34S85/JGWbESTTDuKcTfeZ4SL0WqYY/u0=; b=ra1MnlUiaB+uyFiqTPp0/vX8NUMPNOq1Ro9G5cvKtl9OXSS5hgOmJaZJbfNj+r0onx C/NEbN1XAMk3I7/IFhBfQgE4DMcNWRxs4AcmFpQ0r1XlQ0r+4FmjgX6rjuEkGLtGHqLZ 6FapiQGrMlczOHbkumJS7Ng2Tm3Ar3DERpSEnocCBeFHYB3XvmCrDOWT3D9b5+galDQ7 MtR2qDZKKeRpyEEgl5m9/PCMG8k19gRL0XupUBMu7C+W20C+5UzH8n6c2khtpSjqObEQ 4kvhB4+onUOoOG9XBg1NpgHjjBQNe2VE2XDCV/vXp6ROztN4NQuoEQvO4TB2o61CVRAd dygA== X-Gm-Message-State: AOAM532J9TAEN5Zr6Sh8s7QnJ5gvp13ceAIkh0w4kf6PV6YFyxRPgVL+ FfxXJMIs8Sin2pPJcCvAP01qUdjTGYMHBFOkHOo= X-Google-Smtp-Source: ABdhPJzSy2lK5wKJ+mBYqHetY1JduBex8mf28+evh5uyBni9bihb3pH+/Qmds/5JkCnlJdhp0gemROMclKjRaQKYHgI= X-Received: by 2002:a2e:8e68:: with SMTP id t8mr5618287ljk.335.1593576779321; Tue, 30 Jun 2020 21:12:59 -0700 (PDT) MIME-Version: 1.0 References: <20200630005422.2389686-1-daeho43@gmail.com> In-Reply-To: From: Daeho Jeong Date: Wed, 1 Jul 2020 13:12:48 +0900 Message-ID: To: Chao Yu X-Headers-End: 1jqU7O-006h3G-3g Subject: Re: [f2fs-dev] [PATCH] f2fs: add GC_URGENT_LOW mode in gc_urgent X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daeho Jeong , kernel-team@android.com, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net WWVzLCBpdCdzIGNvcnJlY3QuCgoyMDIw64WEIDfsm5QgMeydvCAo7IiYKSDsmKTtm4QgMTI6MzUs IENoYW8gWXUgPHl1Y2hhbzBAaHVhd2VpLmNvbT7ri5jsnbQg7J6R7ISxOgo+Cj4gT24gMjAyMC82 LzMwIDg6NTQsIERhZWhvIEplb25nIHdyb3RlOgo+ID4gRnJvbTogRGFlaG8gSmVvbmcgPGRhZWhv amVvbmdAZ29vZ2xlLmNvbT4KPiA+Cj4gPiBBZGRlZCBhIG5ldyBnY191cmdlbnQgbW9kZSwgR0Nf VVJHRU5UX0xPVywgaW4gd2hpY2ggbW9kZQo+ID4gRjJGUyB3aWxsIGxvd2VyIHRoZSBiYXIgb2Yg Y2hlY2tpbmcgaWRsZSBpbiBvcmRlciB0bwo+ID4gcHJvY2VzcyBvdXRzdGFuZGluZyBkaXNjYXJk IGNvbW1hbmRzIGFuZCBHQyBhIGxpdHRsZSBiaXQKPiA+IGFnZ3Jlc3NpdmVseS4KPiA+Cj4gPiBT aWduZWQtb2ZmLWJ5OiBEYWVobyBKZW9uZyA8ZGFlaG9qZW9uZ0Bnb29nbGUuY29tPgo+ID4gLS0t Cj4gPiAgRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1mcy1mMmZzIHwgIDQgKysrLQo+ ID4gIGZzL2YyZnMvZjJmcy5oICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrKysr LS0KPiA+ICBmcy9mMmZzL2djLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKyst LS0KPiA+ICBmcy9mMmZzL3NlZ21lbnQuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0t Cj4gPiAgZnMvZjJmcy9zeXNmcy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKy0t Cj4gPiAgNSBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkK PiA+Cj4gPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1mcy1m MmZzIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1mcy1mMmZzCj4gPiBpbmRleCA0 YmI5M2EwNmQ4YWIuLjdmNzMwYzRjOGRmMiAxMDA2NDQKPiA+IC0tLSBhL0RvY3VtZW50YXRpb24v QUJJL3Rlc3Rpbmcvc3lzZnMtZnMtZjJmcwo+ID4gKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVz dGluZy9zeXNmcy1mcy1mMmZzCj4gPiBAQCAtMjI5LDcgKzIyOSw5IEBAIERhdGU6ICAgICAgICAg ICAgIEF1Z3VzdCAyMDE3Cj4gPiAgQ29udGFjdDogICAgICJKYWVnZXVrIEtpbSIgPGphZWdldWtA a2VybmVsLm9yZz4KPiA+ICBEZXNjcmlwdGlvbjogRG8gYmFja2dyb3VuZCBHQyBhZ3Jlc3NpdmVs eSB3aGVuIHNldC4gV2hlbiBnY191cmdlbnQgPSAxLAo+ID4gICAgICAgICAgICAgICBiYWNrZ3Jv dW5kIHRocmVhZCBzdGFydHMgdG8gZG8gR0MgYnkgZ2l2ZW4gZ2NfdXJnZW50X3NsZWVwX3RpbWUK PiA+IC0gICAgICAgICAgICAgaW50ZXJ2YWwuIEl0IGlzIHNldCB0byAwIGJ5IGRlZmF1bHQuCj4g PiArICAgICAgICAgICAgIGludGVydmFsLiBXaGVuIGdjX3VyZ2VudCA9IDIsIEYyRlMgd2lsbCBs b3dlciB0aGUgYmFyIG9mCj4gPiArICAgICAgICAgICAgIGNoZWNraW5nIGlkbGUgaW4gb3JkZXIg dG8gcHJvY2VzcyBvdXRzdGFuZGluZyBkaXNjYXJkIGNvbW1hbmRzCj4gPiArICAgICAgICAgICAg IGFuZCBHQyBhIGxpdHRsZSBiaXQgYWdncmVzc2l2ZWx5LiBJdCBpcyBzZXQgdG8gMCBieSBkZWZh dWx0Lgo+ID4KPiA+ICBXaGF0OiAgICAgICAgICAgICAgICAvc3lzL2ZzL2YyZnMvPGRpc2s+L2dj X3VyZ2VudF9zbGVlcF90aW1lCj4gPiAgRGF0ZTogICAgICAgICAgICAgICAgQXVndXN0IDIwMTcK PiA+IGRpZmYgLS1naXQgYS9mcy9mMmZzL2YyZnMuaCBiL2ZzL2YyZnMvZjJmcy5oCj4gPiBpbmRl eCBlNmU0NzYxOGEzNTcuLjRiMjhmZDQyZmRiYyAxMDA2NDQKPiA+IC0tLSBhL2ZzL2YyZnMvZjJm cy5oCj4gPiArKysgYi9mcy9mMmZzL2YyZnMuaAo+ID4gQEAgLTEyODMsNyArMTI4Myw4IEBAIGVu dW0gewo+ID4gICAgICAgR0NfTk9STUFMLAo+ID4gICAgICAgR0NfSURMRV9DQiwKPiA+ICAgICAg IEdDX0lETEVfR1JFRURZLAo+ID4gLSAgICAgR0NfVVJHRU5ULAo+ID4gKyAgICAgR0NfVVJHRU5U X0hJR0gsCj4gPiArICAgICBHQ19VUkdFTlRfTE9XLAo+ID4gIH07Cj4gPgo+ID4gIGVudW0gewo+ ID4gQEAgLTE1NDAsNiArMTU0MSw3IEBAIHN0cnVjdCBmMmZzX3NiX2luZm8gewo+ID4gICAgICAg dW5zaWduZWQgaW50IGN1cl92aWN0aW1fc2VjOyAgICAgICAgICAgIC8qIGN1cnJlbnQgdmljdGlt IHNlY3Rpb24gbnVtICovCj4gPiAgICAgICB1bnNpZ25lZCBpbnQgZ2NfbW9kZTsgICAgICAgICAg ICAgICAgICAgLyogY3VycmVudCBHQyBzdGF0ZSAqLwo+ID4gICAgICAgdW5zaWduZWQgaW50IG5l eHRfdmljdGltX3NlZ1syXTsgICAgICAgIC8qIG5leHQgc2VnbWVudCBpbiB2aWN0aW0gc2VjdGlv biAqLwo+ID4gKwo+ID4gICAgICAgLyogZm9yIHNraXAgc3RhdGlzdGljICovCj4gPiAgICAgICB1 bnNpZ25lZCBpbnQgYXRvbWljX2ZpbGVzOyAgICAgICAgICAgICAgLyogIyBvZiBvcGVuZWQgYXRv bWljIGZpbGUgKi8KPiA+ICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBza2lwcGVkX2F0b21pY19m aWxlc1syXTsgICAgIC8qIEZHX0dDIGFuZCBCR19HQyAqLwo+ID4gQEAgLTI0ODAsNyArMjQ4Miw3 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCAqZjJmc19rbWVtX2NhY2hlX2FsbG9jKHN0cnVjdCBrbWVt X2NhY2hlICpjYWNoZXAsCj4gPgo+ID4gIHN0YXRpYyBpbmxpbmUgYm9vbCBpc19pZGxlKHN0cnVj dCBmMmZzX3NiX2luZm8gKnNiaSwgaW50IHR5cGUpCj4gPiAgewo+ID4gLSAgICAgaWYgKHNiaS0+ Z2NfbW9kZSA9PSBHQ19VUkdFTlQpCj4gPiArICAgICBpZiAoc2JpLT5nY19tb2RlID09IEdDX1VS R0VOVF9ISUdIKQo+ID4gICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiA+Cj4gPiAgICAgICBp ZiAoZ2V0X3BhZ2VzKHNiaSwgRjJGU19SRF9EQVRBKSB8fCBnZXRfcGFnZXMoc2JpLCBGMkZTX1JE X05PREUpIHx8Cj4gPiBAQCAtMjQ5OCw2ICsyNTAwLDEwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp c19pZGxlKHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwgaW50IHR5cGUpCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgYXRvbWljX3JlYWQoJlNNX0koc2JpKS0+ZmNjX2luZm8tPnF1ZXVlZF9mbHVz aCkpCj4gPiAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPiA+Cj4gPiArICAgICBpZiAoc2Jp LT5nY19tb2RlID09IEdDX1VSR0VOVF9MT1cgJiYKPiA+ICsgICAgICAgICAgICAgICAgICAgICAo dHlwZSA9PSBESVNDQVJEX1RJTUUgfHwgdHlwZSA9PSBHQ19USU1FKSkKPiA+ICsgICAgICAgICAg ICAgcmV0dXJuIHRydWU7Cj4gPiArCj4gPiAgICAgICByZXR1cm4gZjJmc190aW1lX292ZXIoc2Jp LCB0eXBlKTsKPiA+ICB9Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMvZ2MuYyBiL2ZzL2Yy ZnMvZ2MuYwo+ID4gaW5kZXggNmVlYzNiMmQ2MDZkLi4zYjcxOGRhNjk5MTAgMTAwNjQ0Cj4gPiAt LS0gYS9mcy9mMmZzL2djLmMKPiA+ICsrKyBiL2ZzL2YyZnMvZ2MuYwo+ID4gQEAgLTgyLDcgKzgy LDcgQEAgc3RhdGljIGludCBnY190aHJlYWRfZnVuYyh2b2lkICpkYXRhKQo+ID4gICAgICAgICAg ICAgICAgKiBpbnZhbGlkYXRlZCBzb29uIGFmdGVyIGJ5IHVzZXIgdXBkYXRlIG9yIGRlbGV0aW9u Lgo+ID4gICAgICAgICAgICAgICAgKiBTbywgSSdkIGxpa2UgdG8gd2FpdCBzb21lIHRpbWUgdG8g Y29sbGVjdCBkaXJ0eSBzZWdtZW50cy4KPiA+ICAgICAgICAgICAgICAgICovCj4gPiAtICAgICAg ICAgICAgIGlmIChzYmktPmdjX21vZGUgPT0gR0NfVVJHRU5UKSB7Cj4gPiArICAgICAgICAgICAg IGlmIChzYmktPmdjX21vZGUgPT0gR0NfVVJHRU5UX0hJR0gpIHsKPiA+ICAgICAgICAgICAgICAg ICAgICAgICB3YWl0X21zID0gZ2NfdGgtPnVyZ2VudF9zbGVlcF90aW1lOwo+ID4gICAgICAgICAg ICAgICAgICAgICAgIGRvd25fd3JpdGUoJnNiaS0+Z2NfbG9jayk7Cj4gPiAgICAgICAgICAgICAg ICAgICAgICAgZ290byBkb19nYzsKPiA+IEBAIC0xNzYsNyArMTc2LDcgQEAgc3RhdGljIGludCBz ZWxlY3RfZ2NfdHlwZShzdHJ1Y3QgZjJmc19zYl9pbmZvICpzYmksIGludCBnY190eXBlKQo+ID4g ICAgICAgICAgICAgICBnY19tb2RlID0gR0NfQ0I7Cj4gPiAgICAgICAgICAgICAgIGJyZWFrOwo+ ID4gICAgICAgY2FzZSBHQ19JRExFX0dSRUVEWToKPiA+IC0gICAgIGNhc2UgR0NfVVJHRU5UOgo+ ID4gKyAgICAgY2FzZSBHQ19VUkdFTlRfSElHSDoKPiA+ICAgICAgICAgICAgICAgZ2NfbW9kZSA9 IEdDX0dSRUVEWTsKPiA+ICAgICAgICAgICAgICAgYnJlYWs7Cj4gPiAgICAgICB9Cj4gPiBAQCAt MjExLDcgKzIxMSw3IEBAIHN0YXRpYyB2b2lkIHNlbGVjdF9wb2xpY3koc3RydWN0IGYyZnNfc2Jf aW5mbyAqc2JpLCBpbnQgZ2NfdHlwZSwKPiA+ICAgICAgICAqIGZvcmVncm91bmQgR0MgYW5kIHVy Z2VudCBHQyBjYXNlcy4KPiA+ICAgICAgICAqLwo+ID4gICAgICAgaWYgKGdjX3R5cGUgIT0gRkdf R0MgJiYKPiA+IC0gICAgICAgICAgICAgICAgICAgICAoc2JpLT5nY19tb2RlICE9IEdDX1VSR0VO VCkgJiYKPiA+ICsgICAgICAgICAgICAgICAgICAgICAoc2JpLT5nY19tb2RlICE9IEdDX1VSR0VO VF9ISUdIKSAmJgo+ID4gICAgICAgICAgICAgICAgICAgICAgIHAtPm1heF9zZWFyY2ggPiBzYmkt Pm1heF92aWN0aW1fc2VhcmNoKQo+ID4gICAgICAgICAgICAgICBwLT5tYXhfc2VhcmNoID0gc2Jp LT5tYXhfdmljdGltX3NlYXJjaDsKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9zZWdtZW50 LmMgYi9mcy9mMmZzL3NlZ21lbnQuYwo+ID4gaW5kZXggYjQ1ZTQ3MzUwOGE5Li41OTI0YjM5NjVh ZTQgMTAwNjQ0Cj4gPiAtLS0gYS9mcy9mMmZzL3NlZ21lbnQuYwo+ID4gKysrIGIvZnMvZjJmcy9z ZWdtZW50LmMKPiA+IEBAIC0xNzQsNyArMTc0LDcgQEAgYm9vbCBmMmZzX25lZWRfU1NSKHN0cnVj dCBmMmZzX3NiX2luZm8gKnNiaSkKPiA+Cj4gPiAgICAgICBpZiAoZjJmc19sZnNfbW9kZShzYmkp KQo+ID4gICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4gPiAtICAgICBpZiAoc2JpLT5nY19t b2RlID09IEdDX1VSR0VOVCkKPiA+ICsgICAgIGlmIChzYmktPmdjX21vZGUgPT0gR0NfVVJHRU5U X0hJR0gpCj4gPiAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwo+ID4gICAgICAgaWYgKHVubGlr ZWx5KGlzX3NiaV9mbGFnX3NldChzYmksIFNCSV9DUF9ESVNBQkxFRCkpKQo+ID4gICAgICAgICAg ICAgICByZXR1cm4gdHJ1ZTsKPiA+IEBAIC0xNzU5LDcgKzE3NTksNyBAQCBzdGF0aWMgaW50IGlz c3VlX2Rpc2NhcmRfdGhyZWFkKHZvaWQgKmRhdGEpCj4gPiAgICAgICAgICAgICAgICAgICAgICAg Y29udGludWU7Cj4gPiAgICAgICAgICAgICAgIH0KPiA+Cj4gPiAtICAgICAgICAgICAgIGlmIChz YmktPmdjX21vZGUgPT0gR0NfVVJHRU5UKQo+ID4gKyAgICAgICAgICAgICBpZiAoc2JpLT5nY19t b2RlID09IEdDX1VSR0VOVF9ISUdIKQo+ID4gICAgICAgICAgICAgICAgICAgICAgIF9faW5pdF9k aXNjYXJkX3BvbGljeShzYmksICZkcG9saWN5LCBEUE9MSUNZX0ZPUkNFLCAxKTsKPiA+Cj4gPiAg ICAgICAgICAgICAgIHNiX3N0YXJ0X2ludHdyaXRlKHNiaS0+c2IpOwo+ID4gZGlmZiAtLWdpdCBh L2ZzL2YyZnMvc3lzZnMuYyBiL2ZzL2YyZnMvc3lzZnMuYwo+ID4gaW5kZXggZTg3N2M1OWI5ZmRi Li5hYjQwZTFmODlmMjMgMTAwNjQ0Cj4gPiAtLS0gYS9mcy9mMmZzL3N5c2ZzLmMKPiA+ICsrKyBi L2ZzL2YyZnMvc3lzZnMuYwo+ID4gQEAgLTM1MCwxNCArMzUwLDE2IEBAIHN0YXRpYyBzc2l6ZV90 IF9fc2JpX3N0b3JlKHN0cnVjdCBmMmZzX2F0dHIgKmEsCj4gPiAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOwo+ID4KPiA+ICAgICAgIGlmICghc3RyY21wKGEtPmF0dHIubmFtZSwgImdjX3Vy Z2VudCIpKSB7Cj4gPiAtICAgICAgICAgICAgIGlmICh0ID49IDEpIHsKPiA+IC0gICAgICAgICAg ICAgICAgICAgICBzYmktPmdjX21vZGUgPSBHQ19VUkdFTlQ7Cj4gPiArICAgICAgICAgICAgIGlm ICh0ID09IDEpIHsKPiA+ICsgICAgICAgICAgICAgICAgICAgICBzYmktPmdjX21vZGUgPSBHQ19V UkdFTlRfSElHSDsKPiA+ICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2JpLT5nY190aHJlYWQp IHsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNiaS0+Z2NfdGhyZWFkLT5nY193 YWtlID0gMTsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdha2VfdXBfaW50ZXJy dXB0aWJsZV9hbGwoCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZz YmktPmdjX3RocmVhZC0+Z2Nfd2FpdF9xdWV1ZV9oZWFkKTsKPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdha2VfdXBfZGlzY2FyZF90aHJlYWQoc2JpLCB0cnVlKTsKPiA+ICAgICAg ICAgICAgICAgICAgICAgICB9Cj4gPiArICAgICAgICAgICAgIH0gZWxzZSBpZiAodCA9PSAyKSB7 Cj4gPiArICAgICAgICAgICAgICAgICAgICAgc2JpLT5nY19tb2RlID0gR0NfVVJHRU5UX0xPVzsK PiA+ICAgICAgICAgICAgICAgfSBlbHNlIHsKPiA+ICAgICAgICAgICAgICAgICAgICAgICBzYmkt PmdjX21vZGUgPSBHQ19OT1JNQUw7Cj4KPiBBcyBmdW5jdGlvbmFsaXR5IGRlc2NyaXB0aW9uIGlu IHN5c2ZzIGRvYywgc2hvdWxkbid0IGl0IGJlOgo+Cj4gaWYgKHQgPT0gMCkgewo+ICAgICAgICAg c2JpLT5nY19tb2RlID0gR0NfTk9STUFMOwo+IH0gZWxzZSBpZiAodCA9PSAxKSB7Cj4gICAgICAg ICBzYmktPmdjX21vZGUgPSBHQ19VUkdFTlRfSElHSDsKPiAgICAgICAgIC4uLgo+IH0gZWxzZSBp ZiAodCA9PSAyKSB7Cj4gICAgICAgICBzYmktPmdjX21vZGUgPSBHQ19VUkdFTlRfTE9XOwo+IH0g ZWxzZSB7Cj4gICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiB9Cj4gcmV0dXJuIGNvdW50Owo+Cj4g PiAgICAgICAgICAgICAgIH0KPiA+CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTGludXgtZjJmcy1kZXZlbCBtYWlsaW5nIGxpc3QKTGludXgtZjJmcy1k ZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQv bGlzdHMvbGlzdGluZm8vbGludXgtZjJmcy1kZXZlbAo=