From patchwork Fri May 11 00:11:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Omar Sandoval X-Patchwork-Id: 10392609 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9BFE460153 for ; Fri, 11 May 2018 00:11:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 92E7A28D68 for ; Fri, 11 May 2018 00:11:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8732928D6A; Fri, 11 May 2018 00:11:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 735F828D6B for ; Fri, 11 May 2018 00:11:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751924AbeEKALv (ORCPT ); Thu, 10 May 2018 20:11:51 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:46823 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751705AbeEKALq (ORCPT ); Thu, 10 May 2018 20:11:46 -0400 Received: by mail-pg0-f68.google.com with SMTP id z4-v6so1641268pgu.13 for ; Thu, 10 May 2018 17:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osandov-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=e/6247191pw26YpLTjfDGLveRCJbtO+OoDgSgZ4O/po=; b=Z0exAHkHGRm56IUTXCj7sWiijVSAB9OWR9kImQtkrpFqt5cW/Cer5M1vHjsQZEC112 A+lcHwTdHNrHD3gODiTSnM9YPjuSjuZvEujxsCNLaw9skDunnMdOT3nzGiKLTCjDKTzv dmuV8t+vkEKbkNxtrR/VNdX4iEb9iHXjQLFlS5KtQgtl5E+s8qXgycPGgobL6c27Bo+u H/MGw4HRTfUKtA+HPRN9EG3HajQqydF47uxypfXe8KM+F3gWTOv4Vzx7mwE2b7AEYiPe RcXDM4umn5JZJPA8qO0jakht82NEc5U5uVBgUicxRYdpESOOFhtapXOUcBt6799gwMZb VpeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=e/6247191pw26YpLTjfDGLveRCJbtO+OoDgSgZ4O/po=; b=sc56mEOYC9SxLwaeOWfo0d4q6kOjgGDP13ZsVaunsPC9hS7Y5JSmV1l96VQVC7Wx2V N+h92+Aqf9195wP4ukufdW3DEoRq/AB9Ym24OIu3f7/viVQEgFW3eAWtEsfLvYNcTdKW D9ogdg3LUmbxQQUFxSKcPw0xsOBc9yUa9XIrdRXvGuK6FPbaRB4uyiZQu9SelAlopExq G39tNYd3fflX+9XPo94atyhYifNOM+8rbjjSB53tI5CaZZ8NH5vrZkU1kB8vbpZvM4JA MzkffqUnRmmtssxAFm3r4SIBqBU36zXSWNDOJohCLzqWpZrK8+KGgSPOy2gQ0q7y7G5Q D3qQ== X-Gm-Message-State: ALKqPwfxHDu6pVLdfzNyavew4aM0imXwrqKhp16q0fYyOnBADxuuPN4D qJdRkIFdMlL8EcTw6ki7rKBvflfR0Ss= X-Google-Smtp-Source: AB8JxZqhlG7WAiIn7VS72gkS7bJ16mVsG0lQfBzlWOIfeLr71q/RNnxYk19xHRNBOvHXZuBj05SK7w== X-Received: by 2002:a62:9f15:: with SMTP id g21-v6mr3171591pfe.207.1525997505546; Thu, 10 May 2018 17:11:45 -0700 (PDT) Received: from vader.thefacebook.com ([2620:10d:c090:200::4:32a8]) by smtp.gmail.com with ESMTPSA id x84-v6sm4699038pfi.160.2018.05.10.17.11.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 May 2018 17:11:44 -0700 (PDT) From: Omar Sandoval To: linux-btrfs@vger.kernel.org Cc: kernel-team@fb.com, Chris Mason , Josef Bacik Subject: [PATCH v2 12/12] Btrfs: reserve space for O_TMPFILE orphan item deletion Date: Thu, 10 May 2018 17:11:22 -0700 Message-Id: X-Mailer: git-send-email 2.17.0 In-Reply-To: References: In-Reply-To: References: Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Omar Sandoval btrfs_link() calls btrfs_orphan_del() if it's linking an O_TMPFILE but it doesn't reserve space to do so. Even before the removal of the orphan_block_rsv it wasn't using it. Fixes: ef3b9af50bfa ("Btrfs: implement inode_operations callback tmpfile") Reviewed-by: Filipe Manana Signed-off-by: Omar Sandoval --- fs/btrfs/inode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index b28d5f251661..a23962105d8b 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -6491,8 +6491,9 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir, * 2 items for inode and inode ref * 2 items for dir items * 1 item for parent inode + * 1 item for orphan item deletion if O_TMPFILE */ - trans = btrfs_start_transaction(root, 5); + trans = btrfs_start_transaction(root, inode->i_nlink ? 5 : 6); if (IS_ERR(trans)) { err = PTR_ERR(trans); trans = NULL;