On Wed, Mar 2, 2016 at 9:31 AM, Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> wrote: > On Wed, Mar 2, 2016 at 9:27 AM, Goldwyn Rodrigues <rgoldwyn@xxxxxxx> wrote: >> >> >> >> On 03/01/2016 02:46 PM, Trond Myklebust wrote: >>> >>> On Tue, Mar 1, 2016 at 1:12 PM, Goldwyn Rodrigues <rgoldwyn@xxxxxxx> wrote: >>>> >>>> >>>> From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> >>>> >>>> NFS translates the inode from the dentry and uses sb from the dentry >>>> parameters. However, using NFS in conjunction with overlayfs, the inodes >>>> associated with dentries may be associated with overlayfs as opposed >>>> to NFS. So, store inode in nfs_open_context and use d_select_inode() >>>> to translate dentry to inode. >>> >>> >>> I don't see how this helps. The dentry and dentry->d_sb that are >>> associated with the open context need to be NFS namespace objects, >>> otherwise all sorts of things, ranging from inode lookup to NFSv4 >>> state recovery are going to break. >>> >> >> dentry evaluations and inode lookups are done by overlayfs, with the help of NFS. NFS becomes a subset of overlayfs. However, you are right. state recovery will break with this patch. >> >> Which makes me wonder: Shouldn't nfs_open_context (or any open context) be with respect to an inode as opposed to a dentry? > > No. It is designed the way it is precisely because it needs namespace > information. IOW: this has never been intended to be an overlayfs object. It needs to reflect the _real_ NFS namespace for various reasons (including recovery). -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html