From: Suresh Jayaraman Subject: Re: [RFC][PATCH 05/10] cifs: define superblock-level cache index objects and register them Date: Fri, 25 Jun 2010 18:14:16 +0530 Lines: 41 Message-ID: <4C24A4A0.90408@suse.de> References: <1277220206-3559-1-git-send-email-sjayaraman@suse.de> <9720.1277312290@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Steve French , linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: David Howells X-From: linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Fri Jun 25 14:44:28 2010 Return-path: Envelope-to: glkc-linux-cifs-1dZseelyfdZg9hUCZPvPmw@public.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OS8Gh-0005Bb-E2 for glkc-linux-cifs-1dZseelyfdZg9hUCZPvPmw@public.gmane.org; Fri, 25 Jun 2010 14:44:27 +0200 Received: (majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org) by vger.kernel.org via listexpand id S1754703Ab0FYMo0 (ORCPT ); Fri, 25 Jun 2010 08:44:26 -0400 Received: from cantor.suse.de ([195.135.220.2]:51036 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754222Ab0FYMoZ (ORCPT ); Fri, 25 Jun 2010 08:44:25 -0400 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.221.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id E07FF8FEA2; Fri, 25 Jun 2010 14:44:24 +0200 (CEST) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091130 SUSE/3.0.0-1.1.1 Thunderbird/3.0 In-Reply-To: <9720.1277312290-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Sender: linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Precedence: bulk List-ID: X-Mailing-List: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Archived-At: On 06/23/2010 10:28 PM, David Howells wrote: > Suresh Jayaraman wrote: > >> Define superblock-level cache index objects (managed by cifsTconInfo >> structs). Each superblock object is created in a server-level index object >> and in itself an index into which inode-level objects are inserted. >> >> Currently, the superblock objects are keyed by sharename. > > Seems reasonable. Is there any way you can check that the share you are > looking at on a server is the same as the last time you looked? Can you Good point. I thought of using TID (Tree identifier; a unique ID for a resource in use by client) along with sharename. But, Server is free to reuse them when the tree connection closes and does not guarantee the same Tid for a particular resource across tree connections. Also, considering the UNC name of the resource (//server/share) may not be a good idea too as the cache will not be used when for e.g. IPaddress is used to mount. So, if a server does something like this: - export a share 'foo' (original server path: /export/vol1/foo) - client mounts and uses it - server unexports the share 'foo' - server exports 'foo' (original sever path: /export/vol2/foo) we have a bit of problem.. > validate the root directory of the share in some way? > I don't know if there is a way to do this. Thanks, -- Suresh Jayaraman