Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Apr 2017 18:56:00 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r316935 - vendor/illumos/dist/lib/libzfs/common
Message-ID:  <201704141856.v3EIu0Du085000@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Fri Apr 14 18:56:00 2017
New Revision: 316935
URL: https://svnweb.freebsd.org/changeset/base/316935

Log:
  5704 libzfs can only handle 255 file descriptors
  
  illumos/illumos-gate@bde3d612a7c090234c60e6e4578821237a5db135
  https://github.com/illumos/illumos-gate/commit/bde3d612a7c090234c60e6e4578821237a5db135
  
  https://www.illumos.org/issues/5704
    libzfs uses fopen(), at least in libzfs_init(). If there are more than 255
    filedescriptors open, fopen() will fail unless you give 'F' as the last mode
    character. The fix would be to give 'rF' instead of 'r' as mode to fopen().
  
  Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
  Reviewed by: John Kennedy <john.kennedy@delphix.com>
  Approved by: Richard Lowe <richlowe@richlowe.net>
  Author: Simon Klinkert <simon.klinkert@gmail.com>

Modified:
  vendor/illumos/dist/lib/libzfs/common/libzfs_util.c

Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_util.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_util.c	Fri Apr 14 18:54:11 2017	(r316934)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_util.c	Fri Apr 14 18:56:00 2017	(r316935)
@@ -626,13 +626,13 @@ libzfs_init(void)
 		return (NULL);
 	}
 
-	if ((hdl->libzfs_mnttab = fopen(MNTTAB, "r")) == NULL) {
+	if ((hdl->libzfs_mnttab = fopen(MNTTAB, "rF")) == NULL) {
 		(void) close(hdl->libzfs_fd);
 		free(hdl);
 		return (NULL);
 	}
 
-	hdl->libzfs_sharetab = fopen("/etc/dfs/sharetab", "r");
+	hdl->libzfs_sharetab = fopen("/etc/dfs/sharetab", "rF");
 
 	if (libzfs_core_init() != 0) {
 		(void) close(hdl->libzfs_fd);



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