Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jul 2017 21:55:20 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r320900 - in head/sys: fs/cd9660 fs/ext2fs fs/fifofs fs/msdosfs fs/nandfs fs/nfsclient fs/smbfs fs/tmpfs ufs/ufs
Message-ID:  <201707112155.v6BLtKbZ006618@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Tue Jul 11 21:55:20 2017
New Revision: 320900
URL: https://svnweb.freebsd.org/changeset/base/320900

Log:
  Consistently use vop_stdpathconf() for default pathconf values.
  
  Update filesystems not currently using vop_stdpathconf() in pathconf
  VOPs to use vop_stdpathconf() for any configuration variables that do
  not have filesystem-specific values.  vop_stdpathconf() is used for
  variables that have system-wide settings as well as providing default
  values for some values based on system limits.  Filesystems can still
  explicitly override individual settings.
  
  PR:		219851
  Reported by:	cem
  Reviewed by:	cem, kib, ngie
  MFC after:	1 month
  Sponsored by:	Chelsio Communications
  Differential Revision:	https://reviews.freebsd.org/D11541

Modified:
  head/sys/fs/cd9660/cd9660_vnops.c
  head/sys/fs/ext2fs/ext2_vnops.c
  head/sys/fs/fifofs/fifo_vnops.c
  head/sys/fs/msdosfs/msdosfs_vnops.c
  head/sys/fs/nandfs/nandfs_vnops.c
  head/sys/fs/nfsclient/nfs_clvnops.c
  head/sys/fs/smbfs/smbfs_vnops.c
  head/sys/fs/tmpfs/tmpfs_vnops.c
  head/sys/ufs/ufs/ufs_vnops.c

Modified: head/sys/fs/cd9660/cd9660_vnops.c
==============================================================================
--- head/sys/fs/cd9660/cd9660_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/cd9660/cd9660_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -792,20 +792,11 @@ cd9660_pathconf(ap)
 		else
 			*ap->a_retval = 37;
 		return (0);
-	case _PC_PATH_MAX:
-		*ap->a_retval = PATH_MAX;
-		return (0);
-	case _PC_PIPE_BUF:
-		*ap->a_retval = PIPE_BUF;
-		return (0);
-	case _PC_CHOWN_RESTRICTED:
-		*ap->a_retval = 1;
-		return (0);
 	case _PC_NO_TRUNC:
 		*ap->a_retval = 1;
 		return (0);
 	default:
-		return (EINVAL);
+		return (vop_stdpathconf(ap));
 	}
 	/* NOTREACHED */
 }

Modified: head/sys/fs/ext2fs/ext2_vnops.c
==============================================================================
--- head/sys/fs/ext2fs/ext2_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/ext2fs/ext2_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -1627,18 +1627,6 @@ ext2_pathconf(struct vop_pathconf_args *ap)
 		else
 			*ap->a_retval = ext2_max_nlink(VTOI(ap->a_vp));
 		break;
-	case _PC_NAME_MAX:
-		*ap->a_retval = NAME_MAX;
-		break;
-	case _PC_PATH_MAX:
-		*ap->a_retval = PATH_MAX;
-		break;
-	case _PC_PIPE_BUF:
-		*ap->a_retval = PIPE_BUF;
-		break;
-	case _PC_CHOWN_RESTRICTED:
-		*ap->a_retval = 1;
-		break;
 	case _PC_NO_TRUNC:
 		*ap->a_retval = 1;
 		break;
@@ -1661,11 +1649,6 @@ ext2_pathconf(struct vop_pathconf_args *ap)
 	case _PC_MIN_HOLE_SIZE:
 		*ap->a_retval = ap->a_vp->v_mount->mnt_stat.f_iosize;
 		break;
-	case _PC_ASYNC_IO:
-		/* _PC_ASYNC_IO should have been handled by upper layers. */
-		KASSERT(0, ("_PC_ASYNC_IO should not get here"));
-		error = EINVAL;
-		break;
 	case _PC_PRIO_IO:
 		*ap->a_retval = 0;
 		break;
@@ -1695,7 +1678,7 @@ ext2_pathconf(struct vop_pathconf_args *ap)
 		break;
 
 	default:
-		error = EINVAL;
+		error = vop_stdpathconf(ap);
 		break;
 	}
 	return (error);

Modified: head/sys/fs/fifofs/fifo_vnops.c
==============================================================================
--- head/sys/fs/fifofs/fifo_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/fifofs/fifo_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -71,7 +71,6 @@ struct fifoinfo {
 static vop_print_t	fifo_print;
 static vop_open_t	fifo_open;
 static vop_close_t	fifo_close;
-static vop_pathconf_t	fifo_pathconf;
 static vop_advlock_t	fifo_advlock;
 
 struct vop_vector fifo_specops = {
@@ -87,7 +86,7 @@ struct vop_vector fifo_specops = {
 	.vop_mkdir =		VOP_PANIC,
 	.vop_mknod =		VOP_PANIC,
 	.vop_open =		fifo_open,
-	.vop_pathconf =		fifo_pathconf,
+	.vop_pathconf =		vop_stdpathconf,
 	.vop_print =		fifo_print,
 	.vop_read =		VOP_PANIC,
 	.vop_readdir =		VOP_PANIC,
@@ -337,34 +336,6 @@ fifo_print(ap)
 	fifo_printinfo(ap->a_vp);
 	printf("\n");
 	return (0);
-}
-
-/*
- * Return POSIX pathconf information applicable to fifo's.
- */
-static int
-fifo_pathconf(ap)
-	struct vop_pathconf_args /* {
-		struct vnode *a_vp;
-		int a_name;
-		int *a_retval;
-	} */ *ap;
-{
-
-	switch (ap->a_name) {
-	case _PC_LINK_MAX:
-		*ap->a_retval = LINK_MAX;
-		return (0);
-	case _PC_PIPE_BUF:
-		*ap->a_retval = PIPE_BUF;
-		return (0);
-	case _PC_CHOWN_RESTRICTED:
-		*ap->a_retval = 1;
-		return (0);
-	default:
-		return (EINVAL);
-	}
-	/* NOTREACHED */
 }
 
 /*

Modified: head/sys/fs/msdosfs/msdosfs_vnops.c
==============================================================================
--- head/sys/fs/msdosfs/msdosfs_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/msdosfs/msdosfs_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -1875,17 +1875,11 @@ msdosfs_pathconf(struct vop_pathconf_args *ap)
 	case _PC_NAME_MAX:
 		*ap->a_retval = pmp->pm_flags & MSDOSFSMNT_LONGNAME ? WIN_MAXLEN : 12;
 		return (0);
-	case _PC_PATH_MAX:
-		*ap->a_retval = PATH_MAX;
-		return (0);
-	case _PC_CHOWN_RESTRICTED:
-		*ap->a_retval = 1;
-		return (0);
 	case _PC_NO_TRUNC:
 		*ap->a_retval = 0;
 		return (0);
 	default:
-		return (EINVAL);
+		return (vop_stdpathconf(ap));
 	}
 	/* NOTREACHED */
 }

Modified: head/sys/fs/nandfs/nandfs_vnops.c
==============================================================================
--- head/sys/fs/nandfs/nandfs_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/nandfs/nandfs_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -2236,21 +2236,6 @@ nandfs_pathconf(struct vop_pathconf_args *ap)
 
 	error = 0;
 	switch (ap->a_name) {
-	case _PC_LINK_MAX:
-		*ap->a_retval = LINK_MAX;
-		break;
-	case _PC_NAME_MAX:
-		*ap->a_retval = NAME_MAX;
-		break;
-	case _PC_PATH_MAX:
-		*ap->a_retval = PATH_MAX;
-		break;
-	case _PC_PIPE_BUF:
-		*ap->a_retval = PIPE_BUF;
-		break;
-	case _PC_CHOWN_RESTRICTED:
-		*ap->a_retval = 1;
-		break;
 	case _PC_NO_TRUNC:
 		*ap->a_retval = 1;
 		break;
@@ -2273,7 +2258,7 @@ nandfs_pathconf(struct vop_pathconf_args *ap)
 		*ap->a_retval = ap->a_vp->v_mount->mnt_stat.f_iosize;
 		break;
 	default:
-		error = EINVAL;
+		error = vop_stdpathconf(ap);
 		break;
 	}
 	return (error);

Modified: head/sys/fs/nfsclient/nfs_clvnops.c
==============================================================================
--- head/sys/fs/nfsclient/nfs_clvnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/nfsclient/nfs_clvnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -3481,12 +3481,6 @@ nfs_pathconf(struct vop_pathconf_args *ap)
 	case _PC_NAME_MAX:
 		*ap->a_retval = pc.pc_namemax;
 		break;
-	case _PC_PATH_MAX:
-		*ap->a_retval = PATH_MAX;
-		break;
-	case _PC_PIPE_BUF:
-		*ap->a_retval = PIPE_BUF;
-		break;
 	case _PC_CHOWN_RESTRICTED:
 		*ap->a_retval = pc.pc_chownrestricted;
 		break;
@@ -3512,11 +3506,6 @@ nfs_pathconf(struct vop_pathconf_args *ap)
 	case _PC_MAC_PRESENT:
 		*ap->a_retval = 0;
 		break;
-	case _PC_ASYNC_IO:
-		/* _PC_ASYNC_IO should have been handled by upper layers. */
-		KASSERT(0, ("_PC_ASYNC_IO should not get here"));
-		error = EINVAL;
-		break;
 	case _PC_PRIO_IO:
 		*ap->a_retval = 0;
 		break;
@@ -3549,7 +3538,7 @@ nfs_pathconf(struct vop_pathconf_args *ap)
 		break;
 
 	default:
-		error = EINVAL;
+		error = vop_stdpathconf(ap);
 		break;
 	}
 	return (error);

Modified: head/sys/fs/smbfs/smbfs_vnops.c
==============================================================================
--- head/sys/fs/smbfs/smbfs_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/smbfs/smbfs_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -907,7 +907,7 @@ smbfs_pathconf (ap)
 		*retval = 800;	/* XXX: a correct one ? */
 		break;
 	    default:
-		error = EINVAL;
+		error = vop_stdpathconf(ap);
 	}
 	return error;
 }

Modified: head/sys/fs/tmpfs/tmpfs_vnops.c
==============================================================================
--- head/sys/fs/tmpfs/tmpfs_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/fs/tmpfs/tmpfs_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -1344,26 +1344,6 @@ tmpfs_pathconf(struct vop_pathconf_args *v)
 	error = 0;
 
 	switch (name) {
-	case _PC_LINK_MAX:
-		*retval = LINK_MAX;
-		break;
-
-	case _PC_NAME_MAX:
-		*retval = NAME_MAX;
-		break;
-
-	case _PC_PATH_MAX:
-		*retval = PATH_MAX;
-		break;
-
-	case _PC_PIPE_BUF:
-		*retval = PIPE_BUF;
-		break;
-
-	case _PC_CHOWN_RESTRICTED:
-		*retval = 1;
-		break;
-
 	case _PC_NO_TRUNC:
 		*retval = 1;
 		break;
@@ -1377,7 +1357,7 @@ tmpfs_pathconf(struct vop_pathconf_args *v)
 		break;
 
 	default:
-		error = EINVAL;
+		error = vop_stdpathconf(v);
 	}
 
 	return error;

Modified: head/sys/ufs/ufs/ufs_vnops.c
==============================================================================
--- head/sys/ufs/ufs/ufs_vnops.c	Tue Jul 11 21:52:11 2017	(r320899)
+++ head/sys/ufs/ufs/ufs_vnops.c	Tue Jul 11 21:55:20 2017	(r320900)
@@ -2442,21 +2442,9 @@ ufs_pathconf(ap)
 
 	error = 0;
 	switch (ap->a_name) {
-	case _PC_LINK_MAX:
-		*ap->a_retval = LINK_MAX;
-		break;
 	case _PC_NAME_MAX:
 		*ap->a_retval = UFS_MAXNAMLEN;
 		break;
-	case _PC_PATH_MAX:
-		*ap->a_retval = PATH_MAX;
-		break;
-	case _PC_PIPE_BUF:
-		*ap->a_retval = PIPE_BUF;
-		break;
-	case _PC_CHOWN_RESTRICTED:
-		*ap->a_retval = 1;
-		break;
 	case _PC_NO_TRUNC:
 		*ap->a_retval = 1;
 		break;
@@ -2505,11 +2493,6 @@ ufs_pathconf(ap)
 	case _PC_MIN_HOLE_SIZE:
 		*ap->a_retval = ap->a_vp->v_mount->mnt_stat.f_iosize;
 		break;
-	case _PC_ASYNC_IO:
-		/* _PC_ASYNC_IO should have been handled by upper layers. */
-		KASSERT(0, ("_PC_ASYNC_IO should not get here"));
-		error = EINVAL;
-		break;
 	case _PC_PRIO_IO:
 		*ap->a_retval = 0;
 		break;
@@ -2539,7 +2522,7 @@ ufs_pathconf(ap)
 		break;
 
 	default:
-		error = EINVAL;
+		error = vop_stdpathconf(ap);
 		break;
 	}
 	return (error);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707112155.v6BLtKbZ006618>