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
- 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
- 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