Lines Matching +full:read +full:- +full:out
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
63 ).WillOnce(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { in expect_bmap() argument
64 SET_OUT_HEADER_LEN(out, bmap); in expect_bmap()
65 out.body.bmap.block = pbn; in expect_bmap()
102 arg.runp = -1; in TEST_F()
103 arg.runb = -1; in TEST_F()
108 * so those must be guessed in-kernel. There's no "right" answer, so in TEST_F()
115 EXPECT_LE(arg.runp, filesize / m_maxbcachebuf - lbn); in TEST_F()
150 arg.runp = -1; in TEST_F()
151 arg.runb = -1; in TEST_F()
154 EXPECT_EQ((unsigned long )arg.runp, m_maxphys / m_maxbcachebuf - 1); in TEST_F()
160 arg.runp = -1; in TEST_F()
161 arg.runb = -1; in TEST_F()
164 EXPECT_EQ((unsigned long )arg.runp, m_maxphys / m_maxbcachebuf - 1); in TEST_F()
165 EXPECT_EQ((unsigned long )arg.runb, m_maxphys / m_maxbcachebuf - 1); in TEST_F()
168 lbn = filesize / m_maxbcachebuf - 1; in TEST_F()
170 arg.runp = -1; in TEST_F()
171 arg.runb = -1; in TEST_F()
175 EXPECT_EQ((unsigned long )arg.runb, m_maxphys / m_maxbcachebuf - 1); in TEST_F()
206 arg.runp = -1; in TEST_F()
207 arg.runb = -1; in TEST_F()
208 ASSERT_EQ(-1, ioctl(fd, FIOBMAP2, &arg)); in TEST_F()
216 * to successfully read a block. This is a regression test for
240 in.body.read.offset == 0 && in TEST_F()
241 in.body.read.size == (uint64_t)m_maxbcachebuf); in TEST_F()
244 ).WillOnce(Invoke(ReturnImmediate([=](auto in, auto& out) { in TEST_F() argument
245 size_t osize = in.body.read.size; in TEST_F()
247 assert(osize < sizeof(out.body.bytes)); in TEST_F()
248 out.header.len = sizeof(struct fuse_out_header) + osize; in TEST_F()
249 bzero(out.body.bytes, osize); in TEST_F()
256 * Read the same block multiple times. On a system affected by PR in TEST_F()
257 * 264196 , the second read will fail. in TEST_F()
259 r = read(fd, buf, sizeof(buf)); in TEST_F()
261 r = read(fd, buf, sizeof(buf)); in TEST_F()
263 r = read(fd, buf, sizeof(buf)); in TEST_F()
277 * 2) Read more than one block, causing the kernel to issue VOP_BMAP to in TEST_P()
300 in.body.read.offset == 0 && in TEST_P()
301 ( in.body.read.size == filesize || in TEST_P()
302 in.body.read.size == filesize / 2)); in TEST_P()
305 ).WillOnce(Invoke(ReturnImmediate([=](auto in, auto& out) { in TEST_P() argument
306 size_t osize = in.body.read.size; in TEST_P()
308 assert(osize < sizeof(out.body.bytes)); in TEST_P()
309 out.header.len = sizeof(struct fuse_out_header) + osize; in TEST_P()
310 bzero(out.body.bytes, osize); in TEST_P()
318 ).Times(Between(ngetattrs - 1, ngetattrs)) in TEST_P()
320 .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { in TEST_P() argument
321 SET_OUT_HEADER_LEN(out, attr); in TEST_P()
322 out.body.attr.attr_valid = 0; in TEST_P()
323 out.body.attr.attr.ino = ino; in TEST_P()
324 out.body.attr.attr.mode = S_IFREG | 0644; in TEST_P()
325 out.body.attr.attr.size = filesize; in TEST_P()
334 .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { in TEST_P() argument
335 SET_OUT_HEADER_LEN(out, attr); in TEST_P()
336 out.body.attr.attr_valid = 0; in TEST_P()
337 out.body.attr.attr.ino = ino; in TEST_P()
338 out.body.attr.attr.mode = S_IFREG | 0644; in TEST_P()
339 out.body.attr.attr.size = filesize / 2; in TEST_P()
345 read(fd, buf, filesize); in TEST_P()