Can't you just use the patch from my original e-mail? Anyhow I attached it an already signed-off patch. Al Viro Can you integrate it now? Dave. On 06/07/2013 01:43 AM, Petr Vandrovec wrote: > On Wed, Jun 5, 2013 at 1:20 PM, Dave Chiluk wrote: >> Petr do you still have commit rights to ncpfs? Can you please commit it >> to upstream or do I have to get Al to do that? > > Hi, > only thing I can do is to add > > Signed-off-by: Petr Vandrovec > > on your patch and forward it to Al. Unfortunately patch below is > already whitespace-damaged :-( So you can either send it to me, and > I'll resend it to Al, or you can do that directly... > > Petr > >> Dave. >> >> >> On 05/31/2013 05:22 PM, Petr Vandrovec wrote: >>> Looks OK to me. >>> >>> As I said elsewhere, I do not use ncpfs for years so I cannot provide >>> any sensible maintainership for it anymore :-( >>> >>> Petr >>> >>> On May 31, 2013 2:40 PM, "Dave Chiluk" >> > wrote: >>> >>> Any thoughts on this? NCPFS seems to be the forgotten, left-behind, >>> red-headed stepchild of the fs community. >>> >>> Dave. >>> >>> On 05/28/2013 05:50 PM, Dave Chiluk wrote: >>> > 1d2ef5901483004d74947bbf78d5146c24038fe7 caused a regression in >>> ncpfs such that >>> > directories could no longer be removed. This was because >>> ncp_rmdir checked >>> > to see if a dentry could be unhashed before allowing it to be >>> removed. Since >>> > 1d2ef5901483004d74947bbf78d5146c24038fe7 introduced a change that >>> incremented >>> > dentry->d_count causing it to always be greater than 1 unhash >>> would always >>> > fail. Thus causing the error path in ncp_rmdir to always be >>> taken. Removing >>> > this error path is safe as unhashing is still accomplished by >>> calls to dput >>> > from vfs_rmdir. >>> > --- >>> > fs/ncpfs/dir.c | 9 --------- >>> > 1 file changed, 9 deletions(-) >>> > >>> > diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c >>> > index 8163260..6792ce1 100644 >>> > --- a/fs/ncpfs/dir.c >>> > +++ b/fs/ncpfs/dir.c >>> > @@ -1029,15 +1029,6 @@ static int ncp_rmdir(struct inode *dir, >>> struct dentry *dentry) >>> > DPRINTK("ncp_rmdir: removing %s/%s\n", >>> > dentry->d_parent->d_name.name , >>> dentry->d_name.name ); >>> > >>> > - /* >>> > - * fail with EBUSY if there are still references to this >>> > - * directory. >>> > - */ >>> > - dentry_unhash(dentry); >>> > - error = -EBUSY; >>> > - if (!d_unhashed(dentry)) >>> > - goto out; >>> > - >>> > len = sizeof(__name); >>> > error = ncp_io2vol(server, __name, &len, dentry->d_name.name >>> , >>> > dentry->d_name.len, !ncp_preserve_case(dir)); >>> > >>> >> >