From 2cec12807d3dbba935ef3f0266de062e5fd5eae1 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Thu, 19 Dec 1996 18:16:33 +0000 Subject: Fixed errno for unsupported advisory locks. The errno is now EINVAL fcntl() and EOPNOTSUPP for flock(). POSIX specifies the weaker EINVAL errno and the man page agrees. Not fixed: deadfs: always returns wrong EBADF devfs, msdosfs: always return sometimes-wrong EINVAL cd9660, fdesc, kernfs, portal: always return sometimes-wrong EOPNOTSUPP procfs: always returns wrong EIO mfs: panic?! nfs: fudged NetBSD uses a generic file system genfs to do return the sometimes-wrong EOPNOTSUPP more consistently :-)(. Found by: NIST-PCTS --- sys/miscfs/fifofs/fifo_vnops.c | 4 ++-- sys/miscfs/specfs/spec_vnops.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/miscfs') diff --git a/sys/miscfs/fifofs/fifo_vnops.c b/sys/miscfs/fifofs/fifo_vnops.c index ded0d5f85361..e3621d2075be 100644 --- a/sys/miscfs/fifofs/fifo_vnops.c +++ b/sys/miscfs/fifofs/fifo_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fifo_vnops.c 8.2 (Berkeley) 1/4/94 - * $Id: fifo_vnops.c,v 1.16 1996/02/13 18:16:23 wollman Exp $ + * $Id: fifo_vnops.c,v 1.17 1996/09/03 14:22:23 bde Exp $ */ #include @@ -531,7 +531,7 @@ fifo_advlock(ap) } */ *ap; { - return (EOPNOTSUPP); + return (ap->a_flags & F_FLOCK ? EOPNOTSUPP : EINVAL); } /* diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c index 94fcb653ba3a..723e98187d3a 100644 --- a/sys/miscfs/specfs/spec_vnops.c +++ b/sys/miscfs/specfs/spec_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.6 (Berkeley) 4/9/94 - * $Id: spec_vnops.c,v 1.32 1996/09/03 14:23:21 bde Exp $ + * $Id: spec_vnops.c,v 1.33 1996/10/06 21:19:33 dyson Exp $ */ #include @@ -712,7 +712,7 @@ spec_advlock(ap) } */ *ap; { - return (EOPNOTSUPP); + return (ap->a_flags & F_FLOCK ? EOPNOTSUPP : EINVAL); } /* -- cgit v1.3