On Mon, Nov 27 2017, Helg <[email protected]> wrote:
> fusefs_link returns the wrong error code when attempting to create a
> hard link to a directory. It returns EISDIR when it should instead
> return EPERM. Discovered while running the ffs test suite on ntfs-3g
> and confirmed by comparing to ufs.
>
> This is the description for the test that fails:
> </usr/src/regress/sys/ffs/tests/link/11.t>
>
> "link returns EPERM if the source file is a directory"
>
> This patch changes the error code to EPERM.
>
> ok?
ok jca@
> Index: fuse_vnops.c
> ===================================================================
> RCS file: /cvs/src/sys/miscfs/fuse/fuse_vnops.c,v
> retrieving revision 1.35
> diff -u -p -u -p -r1.35 fuse_vnops.c
> --- fuse_vnops.c 27 Nov 2017 12:54:13 -0000 1.35
> +++ fuse_vnops.c 27 Nov 2017 13:49:15 -0000
> @@ -565,7 +565,7 @@ fusefs_link(void *v)
> }
> if (vp->v_type == VDIR) {
> VOP_ABORTOP(dvp, cnp);
> - error = EISDIR;
> + error = EPERM;
> goto out2;
> }
> if (dvp->v_mount != vp->v_mount) {
>
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE