From patchwork Fri Nov 8 21:02:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anna Schumaker X-Patchwork-Id: 11235531 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 77333139A for ; Fri, 8 Nov 2019 21:02:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 560F3206C3 for ; Fri, 8 Nov 2019 21:02:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AsM6tvjq" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726227AbfKHVC2 (ORCPT ); Fri, 8 Nov 2019 16:02:28 -0500 Received: from mail-yb1-f193.google.com ([209.85.219.193]:37643 "EHLO mail-yb1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727210AbfKHVC2 (ORCPT ); Fri, 8 Nov 2019 16:02:28 -0500 Received: by mail-yb1-f193.google.com with SMTP id q7so271237ybk.4 for ; Fri, 08 Nov 2019 13:02:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Z8ebJKohpb1s42CAw3G5otQLMnl5+nXFKve/m40i4Zc=; b=AsM6tvjqHXIWSExDWPRDmO5iTab7iaqhKOsSy4lr6JveVWHMHJYlDpa0ngyFQ0LalA qE9RH5w0+VqleGWu1Hh1/qs7dK0gshsuf4J6SbdUGjIUDerDTOngw7IoRWFsM9o08fTJ FceZRFizemMQu32fEfjzmX9WRg2BXZhCHWUH/2wsvUkALuDX68GxqKJn3227GJzbfvqJ 0w1EFCEX2xuVBNtklmxR39bnSlHWBXhBLmMp75m66R/SI3XaqDOvIYdGQwTNWpyO8NUf h+AWRP7Xw3VolALEPyjkpTK4PdZ3KbL9LIZg5vaLPhxpOzbFNzNqsPn2lMrjaqwjdLIe cP0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=Z8ebJKohpb1s42CAw3G5otQLMnl5+nXFKve/m40i4Zc=; b=N12WC/TG5p8fNKP0MsvIAIc3cghK8vT0tT2cruLVOFc/Ifve2xhA0dsB/xTJf/W+F4 99Xz+zaUTq2Qm8Bpit0k6B09FI92hOxzlURrLnNpQ8ZXqF1I6PpqiK3IBKavQSQ4T5aD gm1iauPYRUqjoFp1xFDyMEYkGY37wRjkutgY/KzeDU+7D8Qc/YtlAqiXQhFHzNVgDhdu 9di8r48HXdZ4jVSlP93U8wHdj+qTMjsjMYlgc5ij+6EU9NqXxYXwsAYk1X1fyeCx50jG pQrJAuGtc76SYQ+aGPLZHCrbQwQmEyEPS7AL0aI2/aaYLHEXfORSwhefLN+3kekvSPe6 6M1g== X-Gm-Message-State: APjAAAU84Prb9amOZqP5TSyts5jb8fL9evrpLpdYFO4YESbnKLfnTJRo Lo51a+IZamcxQpAG6NNhMO5kD3QL X-Google-Smtp-Source: APXvYqycGWcmeX+AeB8+zeoOrznt8NdEaNzPG9JhTwX6vvHE2svioAWmzUerQWn3kpkwCwmmLyPBQQ== X-Received: by 2002:a25:ca07:: with SMTP id a7mr10872148ybg.340.1573246946597; Fri, 08 Nov 2019 13:02:26 -0800 (PST) Received: from localhost.localdomain (c-68-42-68-242.hsd1.mi.comcast.net. [68.42.68.242]) by smtp.gmail.com with ESMTPSA id p126sm1904033ywc.16.2019.11.08.13.02.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Nov 2019 13:02:25 -0800 (PST) From: schumaker.anna@gmail.com X-Google-Original-From: Anna.Schumaker@Netapp.com To: Trond.Myklebust@hammerspace.com, linux-nfs@vger.kernel.org Cc: Anna.Schumaker@Netapp.com Subject: [PATCH 1/2] NFS: Add FATTR4_WORD1_SPACE_USED to the cache_consistency_bitmask Date: Fri, 8 Nov 2019 16:02:23 -0500 Message-Id: <20191108210224.33645-1-Anna.Schumaker@Netapp.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Anna Schumaker Changing a sparse file could have an effect not only on the file size, but also on the number of blocks used by the file in the underlying filesystem. Let's update the SPACE_USED attribute whenever we update SIZE to be as accurate as possible. This patch fixes xfstests generic/568, which tests that fallocating an unaligned range allocates all blocks touched by that range. Without this patch, `stat` reports 0 bytes used immediately after the fallocate. Adding a `sleep 5` to the test also catches the update, but it's better to just do it when we know something has changed. Signed-off-by: Anna Schumaker --- fs/nfs/nfs4proc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ac9063c06205..00a1f3ec7f22 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -3775,7 +3775,7 @@ static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *f memcpy(server->cache_consistency_bitmask, res.attr_bitmask, sizeof(server->cache_consistency_bitmask)); server->cache_consistency_bitmask[0] &= FATTR4_WORD0_CHANGE|FATTR4_WORD0_SIZE; - server->cache_consistency_bitmask[1] &= FATTR4_WORD1_TIME_METADATA|FATTR4_WORD1_TIME_MODIFY; + server->cache_consistency_bitmask[1] &= FATTR4_WORD1_TIME_METADATA|FATTR4_WORD1_TIME_MODIFY|FATTR4_WORD1_SPACE_USED; server->cache_consistency_bitmask[2] = 0; /* Avoid a regression due to buggy server */ From patchwork Fri Nov 8 21:02:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anna Schumaker X-Patchwork-Id: 11235533 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AC2DE15AB for ; Fri, 8 Nov 2019 21:02:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8BBDF206C3 for ; Fri, 8 Nov 2019 21:02:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="K7OyVudc" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727612AbfKHVC3 (ORCPT ); Fri, 8 Nov 2019 16:02:29 -0500 Received: from mail-yw1-f68.google.com ([209.85.161.68]:34046 "EHLO mail-yw1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727210AbfKHVC2 (ORCPT ); Fri, 8 Nov 2019 16:02:28 -0500 Received: by mail-yw1-f68.google.com with SMTP id y18so2688464ywk.1 for ; Fri, 08 Nov 2019 13:02:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kUTQIBz1lo0h389F7WpocUOi4Y16RndkL1U5V7h4NfU=; b=K7OyVudcsUR3x4+revehF3TEa8uQ+twUXieYexOuKXmHONlt/LxNPDySb8sHS/+0Oi nojUtXRc3aM1/pG+XjPlVnYIQ3c0r6KtXFwyUS1bOFZjQdlI9w+SSzeRtquDaETK1XkP X5J7rM0tgxoTYhyKKrxlg60dmMkOIA7q1qc95O77/B0PofZwj4GCaVx0iw0zavK1xzAV s4vxWSxmgsPSaKDQ4OG1Oyb+0Q9NIrN4gg4i88ofcVjzZH95ZDRCxNoaO/7n1RsXeQX4 XdY0v4PY6SeGMDfl6fsHOGk6zdpvIFYbKVtj+j2AMLi+zd7+SH31QOey7fSZjlht5GI8 RN6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=kUTQIBz1lo0h389F7WpocUOi4Y16RndkL1U5V7h4NfU=; b=cITkz0FCfP2cBJfVT9UczyPfannpAChEldnHQWiq/4EcJSOOSfGpGzS/5jDHVJHPQ5 QkJsezFFPju4i8gjN6qEbueB0+F12JQHI2I3K1Fl8Yr0FE3mJ60OqlznrRNXjg0s1r3z 8MuQTzvSix4L2ZhNfeDfsWOWRLndr043MSA7vhhZEI5SoXBeKXys8rT5+Sn8TWfL6NhK 02OfzIZ4ev5XFZgWsqPzlGdyNa4tOXSt/7GisW74rcJRQXry8qxgk94UU4cNOh2YQDzj S70VidfEqNjlg68v7qj+dxuzftmzoAwYGYzbHzqb3/DuogQ0pI8MRfKP0tavSo+m0iQW vPLw== X-Gm-Message-State: APjAAAW06eu5/mqZSrD6xASKZRYs/3ioVYp6icJEu6LxNOygr1DntDcR iviYd85jMKNWAY5as228ABU= X-Google-Smtp-Source: APXvYqzt9UhbuRFTgGe7C1uPSt0zDkVAzW8J+tYw8ckrjXX5PR2zsA78NgKR2QkfTEjgNl+abbJGyw== X-Received: by 2002:a0d:d583:: with SMTP id x125mr8408656ywd.213.1573246947785; Fri, 08 Nov 2019 13:02:27 -0800 (PST) Received: from localhost.localdomain (c-68-42-68-242.hsd1.mi.comcast.net. [68.42.68.242]) by smtp.gmail.com with ESMTPSA id p126sm1904033ywc.16.2019.11.08.13.02.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Nov 2019 13:02:27 -0800 (PST) From: schumaker.anna@gmail.com X-Google-Original-From: Anna.Schumaker@Netapp.com To: Trond.Myklebust@hammerspace.com, linux-nfs@vger.kernel.org Cc: Anna.Schumaker@Netapp.com Subject: [PATCH 2/2] NFS: Return -ETXTBSY when attempting to write to a swapfile Date: Fri, 8 Nov 2019 16:02:24 -0500 Message-Id: <20191108210224.33645-2-Anna.Schumaker@Netapp.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191108210224.33645-1-Anna.Schumaker@Netapp.com> References: <20191108210224.33645-1-Anna.Schumaker@Netapp.com> MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Anna Schumaker My understanding is that -EBUSY refers to the underlying device, and that -ETXTBSY is used when attempting to access a file in use by the kernel (like a swapfile). Changing this return code helps us pass xfstests generic/569 Signed-off-by: Anna Schumaker --- fs/nfs/file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 95dc90570786..8eb731d9be3e 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -649,7 +649,7 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from) out_swapfile: printk(KERN_INFO "NFS: attempt to write to active swap file!\n"); - return -EBUSY; + return -ETXTBSY; } EXPORT_SYMBOL_GPL(nfs_file_write);