]> git.proxmox.com Git - mirror_spl-debian.git/commitdiff
Handle errors from spl_kern_path_locked()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 3 Dec 2012 20:01:28 +0000 (12:01 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 3 Dec 2012 20:06:25 +0000 (12:06 -0800)
When the Linux 3.6 KERN_PATH_LOCKED compatibility code was added
by commit bcb1589 an entirely new vn_remove() implementation was
added.  That function did not properly handle an error from
spl_kern_path_locked() which would result in an panic.  This
patch addresses the issue by returning the error to the caller.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #187

module/spl/spl-vnode.c

index a0fed32017296abb797ebfa00b0b2722a933fd7e..0ecd9addfa06f3d184c0cf60a794be07fdd28289 100644 (file)
@@ -332,6 +332,8 @@ vn_remove(const char *path, uio_seg_t seg, int flags)
                rc = vfs_unlink(parent.dentry->d_inode, dentry);
 exit1:
                dput(dentry);
+       } else {
+               return (-rc);
        }
 
        spl_inode_unlock(parent.dentry->d_inode);