Can you solve the following question for me:

===================================================

Question 4: FUSE file system
The fuse-mem-tree-lab.zip contains a simple in memory file system that
will integrate into Linux using FUSE.
FUSE (Filesystem in Userspace) is an interface for userspace programs to
export a filesystem to the Linux kernel.
sudo apt-get install libfuse-dev
download and extract the fuse-mem-tree-lab.zip
run make to build the executable
./memfs -f tes1
You should see the tes1 directory in the file explorer with data files and
directories in it. Note:- all the files have dummy contents in them.
You are to:
a) modify the do\_read function in the mem\_filesystem.c so that it reads
the actual contents of the requested file. See the TODO comments in the
code.

===================================================

This is the relevant section of code inside the mem\_filesystem.c file:

// read some contents from the file
// gets full path to the file could be a dir or an ordinary file
// if it is file then fill buffer starting at offset in the file
int do\_read( char \*path, char \*buffer, size\_t size, off\_t offset, struct fuse\_file\_info \*fi){
int i=0;
 printf( "--> Trying to read %s, %d, %d\n", path, (int)offset, (int)size );
 char \* file=NULL;
 struct Dir\_\* d = walk(head,path,&file);
 printf("after walk %s %s\n",d->name,file);
 
 /\* TODO 
 find the file in the list given by d->dir 
 copy the contents of the file to the buffer.
 return the amount copied.
 \*/
 char buf[400];
 sprintf(buf,"path=%s=file=%s= hello world\n",path,file);
 int sz = strlen(buf);
 // put in some dummy stuff into the file
 for (i=0;i
user