From patchwork Wed May 5 16:16:55 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 51707 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.samba.org (fn.samba.org [216.83.154.106]) by ozlabs.org (Postfix) with ESMTP id AA8F4B7D40 for ; Thu, 6 May 2010 02:16:00 +1000 (EST) Received: from fn.samba.org (localhost [127.0.0.1]) by lists.samba.org (Postfix) with ESMTP id 3A24EAD2F1; Wed, 5 May 2010 10:16:00 -0600 (MDT) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on fn.samba.org X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.8 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.2.5 X-Original-To: linux-cifs-client@lists.samba.org Delivered-To: linux-cifs-client@lists.samba.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by lists.samba.org (Postfix) with ESMTP id 58E03AD1FB for ; Wed, 5 May 2010 10:15:55 -0600 (MDT) Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o45GFrIq019023 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 5 May 2010 12:15:53 -0400 Received: from localhost.localdomain (vpn1-6-118.ams2.redhat.com [10.36.6.118]) by int-mx03.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o45GFpAv028151; Wed, 5 May 2010 12:15:52 -0400 From: Jeff Layton To: smfrench@gmail.com Date: Wed, 5 May 2010 18:16:55 +0200 Message-Id: <1273076215-8827-1-git-send-email-jlayton@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.16 Cc: linux-cifs-client@lists.samba.org Subject: [linux-cifs-client] [PATCH] cifs: disable the use of server inode numbers by default X-BeenThere: linux-cifs-client@lists.samba.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: The Linux CIFS VFS client List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-cifs-client-bounces@lists.samba.org Errors-To: linux-cifs-client-bounces@lists.samba.org We have a bit of a problem with server inode numbers... The FILE_UNIX_BASIC_INFO struct has a UniqueID field that is supposed to be unique across the scope of the share. It turns out that all current and past versions of Samba simply stuffed the inode number in this field. If you have a share that spans multiple filesystems on the server, then it's *likely* that the server will send the same value for more than one inode, leading to collisions. Given that, it's really pretty dangerous to trust this info from the server at this time. This patch simply makes the default "noserverino". To reenable it, admins will have to mount with "serverino". We'll continue to pursue fixes for this problem in the meantime, so hopefully this is just a temporary measure. Signed-off-by: Jeff Layton --- fs/cifs/connect.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 9123c23..a60c977 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -839,8 +839,13 @@ cifs_parse_mount_options(char *options, const char *devname, /* vol->retry default is 0 (i.e. "soft" limited retry not hard retry) */ /* default is always to request posix paths. */ vol->posix_paths = 1; - /* default to using server inode numbers where available */ - vol->server_ino = 1; + + /* + * The client cannot default to using server inode numbers until it + * can reliably guard against misbehaving servers causing inode + * number collisions. + */ + vol->server_ino = 0; if (!options) return 1;