Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 580720 Details for
Bug 814418
NFSv4 symlink regression problem
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Patch - propogate LOOKUP_DIRECTORY flag only for last component
autofs-propogate-LOOKUP_DIRECTORY-flag-only-for-last-component.patch (text/plain), 1.70 KB, created by
Ian Kent
on 2012-04-27 10:34:31 UTC
(
hide
)
Description:
Patch - propogate LOOKUP_DIRECTORY flag only for last component
Filename:
MIME Type:
Creator:
Ian Kent
Created:
2012-04-27 10:34:31 UTC
Size:
1.70 KB
patch
obsolete
>autofs - propogate LOOKUP_DIRECTORY flag only for last component > >From: Ian Kent <ikent@redhat.com> > >If the path being walked must follow a symlink that ends with a "/" >the nameidata flag LOOKUP_DIRECTORY can be set earlier than the last >path component and lead to an incorrect ENOTDIR. For the purpose >of possible automounting the flag isn't needed for intermediate path >components because LOOKUP_CONTINUE flag will be set. >--- > > fs/namei.c | 11 ++++++++--- > 1 files changed, 8 insertions(+), 3 deletions(-) > > >diff --git a/fs/namei.c b/fs/namei.c >index ecd3e3f..dbdd484 100644 >--- a/fs/namei.c >+++ b/fs/namei.c >@@ -976,6 +976,7 @@ static int do_lookup(struct nameidata *nd, struct qstr *name, > { > struct vfsmount *mnt = nd->mnt; > struct dentry *dentry = __d_lookup(nd->dentry, name); >+ int flags = nd->flags; > int ret; > > if (!dentry) >@@ -985,7 +986,13 @@ static int do_lookup(struct nameidata *nd, struct qstr *name, > done: > path->mnt = mnt; > path->dentry = dentry; >- ret = managed_dentry(path, nd->flags); >+ /* >+ * Make sure follow_automount() knows about the trailing >+ * "/" but only for the real last path component. >+ */ >+ if (!(nd->flags & LOOKUP_CONTINUE) && name->name[name->len] == '/') >+ flags |= LOOKUP_DIRECTORY; >+ ret = managed_dentry(path, flags); > if (unlikely(ret < 0)) > dput_path(path, nd); > return ret; >@@ -1143,8 +1150,6 @@ static fastcall int __link_path_walk(const char * name, struct nameidata *nd) > > last_with_slashes: > lookup_flags |= LOOKUP_FOLLOW | LOOKUP_DIRECTORY; >- /* Make sure follow_automount() knows about the trailing "/" */ >- nd->flags |= LOOKUP_DIRECTORY; > last_component: > /* Clear LOOKUP_CONTINUE iff it was previously unset */ > nd->flags &= lookup_flags | ~LOOKUP_CONTINUE;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 814418
: 580720