X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=fs%2Fopen.c;h=bf66cf1a9f5c4e186c14b7217414a51b5109c7b4;hb=c624c86615fb8aa61fa76ed8c935446d06c80e77;hp=93ae3cdee4ab093c8a23c0505a45d5673ccbc6b6;hpb=4cae85bed43d890f840019e2d21e39f96430802a;p=deliverable%2Flinux.git diff --git a/fs/open.c b/fs/open.c index 93ae3cdee4ab..bf66cf1a9f5c 100644 --- a/fs/open.c +++ b/fs/open.c @@ -840,13 +840,13 @@ EXPORT_SYMBOL(file_path); int vfs_open(const struct path *path, struct file *file, const struct cred *cred) { - struct inode *inode = vfs_select_inode(path->dentry, file->f_flags); + struct dentry *dentry = d_real(path->dentry, NULL, file->f_flags); - if (IS_ERR(inode)) - return PTR_ERR(inode); + if (IS_ERR(dentry)) + return PTR_ERR(dentry); file->f_path = *path; - return do_dentry_open(file, inode, NULL, cred); + return do_dentry_open(file, d_backing_inode(dentry), NULL, cred); } struct file *dentry_open(const struct path *path, int flags,