Open
Conversation
This documents serves as a guideline for working inside a team. It encourages members to use git and PR, work on a common design, split the work into smaller tasks and then doing peer review. The final result should be the code together with git history logs. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Mara-Ioana Nicolae <maraioana9967@gmail.com>
Signed-off-by: Mara-Ioana Nicolae <maraioana9967@gmail.com>
Signed-off-by: Mara-Ioana Nicolae <maraioana9967@gmail.com>
Signed-off-by: Mara-Ioana Nicolae <maraioana9967@gmail.com>
Signed-off-by: Mara-Ioana Nicolae <maraioana9967@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Laborator 9
myfs
Exercitiul 1
Am identificat versiunea de kernel de pe masina pentru a gasi versiunea corecta a
ramfspe care am folosit-o ca model.Am completat structura
struct inode_operationscu operatii specifice inode-ului de tip director:mknod,createsimkdir; aceste functii au fost apoi implementate dupa modelul dinramfs. Pentru celelalte functii am folosit varianta generica din VFS.Exercitiul 2
Completand structura struct
file_operationsam adaugat operatiile specifice lucrului cu structurafileasociata inode-ului folosind tot implementarile generice din VFS. Am adaugat in structurainode_operationsoperatiile pentru manipulare inode-ului si structuraaddress_space_operations. Dupa initializare am asignat structurile completate anterior campurilor potrivite din structura de inode.Am testat corectitudinea implementarii astfel:
minfs
Exercitiul 1
Implementam functia
minix_readdir. Am atribuit campurilori_op(operatii ale inode-ului) sii_fop(operatii ale strucuriifilea inode-ului) structurileminfs_dir_inode_operationssiminfs_dir_operations.Am completat variabilele
inodesimiiconform implementariiminix. Apoi am citit folosindsb_breaddata block-ul dinminfs_inode_info, acesta va contine un vector de dentry-uri deoarece lucram cu un inode de tip director. Am iterat prin acest vector si pentru fiecare dentry am verificat ca membrulinosa nu fie nul si am afisat numele.Testare: Comanda
lsesueaza pentru ca functialookupnu este implementata.Exercitiul 2
Am extras inode-ul parinte pentru dentry-ul curent (adica directorul din care face parte) si am iterat prin lista de dentry-uri a acestuia incercand sa gasim acel dentry al carui nume se potriveste cu
name.Exercitiul 3
Completam campurile inode-ului cu structurile pentru address space (
address_space_operations), operatii ale inode-ului (inode_operations) si operatiile structuriifileasociate inode-ului (file_operations). Folosindbitmap operationsidentificam primul bit neocupat din imap (find_first_zero_bit) si il marcam ca ocupat. Apoi alocam si initializam un nou inode si il inseram in hashmap.Continuam prin implementarea functiei
minfs_add_linkgasind inode-ul parinte asociat dentry-ului (directorul) si extragem data block-ul. Iteram prin lista de dentry-uri si cautam pe primul ce are valoareainonula. In cazul in care nu este gasita nicio intrare libera, se va return-ENOSPC.