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 netfsimplementation.adb:141 NetfsImplementation.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
 
 - Call sequence
 
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
 - AttemptLookup path 2 * Validate_Stat
 - Attempt_Lookup leaf 1 * Validate_Stat
 - ValidateStat
 - 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
 - AttemptLookup path 2 * Validate_Stat
 - Attempt_Lookup leaf 1 * Validate_Stat
 - ValidateStat
 - 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
 - AttemptLookup path 2 * Validate_Stat
 - Attempt_Lookup leaf 1 * Validate_Stat
 - ValidateStat
 - 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
 - netfsimplementation.adb:421 NetfsImplementation.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
- AttemptCreateFile is implemented
 
echo "elle souffle" > node/test
- OK