Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp12111184ybi; Fri, 26 Jul 2019 05:00:48 -0700 (PDT) X-Google-Smtp-Source: APXvYqx1h8iXfd2Pnp2KeGOD2OjtIxWKF5ecIVQVq7dXVdRa6bOtwsLrqav0JC9ct4CE1n85jMDL X-Received: by 2002:aa7:8b52:: with SMTP id i18mr22232125pfd.194.1564142448411; Fri, 26 Jul 2019 05:00:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564142448; cv=none; d=google.com; s=arc-20160816; b=d872ScOCiZOAiKjPWqnvvijK1Q8XMn6KT73cxScv1F9wHhwDV/UOktVdZCg/UxDi2P 5Bjq4ckADZtedgwZ8m71JBnB3YipRuVR1utup+DNRf4kvJ75wRHQ1TR2pHjtyOdpitmC 7cMykHv5rhs2XHFPrICdSgcgltSGG1MdTct7qbooWtCFdNaxLKhCFxu8OtvZTVp6tmud JLJwGz70K1qJWT0R8asX+IPbqxH0/et+6YBPaqnRa5ZY86O9z+UG9s+MedXgEmLQ3RQH c57Iv+XHd0Xa8uDURBqj9rpK1CVAMr1utujlp3SVLgWDI8yc/E70z86ujYul3ulAeZwg /lvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:mime-version:user-agent:date:message-id :to:subject:from:dkim-signature; bh=mXZwP2hoczQfrlEydy4jWIW1BdPXbgXaZJRNxyejTsM=; b=obz2DTqWPirGsfoumgO1SO7S7uNOuf2ca5StBm4PaJJsITnVb75tR1TI3tyKYfh7bT KYcJ6ABI89fkg5WHcqeZ9360F+QA7F+tBYevv5AGtXpy+Q6FRSwhrao+lRsfce2GKUGj Sh1MhCFkGzdT3HUuKV0qIonl4rnRHJYXtXv0UB0g3hm2aj5MKmq4KYYfLWNP6JXSr7nC rZfYjXYNQDPhG6O0wFUkdKQoMXmc4/yCy77YVM4etGX2TG/XC/d3GVaWoHVmKyJ4XnA5 Y2lrbb/BpgLZX2dYg0CKtqeg6arnjRls3X4mzC18annfOb2A+zseNr4IUXmSZps1hd9u zwOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=g7Nw+TGt; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h15si18217228pgi.570.2019.07.26.05.00.12; Fri, 26 Jul 2019 05:00:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=g7Nw+TGt; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726291AbfGZLpj (ORCPT + 99 others); Fri, 26 Jul 2019 07:45:39 -0400 Received: from mail-wr1-f49.google.com ([209.85.221.49]:37917 "EHLO mail-wr1-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726404AbfGZLpi (ORCPT ); Fri, 26 Jul 2019 07:45:38 -0400 Received: by mail-wr1-f49.google.com with SMTP id g17so54128480wrr.5 for ; Fri, 26 Jul 2019 04:45:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=mXZwP2hoczQfrlEydy4jWIW1BdPXbgXaZJRNxyejTsM=; b=g7Nw+TGty8O/WErj9cNBvRfYP4N04uwg/M9q4Ju6bXSbLvvZqF9h412XA170Ottd32 xLLeoBwP1usY+Cg8Q8Yf4lVyQt8IBURnxKOAv3vWwYq64fxXeJZRNiiefywC7FhP5Bx7 WK6MhKxBafYL8CHTaROkv87/U9nNGMfu6E9B4fcN5gUH9j2SHrR0SvptvIc6AhMyYxv8 SXP7QtMH83yxw1F4UWB1QWi/0bYVNbis6llHsIf4e+coZ+lANxT5Xq7hY10a6XltAO4Y Ziq43hvu1ThB8TrYzpLQqUtQxoYTy0FFLe0uPRWXS/pWitRqSXGH0gqOxzon5I4jWDFW lAoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=mXZwP2hoczQfrlEydy4jWIW1BdPXbgXaZJRNxyejTsM=; b=NZZMkfXh/W1VUSSvHRj9Tv7e8dJHJvh0cn8f5I6W0RumEoCOJb+6xN0QiIvMJtjH77 YIwD0r1q8sWqtBqlm36XUWCG97QOnYRkVjsm4qTCDhf6VC/ESNa04pXQe3KTw3eEqqwW lCTsMXrbGE99GWquichhqmArpDU5Cg5VFumpvteZSND9LADICI/iqSnTNCYwk0ceyBbq mFg2HBr/iBC9MUm2H8h6hz9Us962TpsWfzPT+q52f7N00dB/FgHOEXEHhTtRK7PLQojh uk6KfviRN9xz1HaSwVEfuY5kwYUNuCeuEHrV/Lg524Ai0tzzFB7UbUOGLbmCuiTc89uc cMJg== X-Gm-Message-State: APjAAAXsBBwc5+pHf+gtGkIUz0+/1mYrKHnbLx+vTGY7I7XL9E+W7TLw rjJW3Ubx9p4a/Q9kiDalicwDjqens/Q= X-Received: by 2002:a5d:67cd:: with SMTP id n13mr27534139wrw.138.1564141536245; Fri, 26 Jul 2019 04:45:36 -0700 (PDT) Received: from ?IPv6:2a01:36d:104:9516:240c:2511:8205:6d7f? (2a01-036d-0104-9516-240c-2511-8205-6d7f.pool6.digikabel.hu. [2a01:36d:104:9516:240c:2511:8205:6d7f]) by smtp.gmail.com with ESMTPSA id c3sm55863081wrx.19.2019.07.26.04.45.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Jul 2019 04:45:35 -0700 (PDT) From: Zoltan Karcagi Subject: BUG: "Stale file handle" error when connecting to ARM server To: linux-nfs@vger.kernel.org Message-ID: <5bcd51ef-9ffb-2650-108f-8d7b04beb655@gmail.com> Date: Fri, 26 Jul 2019 13:45:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Hi, Upgrading the nfs-utils package from 2.3.4 to 2.4.1 on my nas device running Arch Linux ARM (alarm) broke the nfs server functionality. On all of my clients, mount fails with a "Stale file handle" error. On the server, I get this (side note: the reported version number is wrong): Jul 08 10:28:50 nas rpc.mountd[19752]: Version 2.3.4 starting Jul 08 10:30:08 nas rpc.mountd[19752]: auth_unix_ip: inbuf 'nfsd ' Jul 08 10:30:08 nas rpc.mountd[19752]: auth_unix_ip: client 0x492c50 'zero.local' Jul 08 10:30:08 nas rpc.mountd[19752]: nfsd_fh: inbuf 'zero.local 1 \x00000000' Jul 08 10:30:08 nas rpc.mountd[19752]: nfsd_fh: found 0x49b698 path /srv/nfs Jul 08 10:30:08 nas rpc.mountd[19752]: nfsd_export: inbuf 'zero.local /srv/nfs/tmp2' Jul 08 10:30:09 nas rpc.mountd[19752]: nfsd_export: found 0x499ed0 path /srv/nfs/tmp2 Jul 08 10:30:09 nas rpc.mountd[19752]: nfsd_fh: inbuf 'zero.local 7 \x0100140000000000ae18d6965c0a40f78701c770897a4fc> Jul 08 10:30:09 nas rpc.mountd[19752]: nfsd_fh: found (nil) path (null) Analysis: Consider this code snippet from utils/mountd/cache.c: 627 static bool match_fsid(struct parsed_fsid *parsed, nfs_export *exp, char *path) 628 { 629 struct stat stb; 630 int type; 631 char u[16]; 632 633 if (nfsd_path_stat(path, &stb) != 0) 634 return false; Variable stb gets defined, then gets filled by nfs_path_stat(), which is implemented in support/misc/nfsd_path.c. At least on alarm, definition of struct stat in stat.h depends on __USE_FILE_OFFSET64, which comes from config.h if defined. This requires config.h to be included before stat.h. The include order is right in cache.c, however, it's reversed in nfsd_path.c. This causes the data returned by nfs_path_stat() to be in a different structure than expected, and that's what eventually causes the error. Proposed solution: The following patch fixes those occurrences where the include order between config.h and stat.h is wrong, by moving config.h to the top. Regards, Zoltan Karcagi