From owner-svn-src-projects@freebsd.org Tue Jun 25 21:21:36 2019 Return-Path: <owner-svn-src-projects@freebsd.org> Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 010AF15D7E32 for <svn-src-projects@mailman.ysv.freebsd.org>; Tue, 25 Jun 2019 21:21:36 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9CE9A77757; Tue, 25 Jun 2019 21:21:35 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7959E1E11F; Tue, 25 Jun 2019 21:21:35 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x5PLLZek044683; Tue, 25 Jun 2019 21:21:35 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x5PLLYN5044678; Tue, 25 Jun 2019 21:21:34 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201906252121.x5PLLYN5044678@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers <asomers@FreeBSD.org> Date: Tue, 25 Jun 2019 21:21:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r349394 - projects/fuse2/tests/sys/fs/fusefs X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fusefs X-SVN-Commit-Revision: 349394 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 9CE9A77757 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.980,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" <svn-src-projects.freebsd.org> List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/> List-Post: <mailto:svn-src-projects@freebsd.org> List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help> List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, <mailto:svn-src-projects-request@freebsd.org?subject=subscribe> X-List-Received-Date: Tue, 25 Jun 2019 21:21:36 -0000 Author: asomers Date: Tue Jun 25 21:21:34 2019 New Revision: 349394 URL: https://svnweb.freebsd.org/changeset/base/349394 Log: fusefs: fix the tests for non-default values of MAXPHYS Sponsored by: The FreeBSD Foundation Modified: projects/fuse2/tests/sys/fs/fusefs/bmap.cc projects/fuse2/tests/sys/fs/fusefs/read.cc projects/fuse2/tests/sys/fs/fusefs/utils.cc projects/fuse2/tests/sys/fs/fusefs/utils.hh projects/fuse2/tests/sys/fs/fusefs/write.cc Modified: projects/fuse2/tests/sys/fs/fusefs/bmap.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/bmap.cc Tue Jun 25 20:25:16 2019 (r349393) +++ projects/fuse2/tests/sys/fs/fusefs/bmap.cc Tue Jun 25 21:21:34 2019 (r349394) @@ -99,8 +99,8 @@ TEST_F(Bmap, bmap) arg.runb = -1; ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno); EXPECT_EQ(arg.bn, pbn); - EXPECT_EQ(arg.runp, MAXPHYS / m_maxbcachebuf - 1); - EXPECT_EQ(arg.runb, MAXPHYS / m_maxbcachebuf - 1); + EXPECT_EQ(arg.runp, m_maxphys / m_maxbcachebuf - 1); + EXPECT_EQ(arg.runb, m_maxphys / m_maxbcachebuf - 1); } /* @@ -134,7 +134,7 @@ TEST_F(Bmap, default_) arg.runb = -1; ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno); EXPECT_EQ(arg.bn, 0); - EXPECT_EQ(arg.runp, MAXPHYS / m_maxbcachebuf - 1); + EXPECT_EQ(arg.runp, m_maxphys / m_maxbcachebuf - 1); EXPECT_EQ(arg.runb, 0); /* In the middle */ @@ -144,8 +144,8 @@ TEST_F(Bmap, default_) arg.runb = -1; ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno); EXPECT_EQ(arg.bn, lbn * m_maxbcachebuf / DEV_BSIZE); - EXPECT_EQ(arg.runp, MAXPHYS / m_maxbcachebuf - 1); - EXPECT_EQ(arg.runb, MAXPHYS / m_maxbcachebuf - 1); + EXPECT_EQ(arg.runp, m_maxphys / m_maxbcachebuf - 1); + EXPECT_EQ(arg.runb, m_maxphys / m_maxbcachebuf - 1); /* Last block */ lbn = filesize / m_maxbcachebuf - 1; @@ -155,5 +155,5 @@ TEST_F(Bmap, default_) ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno); EXPECT_EQ(arg.bn, lbn * m_maxbcachebuf / DEV_BSIZE); EXPECT_EQ(arg.runp, 0); - EXPECT_EQ(arg.runb, MAXPHYS / m_maxbcachebuf - 1); + EXPECT_EQ(arg.runb, m_maxphys / m_maxbcachebuf - 1); } Modified: projects/fuse2/tests/sys/fs/fusefs/read.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/read.cc Tue Jun 25 20:25:16 2019 (r349393) +++ projects/fuse2/tests/sys/fs/fusefs/read.cc Tue Jun 25 21:21:34 2019 (r349394) @@ -110,10 +110,16 @@ virtual void SetUp() { }; class ReadAhead: public ReadCacheable, - public WithParamInterface<tuple<bool, uint32_t>> + public WithParamInterface<tuple<bool, int>> { virtual void SetUp() { - m_maxreadahead = get<1>(GetParam()); + int val; + const char *node = "vfs.maxbcachebuf"; + size_t size = sizeof(val); + ASSERT_EQ(0, sysctlbyname(node, &val, &size, NULL, 0)) + << strerror(errno); + + m_maxreadahead = val * get<1>(GetParam()); m_noclusterr = get<0>(GetParam()); ReadCacheable::SetUp(); } @@ -892,8 +898,8 @@ TEST_P(ReadAhead, readahead) { expect_lookup(RELPATH, ino, filesize); expect_open(ino, 0, 1); maxcontig = m_noclusterr ? m_maxbcachebuf : - m_maxbcachebuf + (int)get<1>(GetParam()); - clustersize = MIN(maxcontig, MAXPHYS); + m_maxbcachebuf + m_maxreadahead; + clustersize = MIN(maxcontig, m_maxphys); for (offs = 0; offs < bufsize; offs += clustersize) { len = std::min((size_t)clustersize, (size_t)(filesize - offs)); expect_read(ino, offs, len, len, contents + offs); @@ -912,10 +918,10 @@ TEST_P(ReadAhead, readahead) { } INSTANTIATE_TEST_CASE_P(RA, ReadAhead, - Values(tuple<bool, int>(false, 0u), - tuple<bool, int>(false, 0x10000), - tuple<bool, int>(false, 0x20000), - tuple<bool, int>(false, 0x30000), - tuple<bool, int>(true, 0u), - tuple<bool, int>(true, 0x10000), - tuple<bool, int>(true, 0x20000))); + Values(tuple<bool, int>(false, 0), + tuple<bool, int>(false, 1), + tuple<bool, int>(false, 2), + tuple<bool, int>(false, 3), + tuple<bool, int>(true, 0), + tuple<bool, int>(true, 1), + tuple<bool, int>(true, 2))); Modified: projects/fuse2/tests/sys/fs/fusefs/utils.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/utils.cc Tue Jun 25 20:25:16 2019 (r349393) +++ projects/fuse2/tests/sys/fs/fusefs/utils.cc Tue Jun 25 21:21:34 2019 (r349394) @@ -93,7 +93,8 @@ class FuseEnv: public Environment { }; void FuseTest::SetUp() { - const char *node = "vfs.maxbcachebuf"; + const char *maxbcachebuf_node = "vfs.maxbcachebuf"; + const char *maxphys_node = "kern.maxphys"; int val = 0; size_t size = sizeof(val); @@ -105,9 +106,12 @@ void FuseTest::SetUp() { if (IsSkipped()) return; - ASSERT_EQ(0, sysctlbyname(node, &val, &size, NULL, 0)) + ASSERT_EQ(0, sysctlbyname(maxbcachebuf_node, &val, &size, NULL, 0)) << strerror(errno); m_maxbcachebuf = val; + ASSERT_EQ(0, sysctlbyname(maxphys_node, &val, &size, NULL, 0)) + << strerror(errno); + m_maxphys = val; try { m_mock = new MockFS(m_maxreadahead, m_allow_other, Modified: projects/fuse2/tests/sys/fs/fusefs/utils.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/utils.hh Tue Jun 25 20:25:16 2019 (r349393) +++ projects/fuse2/tests/sys/fs/fusefs/utils.hh Tue Jun 25 21:21:34 2019 (r349394) @@ -60,6 +60,7 @@ class FuseTest : public ::testing::Test { public: int m_maxbcachebuf; + int m_maxphys; FuseTest(): m_maxreadahead(0), Modified: projects/fuse2/tests/sys/fs/fusefs/write.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/write.cc Tue Jun 25 20:25:16 2019 (r349393) +++ projects/fuse2/tests/sys/fs/fusefs/write.cc Tue Jun 25 21:21:34 2019 (r349394) @@ -233,13 +233,13 @@ virtual void SetUp() { class WriteCluster: public WriteBack { public: virtual void SetUp() { - if (MAXPHYS < 2 * DFLTPHYS) + if (m_maxphys < 2 * DFLTPHYS) GTEST_SKIP() << "MAXPHYS must be at least twice DFLTPHYS" << " for this test"; m_async = true; - m_maxwrite = MAXPHYS; + m_maxwrite = m_maxphys; WriteBack::SetUp(); - if (MAXPHYS < 2 * m_maxbcachebuf) + if (m_maxphys < 2 * m_maxbcachebuf) GTEST_SKIP() << "MAXPHYS must be at least twice maxbcachebuf" << " for this test"; } @@ -678,7 +678,7 @@ TEST_F(Write, write_large) expect_lookup(RELPATH, ino, 0); expect_open(ino, 0, 1); - expect_write(ino, 0, halfbufsize, halfbufsize, contents); + maybe_expect_write(ino, 0, halfbufsize, contents); maybe_expect_write(ino, halfbufsize, halfbufsize, &contents[halfbufsize / sizeof(int)]);