summaryrefslogtreecommitdiff
path: root/hurd/documentation/netfs_ada_results.mdwn
blob: ae500e350693417bbf99ebecb114a8c05415ccdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
[[!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