Hello Miklos, On Wed, Mar 23, 2016 at 2:36 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > This series fixes bugs in nfs and ext4 due to 4bacc9c9234c ("overlayfs: > Make f_path always point to the overlay and f_inode to the underlay"). > > Regular files opened on overlayfs will result in the file being opened on > the underlying filesystem, while f_path points to the overlayfs > mount/dentry. > > This confuses filesystems which get the dentry from struct file and assume > it's theirs. > > Add a new helper, file_dentry() [*], to get the filesystem's own dentry > from the file. This checks file->f_path.dentry->d_flags against > DCACHE_OP_REAL, and returns file->f_path.dentry if DCACHE_OP_REAL is not > set (this is the common, non-overlayfs case). > > In the uncommon case it will call into overlayfs's ->d_real() to get the > underlying dentry, matching file_inode(file). > > The reason we need to check against the inode is that if the file is copied > up while being open, d_real() would return the upper dentry, while the open > file comes from the lower dentry. > > [*] If possible, it's better simply to use file_inode() instead. > > Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxxxxx> > Tested-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> > Reviewed-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # v4.2 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay and f_inode to the underlay"). This commit is from v4.1 if I am not wrong. So the stable tag might be wrong. Am I missing something? -- William -- To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html