static ssize_t mtd_bread(FAR struct mtd_dev_s *dev, off_t sector, size_t nsectors, FAR uint8_t *buffer) { FAR struct mtd_rwbuffer_s *priv = (FAR struct mtd_rwbuffer_s *)dev; /* Let the rwbuffer logic do it real work. It will call out to mtd_reload if is * needs to read any data. */ return rwb_read(&priv->rwb, sector, nsectors, buffer); }
static ssize_t ftl_read(FAR struct inode *inode, unsigned char *buffer, size_t start_sector, unsigned int nsectors) { struct ftl_struct_s *dev; fvdbg("sector: %d nsectors: %d\n", start_sector, nsectors); DEBUGASSERT(inode && inode->i_private); dev = (struct ftl_struct_s *)inode->i_private; #ifdef CONFIG_FS_READAHEAD return rwb_read(&dev->rwb, start_sector, nsectors, buffer); #else return ftl_reload(dev, buffer, start_sector, nsectors); #endif }