Lines Matching refs:devs
45 Ok(SelectedBlockDevice { devs: self, id: id }) in get()
110 fn until_ok<F, R>(devs: &mut (impl AsMultiBlockDevices + ?Sized), mut f: F) -> Result<R> in until_ok()
115 devs.for_each_until(&mut |v, id| { in until_ok()
123 fn with_id<F, R>(devs: &mut (impl AsMultiBlockDevices + ?Sized), dev_id: u64, mut f: F) -> Result<R> in with_id()
127 until_ok(devs, |dev, id| match dev_id == id { in with_id()
136 devs: &'a mut dyn AsMultiBlockDevices, field
142 let _ = with_id(self.devs, self.id, |dev| dev.with(f)); in with()
154 let mut devs: TestMultiBlockDevices = TestMultiBlockDevices(vec![ in test_get() localVariable
158 devs.sync_gpt_all(&mut |_, _, _| panic!("GPT sync failed")); in test_get()
159 devs.get(0).unwrap(); in test_get()
160 devs.get(1).unwrap(); in test_get()
161 assert!(devs.get(2).is_err()); in test_get()
169 let mut devs = in test_multi_block_read() localVariable
173 devs.get(0).unwrap().read(u64::try_from(off).unwrap(), &mut out[..]).unwrap(); in test_multi_block_read()
177 devs.get(1).unwrap().read(u64::try_from(off).unwrap(), &mut out[..]).unwrap(); in test_multi_block_read()
186 let mut devs = TestMultiBlockDevices(vec![ in test_multi_block_write() localVariable
191 devs.get(0).unwrap().write(u64::try_from(off).unwrap(), &mut blk_0[off..]).unwrap(); in test_multi_block_write()
192 assert_eq!(blk_0[off..], devs.0[0].io.storage[off..]); in test_multi_block_write()
194 devs.get(1).unwrap().write(u64::try_from(off).unwrap(), &mut blk_1[off..]).unwrap(); in test_multi_block_write()
195 assert_eq!(blk_1[off..], devs.0[1].io.storage[off..]); in test_multi_block_write()
200 let mut devs = TestMultiBlockDevices(vec![ in test_multi_block_gpt_partition_size() localVariable
204 devs.sync_gpt_all(&mut |_, _, _| panic!("GPT sync failed")); in test_multi_block_gpt_partition_size()
206 assert_eq!(devs.find_partition("boot_a").map(|v| v.size()).unwrap(), Ok(8 * 1024)); in test_multi_block_gpt_partition_size()
208 devs.get(0).unwrap().find_partition("boot_a").map(|v| v.size()).unwrap(), in test_multi_block_gpt_partition_size()
212 assert_eq!(devs.find_partition("boot_b").map(|v| v.size()).unwrap(), Ok(12 * 1024)); in test_multi_block_gpt_partition_size()
214 devs.get(0).unwrap().find_partition("boot_b").map(|v| v.size()).unwrap(), in test_multi_block_gpt_partition_size()
218 assert_eq!(devs.find_partition("vendor_boot_a").map(|v| v.size()).unwrap(), Ok(4 * 1024)); in test_multi_block_gpt_partition_size()
220 devs.get(1).unwrap().find_partition("vendor_boot_a").map(|v| v.size()).unwrap(), in test_multi_block_gpt_partition_size()
224 assert_eq!(devs.find_partition("vendor_boot_b").map(|v| v.size()).unwrap(), Ok(6 * 1024)); in test_multi_block_gpt_partition_size()
226 devs.get(1).unwrap().find_partition("vendor_boot_b").map(|v| v.size()).unwrap(), in test_multi_block_gpt_partition_size()
235 devs: &mut TestMultiBlockDevices, in check_read_partition()
242 devs.read_gpt_partition(part, off, &mut out[..]).unwrap(); in check_read_partition()
250 let mut devs = TestMultiBlockDevices(vec![ in test_multi_block_gpt_read() localVariable
254 devs.sync_gpt_all(&mut |_, _, _| panic!("GPT sync failed")); in test_multi_block_gpt_read()
259 check_read_partition(&mut devs, "boot_a", off, expect_boot_a); in test_multi_block_gpt_read()
260 check_read_partition(&mut devs, "boot_b", off, expect_boot_b); in test_multi_block_gpt_read()
265 check_read_partition(&mut devs, "vendor_boot_a", off, expect_vendor_boot_a); in test_multi_block_gpt_read()
266 check_read_partition(&mut devs, "vendor_boot_b", off, expect_vendor_boot_b); in test_multi_block_gpt_read()
272 devs: &mut TestMultiBlockDevices, in check_write_partition()
280 devs.write_gpt_partition(part, off, to_write).unwrap(); in check_write_partition()
281 devs.read_gpt_partition(part, off, &mut out[..]).unwrap(); in check_write_partition()
285 devs.write_gpt_partition(part, off, to_write).unwrap(); in check_write_partition()
286 devs.read_gpt_partition(part, off, &mut out[..]).unwrap(); in check_write_partition()
294 let mut devs = TestMultiBlockDevices(vec![ in test_multi_block_gpt_write() localVariable
298 devs.sync_gpt_all(&mut |_, _, _| panic!("GPT sync failed")); in test_multi_block_gpt_write()
305 check_write_partition(&mut devs, "boot_a", off, expect_boot_a); in test_multi_block_gpt_write()
306 check_write_partition(&mut devs, "boot_b", off, expect_boot_b); in test_multi_block_gpt_write()
313 check_write_partition(&mut devs, "vendor_boot_a", off, expect_vendor_boot_a); in test_multi_block_gpt_write()
314 check_write_partition(&mut devs, "vendor_boot_b", off, expect_vendor_boot_b); in test_multi_block_gpt_write()
319 let mut devs = TestMultiBlockDevices(vec![ in test_none_block_id_fail_with_non_unique_partition() localVariable
323 devs.sync_gpt_all(&mut |_, _, _| panic!("GPT sync failed")); in test_none_block_id_fail_with_non_unique_partition()
324 assert!(devs.read_gpt_partition("boot_a", 0, &mut []).is_err()); in test_none_block_id_fail_with_non_unique_partition()
325 assert!(devs.write_gpt_partition("boot_a", 0, &mut []).is_err()); in test_none_block_id_fail_with_non_unique_partition()
326 assert!(devs.find_partition("boot_a").is_err()); in test_none_block_id_fail_with_non_unique_partition()