[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    RE: samba and NFS support (was: Re: from Corel: may we help?)
From:       aleXXX <alexander.neundorf () rz ! tu-ilmenau ! de>
Date:       1999-11-29 9:19:31
[Download RAW message or body]

On Fri, 26 Nov 1999, Roberto Alsina wrote:
> On Fri, 26 Nov 1999, David Faure wrote:
> 
> > > Problems:
> > > -------
> > > -smbmount only exists for linux, 
> > > maybe mounting for linux and your stuff on other systems ?
> > 
> > The real problem is that mounting is completely incompatible
> > with the kioslave architecture.
> > You never know when a kioslave might get killed, you can have
> > two kioslaves accessing the same url one after the other (or at the same
> > time ? not sure).
> > 
> > kioslaves are designed to be "request/response" slaves.
> > Example of dialogue :
> > KIOJob : "Give me http://www.kde.org/index.html"
> > kio_http : "Here it is, step by step while I'm loading it"
> > KIOJob : Thanks, you can die now.
> > kio_http : Aaargh.
> > (Alternatively, kio_http can be kept [in a fridge] and reused later on).
> > 
> > 
> > I don't think mounting/unmounting each time a file is accessed
> > is a viable solution, is it ?
> > 
> > The only solution for NFS is a separate app (or plugin) that 
> > you can ask manually to mount/unmount a drive.
> 
> Well, you could have a separate bookkeeping app that does the mounting
> following requests by the kio_nfs.
> It could also dismount the NFS shares once they are idle for a while.
> Sort of an automounter.

Yes, that's the way I do it at the moment and over the weekend I had some time
to have a look at the ioslave-stuff.
As I see everthing is read/created/... on the fly.
We could do it for the samba stuff the same way, but IMHO it would be better to
have something like a server/lib/automount-app which is called by the
smb/NFS-ioslave.

(something like:
konqy: enter dir /network_neighbourhood
-> ioslave.get ("LAN://")
-> ioslave: server.get("/")
-> returns configured list of workgroups

konqy: enter dir workgorup1
-> ioslave.get("LAN://workgroup1")
-> ioslave: server.get("/workgroup1")
-> server: ooops, this is a NT-domain, so let's ask for a password, then
scans the LAN, stores the results internally and returns the list
of members (takes some time)

konqy: enter dir host1
-> ioslave.get("LAN://workgroup1/host1")
-> ioslave: server.get("/workgroup1/host1")
-> server: scan the host (which as he knows belongs to a NT-domain) for
shares/exports/whatever (with the password entered above), stores the results
and returns the list of shares (takes some time)

konqy: enter dir share1
-> ioslave.get("LAN://workgroup1/host1/share1")
-> ioslave: server.get("/workgroup1/host1/share1")
-> server:  if (/workgroup1/hsot1/share1.mountable() &&
/workgroup1/host1/share1.notmounted() ) then mount and redirect to the
file-ioslave 
if ...mountable() && ...mounted() redirect to the file ioslave
else not mountable: scan the share for contents, don't store them
(takes too much space, I think) and return them
again the password and other workgroup-depending options are needed
(takes some time)

short after, another konqy:
konqy: enter dir /network_neoghbourhood
-> ioslave.get("LAN://")
-> ioslave: server.get("/")
-> server: return the list of configured workgroups

konqy: enter dir workgroup1
-> ioslave.get("LAN://workgroup1")
-> ioslave: server.get("/workgroup1")
-> server: detects that it already scanned for hosts and returns the stored
list (saves up to lets say 20 seconds for a dir change)

konqy: enter dir host1
-> ioslave.get("LAN://workgroup1/host1")
-> ioslave: server.get("/workgroup1/host1")
->server: detects that it already scanned for shares and returns the stored list
(saves again up to 20 seconds for a dir change)

konqy: enter dir share1
->ioslave.get("LAN://workgroup1/host1/share1")
->ioslave: server.get("/workgroup1/host1/share1")
->server: detects that share1.isMounted() and redirects to the file-ioslave
(again saves time for a dir change)

This way it is also possible to achieve complete
samba-nfs-novell-whatever-transparency, I created a baseclass Share, and
derived classes SambaShare, NFSExport, NovellVolume which represent the
detected type. Additionally it is often required to have some informations
about the workgroup/host a share belongs to to do something (mount or client)
with it.

Additionally it could also be possible to have auto-completion for host-
and share-names in LAN's, since they would be stored in the "server" and would
would't take time to retrieve them once they are scanned.

AFAIK ( I have only seen the screenshot with the dir-structure of a ftp-server
in konqy), there will be special files which are read by konqy and then
displayed (containing a URL like ftp://ftp.kde.org and then you see the
ftp-server in konqy ?), am I right ?
So there would have to be some files for
the LAN-stuff, but I think they must contain an URL (like LAN://workgroup1) and
additionally configuration data.

It would be great if the KDE-file-dialog would do it the same way (or does it
already, I don't know).

Bye
Alex

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic