summaryrefslogtreecommitdiff
path: root/hurd/documentation/netfs_ada_results.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/documentation/netfs_ada_results.mdwn')
-rw-r--r--hurd/documentation/netfs_ada_results.mdwn295
1 files changed, 295 insertions, 0 deletions
diff --git a/hurd/documentation/netfs_ada_results.mdwn b/hurd/documentation/netfs_ada_results.mdwn
new file mode 100644
index 00000000..0365951d
--- /dev/null
+++ b/hurd/documentation/netfs_ada_results.mdwn
@@ -0,0 +1,295 @@
+[[!meta copyright="Copyright © 2015 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled
+[[GNU Free Documentation License|/fdl]]."]]"""]]
+
+# Netfs Ada experimentations
+
+## Rev 05c2ac288ad2
+
+ * Nothing is implemented in the Netfs\_Implementation package
+ * node is the translator inode in directory .
+
+### ls -la .
+
+ * Leads to a call of Validate\_Stat : line 115 of Netfs\_Implementation package
+ * Returns an error :
+ * bash: cd: node: Not a directory
+
+### ls -la node
+
+ * Returns an error :
+ * ls: cannot access node: Not a directory
+ * Leads also to a call of Validate\_Stat : line 115 of Netfs\_Implementation package
+
+### cd node
+
+ * Returns an error :
+ * bash: cd: node: Not a directory
+ * Validate\_Stat get called three times
+
+## Rev 6052185bf877
+
+ * Only a very simple Validate\_State is implemented
+
+### ls -la .
+
+ * Leads to a call of Validate\_Stat : line 120 of Netfs\_Implementation package then a call to Check\_Open\_Permissions : line 13
+ * Returns this error :
+ * "ls: cannot access node: Not a directory"
+
+### ls -la node
+
+ * Returns an error :
+ * ls: cannot access node: Not a directory
+ * Leads to a call of Validate\_Stat : line 120 of Netfs\_Implementation package then a call to Check\_Open\_Permissions : line 13
+
+### cd node
+
+ * Returns an error :
+ * bash: cd: node: Not a directory
+ * Validate\_Stat then Check\_Open\_Permissions sequence is called three times
+
+## Rev dd3e6b7ea5c7
+
+ * Check\_Open\_Permissions implemented
+
+### ls -la .
+ * No more error : node is displayed as a directory
+ * Sequence call : validate\_state / check\_open\_permissions / validate\_state
+
+### ls -la node
+
+ * Returns an error :
+ * ls: reading directory node: Operation not supported
+ * Call sequence :
+ * validate\_state
+ * check\_open\_permissions
+ * validate\_state
+ * validate\_state
+ * check\_open\_permissions
+ * validate\_state
+ * get\_dirents line 90 of netfs\_implementation package
+
+### cd node
+
+ * Hangs
+ * Call sequence :
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Validate\_Stat
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * netfs\_implementation.adb:57 Netfs\_Implementation.Attempt\_Lookup
+
+## Rev 68f905dc9b7c
+
+ * Attemp\_Lookup implemented
+
+### ls -la .
+ * No more error : node is displayed as a directory
+ * Sequence call : validate\_state / check\_open\_permissions / validate\_state
+
+### ls -la node
+
+ * Returns an error :
+ * ls: reading directory node: Operation not supported
+ * get\_dirents still not implemented
+ * Call sequence :
+ * validate\_state
+ * check\_open\_permissions
+ * validate\_state
+ * validate\_state
+ * check\_open\_permissions
+ * validate\_state
+ * get\_dirents line 90 of netfs\_implementation package
+
+### cd node
+
+ * No more hang
+ * Call sequence :
+ * Validate\_Stat
+ * check\_open\_permissions
+ * Validate\_Stat
+ * Validate\_Stat
+ * check\_open\_permissions
+ * attemp\_lookup
+ * Validate\_Stat
+ * check\_open\_permissions
+ * attemp\_lookup
+ * Validate\_Stat
+ * Validate\_Stat
+ * check\_open\_permissions
+ * Validate\_Stat
+ * Not Implemented Netfs\_Implementation.Get\_Dirents
+ * attemp\_lookup
+ * Validate\_Stat
+ * Validate\_Stat
+ * check\_open\_permissions
+ * Validate\_Stat
+ * Not Implemented Netfs\_Implementation.Get\_Dirents
+ * attemp\_lookup
+ * Validate\_Stat
+ * Validate\_Stat
+ * check\_open\_permissions
+ * Validate\_Stat
+ * Not Implemented Netfs\_Implementation.Get\_Dirents
+ * attemp\_lookup
+ * Validate\_Stat
+ * Validate\_Stat
+ * check\_open\_permissions
+ * Validate\_Stat
+ * Not Implemented Netfs\_Implementation.Get\_Dirents
+
+## Rev 98c74b2027c9
+
+ * Get_Dirents implemented
+ * Tested with depth option set to two (only regular files in node)
+
+### ls -la .
+
+ * OK
+
+### ls -la node
+
+ * OK, display leafs regular files
+ * Call Sequence
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Validate\_Stat
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Validate\_Stat
+ * enter get dirents netfs_implementation.adb:141 Netfs_Implementation.Get_Dirents
+ * then attemp\_lookup for each leaf
+
+### cd node
+ * OK
+ * ls in node directory display leafs
+
+## Rev 2270e1726850
+
+ * depth parameter goes from 2 to 3
+
+### ls node then ls node/path\ 2
+ * OK
+ * display leafs in directory path 2
+
+### ls node/path\ 2
+ * OK
+ * needed to fix a missing update in the child node (because update was done only on get_dirents call)
+
+### cat node/path\ 2/leaf\ 1
+ * NOK
+ * Call sequence
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Attempt\_Lookup
+ * Validate\_Stat
+ * Attempt\_Lookup
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Validate_Stat
+ * netfs\_implementation.adb:113 Netfs\_Implementation.Attempt\_Read
+ * need for attemp\_read implementation
+
+## Rev 3126bd9ce609
+
+ * Read is implemented
+ * next step : write
+
+### echo "elle souffle" > node/path\ 2/leaf\ 1
+ * NOK
+ * command result - bash: node/path 2/leaf 1: Permission denied
+ * Call sequence
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Attempt_Lookup path 2 * Validate\_Stat
+ * Attempt\_Lookup leaf 1 * Validate\_Stat
+ * Validate_Stat
+ * Check\_Open\_Permissions - Check failed WRITE 1073741837
+
+## Rev 242f59899045
+
+ * node are created with 0755 permission
+
+### echo "elle souffle" > node/path\ 2/leaf\ 1
+ * NOK
+ * command result - bash: node/path 2/leaf 1: Operation not supported
+ * Call sequence
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Attempt_Lookup path 2 * Validate\_Stat
+ * Attempt\_Lookup leaf 1 * Validate\_Stat
+ * Validate_Stat
+ * Check\_Open\_Permissions
+ * netfs\_implementation.adb:366 Netfs\_Implementation.Attempt\_Set\_Size : not yet implemented
+
+## Rev dceb291aaf1c
+
+ * Set_Size minimal implementation
+
+### echo "elle souffle" > node/path\ 2/leaf\ 1
+ * NOK
+ * command result - bash: node/path 2/leaf 1: Operation not supported
+ * Call sequence
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Attempt_Lookup path 2 * Validate\_Stat
+ * Attempt\_Lookup leaf 1 * Validate\_Stat
+ * Validate_Stat
+ * Check\_Open\_Permissions
+ * Attempt\_Set\_Size
+ * netfs_implementation.adb:481 Netfs\_Implementation.Attemp\_Write
+
+## Rev 93311515a6c2
+
+ * Attempt_Write is implemented
+
+### echo "elle souffle" > node/path\ 2/leaf\ 1
+ * OK
+
+## Rev 8395215263d3
+
+ * Test of mkdir
+
+### mkdir node/toto
+
+ * NOK
+ * command result - mkdir: cannot create directory ‘node/toto’: Operation not supported
+ * Call sequence
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * netfs_implementation.adb:421 Netfs_Implementation.Attempt_Mkdir
+
+## Rev 3425f5c837fb
+
+ * mkdir implementation
+
+### mkdir node/toto
+
+ * OK
+ * need to create leaf now : write to an inexistent file
+
+### echo "elle souffle" > node/test
+
+ * NOK
+ * command result - bash: node/test: Not a directory
+ * CAll sequence
+ * Validate\_Stat
+ * Check\_Open\_Permissions
+ * Attempt\_Lookup
+ * Attempt\_Create\_File
+
+## Rev a1f5464f0e53
+
+ * Attempt_Create_File is implemented
+
+### echo "elle souffle" > node/test
+
+ * OK \ No newline at end of file