fusefs: make the tests more robust to changes to maxphys

Remove assumptions in two test cases that maxphys won't be huge.

Reported by:	kib
MFC after:	2 weeks
Sponsored by:	Axcient
This commit is contained in:
Alan Somers
2024-05-09 08:40:21 -06:00
parent 0d15140d6d
commit b2792a300d
2 changed files with 14 additions and 5 deletions
+13 -4
View File
@@ -77,8 +77,6 @@ class BmapEof: public Bmap, public WithParamInterface<int> {};
/* /*
* Test FUSE_BMAP * Test FUSE_BMAP
* XXX The FUSE protocol does not include the runp and runb variables, so those
* must be guessed in-kernel.
*/ */
TEST_F(Bmap, bmap) TEST_F(Bmap, bmap)
{ {
@@ -105,8 +103,19 @@ TEST_F(Bmap, bmap)
arg.runb = -1; arg.runb = -1;
ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno); ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno);
EXPECT_EQ(arg.bn, pbn); EXPECT_EQ(arg.bn, pbn);
EXPECT_EQ((unsigned long)arg.runp, m_maxphys / m_maxbcachebuf - 1); /*
EXPECT_EQ((unsigned long)arg.runb, m_maxphys / m_maxbcachebuf - 1); * XXX The FUSE protocol does not include the runp and runb variables,
* so those must be guessed in-kernel. There's no "right" answer, so
* just check that they're within reasonable limits.
*/
EXPECT_LE(arg.runb, lbn);
EXPECT_LE((unsigned long)arg.runb, m_maxreadahead / m_maxbcachebuf);
EXPECT_LE((unsigned long)arg.runb, m_maxphys / m_maxbcachebuf);
EXPECT_GT(arg.runb, 0);
EXPECT_LE(arg.runp, filesize / m_maxbcachebuf - lbn);
EXPECT_LE((unsigned long)arg.runp, m_maxreadahead / m_maxbcachebuf);
EXPECT_LE((unsigned long)arg.runp, m_maxphys / m_maxbcachebuf);
EXPECT_GT(arg.runp, 0);
leak(fd); leak(fd);
} }
+1 -1
View File
@@ -179,7 +179,7 @@ class WriteCluster: public WriteBack {
public: public:
virtual void SetUp() { virtual void SetUp() {
m_async = true; m_async = true;
m_maxwrite = 1 << 25; // Anything larger than MAXPHYS will suffice m_maxwrite = UINT32_MAX; // Anything larger than MAXPHYS will suffice
WriteBack::SetUp(); WriteBack::SetUp();
if (m_maxphys < 2 * DFLTPHYS) if (m_maxphys < 2 * DFLTPHYS)
GTEST_SKIP() << "MAXPHYS must be at least twice DFLTPHYS" GTEST_SKIP() << "MAXPHYS must be at least twice DFLTPHYS"