[NFS]
authorPierre Schweitzer <pierre@reactos.org>
Mon, 19 Jun 2017 11:36:17 +0000 (11:36 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Mon, 19 Jun 2017 11:36:17 +0000 (11:36 +0000)
Add the missing pieces for the NFS filesystem: registry information.
Register the pnfs service (nfsd) as manual, so that it only gets started when user wants/needs it.
Same goes to the nfs41_driver service (driver). nfsd as a code modification specific to ReactOS so that it loads the driver
as soon as it gets started.

That means, in order to use NFS in ReactOS, you need to start the nfsd service: net start nfsd
Then, you can mount your remote share: net use * \\IP\path (you can replace * by a letter, e.g. z:)
There's no GUI stuff implemented yet for this in MPR.

If you want to access the share without mounting it in ReactOS (like, in Explorer), you've to be aware of a small detail:
after you start pnfs service, in explorer bar, type \\IP\nfs4\path. This is required so that NFS driver can claim the path
without troubles.

Something else you've to know: so far, tests where conducted with a remote share being 777, read-only and anonymously mounted.
Other scenarii are likely to fail (auth, rw, server?!, etc.).

Also note that if you attempt to mount a share on which you don't have traverse right, mounting will succeed but any later
operation will fail, refused by the remote NFS server. This is a bit different than the behavior on Linux where mount is denied
if traverse is not granted.

Final thing: this is highly experimental and not fully implemented yet: expect not working stuff, broken asserts, deadlocks, etc.

CORE-8204

svn path=/trunk/; revision=75120

reactos/boot/bootdata/hivesys.inf

index 1932ae6..6a26d6e 100644 (file)
@@ -850,7 +850,7 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E974-E325-11CE-BFC1-08002BE1
 HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E974-E325-11CE-BFC1-08002BE10318}","Class",0x00000000,"NetService"
 HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E975-E325-11CE-BFC1-08002BE10318}",,0x00000000,"Network Protocol"
 HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E975-E325-11CE-BFC1-08002BE10318}","Class",0x00000000,"NetTrans"
-HKLM,"SYSTEM\CurrentControlSet\Control\NetworkProvider\Order","ProviderOrder",0x00000000,""
+HKLM,"SYSTEM\CurrentControlSet\Control\NetworkProvider\Order","ProviderOrder",0x00000000,"nfs41_driver"
 
 ; NLS Files
 HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage","37",0x00000000,"c_037.nls"
@@ -2092,6 +2092,24 @@ HKLM,"SYSTEM\CurrentControlSet\Services\ffs","ImagePath",0x00020000,"system32\dr
 HKLM,"SYSTEM\CurrentControlSet\Services\ffs","Start",0x00010001,0x00000003
 HKLM,"SYSTEM\CurrentControlSet\Services\ffs","Type",0x00010001,0x00000002
 
+; NFS Filesystem driver
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver","ErrorControl",0x00010001,0x00000000
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver","Group",0x00000000,"Network"
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver","ImagePath",0x00020000,"system32\drivers\nfs41_driver.sys"
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver","Start",0x00010001,0x00000003
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver","Type",0x00010001,0x00000002
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver\NetworkProvider","DeviceName",0x00000000,\Device\nfs41_driver
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver\NetworkProvider","Name",0x00000000,"NFS41 Network"
+HKLM,"SYSTEM\CurrentControlSet\Services\nfs41_driver\NetworkProvider","ProviderPath",0x00000000,System32\nfs41_np.dll
+
+; NFS daemon
+HKLM,"SYSTEM\CurrentControlSet\Services\pnfs","DisplayName",0x00000000,"NFSv4.1 Client"
+HKLM,"SYSTEM\CurrentControlSet\Services\pnfs","ErrorControl",0x00010001,0x00000001
+HKLM,"SYSTEM\CurrentControlSet\Services\pnfs","ImagePath",0x00020000,"%SystemRoot%\system32\nfsd.exe --noldap"
+HKLM,"SYSTEM\CurrentControlSet\Services\pnfs","ObjectName",0x00000000,"LocalSystem"
+HKLM,"SYSTEM\CurrentControlSet\Services\pnfs","Start",0x00010001,0x00000003
+HKLM,"SYSTEM\CurrentControlSet\Services\pnfs","Type",0x00010001,0x00000010
+
 ; Filesystem Filter Manager driver
 HKLM,"SYSTEM\CurrentControlSet\Services\fltmgr","ErrorControl",0x00010001,0x00000003
 HKLM,"SYSTEM\CurrentControlSet\Services\fltmgr","Group",0x00000000,"FSFilter Infrastructure"