public inbox for linux-msdos@vger.kernel.org
 help / color / mirror / Atom feed
* cifs 1.50 and dosemu 1.4 great combination
@ 2007-10-11 14:30 kemas
       [not found] ` <470E52D1.5040406@pobox.com>
  0 siblings, 1 reply; 9+ messages in thread
From: kemas @ 2007-10-11 14:30 UTC (permalink / raw)
  To: linux-cifs-client, linux-msdos

hi all,

just wanted to share some story..

we use samba as file server, application mainly use dos clipper, foxpro
base and some windows application.

we try to change the client to use linux so we can easily maintain the
os remotely.
at first it was running quite well but slow, but later the client start
complaining about how they loose their data and how they blame it
because of using linux.

at that time we use 
	- centos 4.3 
	- cifs 1.34
	- dosemu 1.2
	- wine

try upgrading cifs from 1.34 to 1.40 doesn't resolve the problem, smbfs
really not a solution for us because we need locking capabilies.
ask for help from anyone (thanks akemi), become a headbanger because
that problem still exist.

now we try to at one site to use
	- centos 5
	- upgraded to cifs 1.50
	- dosemu 1.4
	- wine

since then I get zero..zip complain from the user at that site regarding
data losses, phew.

I just want to say a big thank you for such a great software, 

thank you

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: cifs 1.50 and dosemu 1.4 great combination
       [not found]   ` <1192159242.2490.10.camel@localhost>
@ 2007-10-12  5:31     ` Alain M.
  2007-10-12  6:19       ` Bart Oldeman
                         ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Alain M. @ 2007-10-12  5:31 UTC (permalink / raw)
  To: dosEmu-list


kemas escreveu:
> 
>> A clipper program runs on dosemu (I supose withe FreeDOS), dosemu runs 
>> on centos. But dosemu uses either an image (where lock work) or the 
>> linux fle system, I supose then that cifs is replacing samba and that 
>> lock work between doemu and cifs...
>>
> cifs does not replace samba, samba still the file server.
> 
> cifs is use as the filesystem to mount samba share, then dosemu would run our program on 
> lredired drive.
> the lock here means file locking between multiuser apps that use the same file.

Could you give setup commands? This may interest more people, so I am 
bringing it back to the list...

I am not sure that I understand: You have a samba server, maybe even on 
the same machine; cifs then replaces samba-client, on every machine; 
then dosemu relays the file-locks correctly. Are you using freeDOS?

Sorry if I may seam a little dumb, but some time ago Bart said that lock 
did NOT work... and I googled about cifs and could not really understand 
the details.

Thanks,
Alain


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: cifs 1.50 and dosemu 1.4 great combination
  2007-10-12  5:31     ` Alain M.
@ 2007-10-12  6:19       ` Bart Oldeman
  2007-10-12 11:58       ` Claudia Neumann
  2007-10-15  3:23       ` kemas
  2 siblings, 0 replies; 9+ messages in thread
From: Bart Oldeman @ 2007-10-12  6:19 UTC (permalink / raw)
  To: Alain M.; +Cc: dosEmu-list

On 10/12/07, Alain M. <alainm@pobox.com> wrote:
>
> Sorry if I may seam a little dumb, but some time ago Bart said that lock
> did NOT work... and I googled about cifs and could not really understand
> the details.

Locking "works", but not 100%. The problem is that DOS has 5 different
locking modes (compat, deny read, deny write, deny all, and deny
none), but POSIX only 3 (none, read, and write).

So somehow DOSEMU maps 5 to 3 and tries to be reasonable, but it is a heuristic.
It may work, or it may not work for a particular application in a
particular situation.

And there's a chain:
DOSEMU -1> Linux fs = cifs -2> samba or Windows server

-1> translates DOS locks to POSIX locks (lredir'ed drive).
-2> (may) do the reverse (mounted drive using the Linux kernel cifs module).
smbfs used to do nothing at all with POSIX locks at -2> so it was
broken. cifs now does it better (possibly as well as two DOSEMU's
sharing files on an ext3 filesystem by now);
if the samba server implements POSIX extensions there isn't even a
lock translation anymore for step 2.

Having DOSEMU talk directly to the samba server could be 100% reliable
but a bit hard to setup (setup networking in DOSEMU, and install a DOS
samba client in it).

Bart

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: cifs 1.50 and dosemu 1.4 great combination
  2007-10-12  5:31     ` Alain M.
  2007-10-12  6:19       ` Bart Oldeman
@ 2007-10-12 11:58       ` Claudia Neumann
  2007-10-15  3:23       ` kemas
  2 siblings, 0 replies; 9+ messages in thread
From: Claudia Neumann @ 2007-10-12 11:58 UTC (permalink / raw)
  To: Alain M.; +Cc: dosEmu-list

Hi Alain!

Yes, the newest samba and the newest cifs-code together with kernel > (I 
think) 2.6.18 solves the samba locking problem. I just forgot to tell you.

At last my work and mails to Jeremy Allison were successful. Now even clipper 
locks are recognized and reported to the clients. Nevertheless samba is very 
slow. During my investigations about the samba locking problem I got the 
advice to turn my network concept around. Now all my clients log in on the 
server via ssh and start a dosemu or other session on the server. Network 
trafic is very much reduced and the work on the clients is quicker than ever. 
Working on Windows-servers/-clients can not keep up with that.

CU

Claudia Neumann

Am Freitag, 12. Oktober 2007 07:31 schrieb Alain M.:
> kemas escreveu:
> >> A clipper program runs on dosemu (I supose withe FreeDOS), dosemu runs
> >> on centos. But dosemu uses either an image (where lock work) or the
> >> linux fle system, I supose then that cifs is replacing samba and that
> >> lock work between doemu and cifs...
> >
> > cifs does not replace samba, samba still the file server.
> >
> > cifs is use as the filesystem to mount samba share, then dosemu would run
> > our program on lredired drive.
> > the lock here means file locking between multiuser apps that use the same
> > file.
>
> Could you give setup commands? This may interest more people, so I am
> bringing it back to the list...
>
> I am not sure that I understand: You have a samba server, maybe even on
> the same machine; cifs then replaces samba-client, on every machine;
> then dosemu relays the file-locks correctly. Are you using freeDOS?
>
> Sorry if I may seam a little dumb, but some time ago Bart said that lock
> did NOT work... and I googled about cifs and could not really understand
> the details.
>
> Thanks,
> Alain
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: cifs 1.50 and dosemu 1.4 great combination
  2007-10-12  5:31     ` Alain M.
  2007-10-12  6:19       ` Bart Oldeman
  2007-10-12 11:58       ` Claudia Neumann
@ 2007-10-15  3:23       ` kemas
  2 siblings, 0 replies; 9+ messages in thread
From: kemas @ 2007-10-15  3:23 UTC (permalink / raw)
  To: Alain M.; +Cc: dosEmu-list

Hi Alain,
sorry for long reply, I was on national holiday for 2days.

> > cifs does not replace samba, samba still the file server.
> > 
> > cifs is use as the filesystem to mount samba share, then dosemu would run our program on 
> > lredired drive.
> > the lock here means file locking between multiuser apps that use the same file.
> 
> Could you give setup commands? This may interest more people, so I am 
> bringing it back to the list...
> 
> I am not sure that I understand: You have a samba server, maybe even on 
> the same machine; cifs then replaces samba-client, on every machine; 
> then dosemu relays the file-locks correctly. Are you using freeDOS?
> 

Our setup is like this
- 1 server
  -- LTSP 4.2
     use for the diskless client, booting through PXE.
     we have mixed environment ;=)
  -- SAMBA
     use to for dos clipper/foxpro application.
     in smb.conf we set 'cifs extensions = no', so samba will behave
     more like windows server, written in the documentation.
   

- 3 client with harddisk
  -- centos 5
     --- desktop IceWM
     --- upgrade to cups 1.3
     --- dosemu 1.4
     --- upgrade to cifs 1,5
     --- wine 0.9.36
         
- 10 LTSP client
  -- same like server



the server have several shared directories
	\\bigdady\administrations
	\\bigdady\public
	\\bigdady\someshare


CLIENT SETUP
------------

* mount server share

because our user is not linux friendly,
we make some shortcut for the client so when they entered dosemu they
will get the server shared already connected.

we put in autoexec.bat something like this, both for the 

unix connectsmb.sh
lredir f: /home/user/mount
f:
    
the content of connectsmb.sh, the conditional test for the same user
does not mount multiple time if they already have the share mounted.

     statusq=`df -h 2> /dev/null|grep $HOME/mount|awk '{ print $5 }'`
      if [ -z $statusq ]; then
	sudo mount -t cifs \\bigdady\administrations /home/user/mount
	-o username=myuser,password=mypassword,uid=myuser,gid=myusergid,
	nounix,direct
      fi



* printing, for printing we use cups 1.3.

for LTSP client, we create .dosemurc that define their personalize
printer.
printing parameter has change from dosemu 1.2 to 1.4
so in .dosemurc we put
	$_lpt1 = "lpr -l -P lq2180"
	$_printer_timeout = (2)

for the client with harddisk is more simple, we put in dosemu.conf
global for all the user.
	$_lpt1 = "lpr -l -P lq2180_local"
	$_printer_timeout = (2)


* finishing

because the server is not 24 hour running (workhour only 08:00am to
10:00pm), it is important to make sure that all the ltsp client
disconnect from using the server shared properly.
so instead telling the user to use exitemu to exit dosemu, we make some
batchfile to unmount the shared and then exit from dosemu (lets just
call it timeout.bat).
	timeout.bat
		c:
		unix sudo umount /home/myuser/mount
		exitemu
        because mount will not work if user have open several dosemu
session, so it is safe to do it like this.



> Sorry if I may seam a little dumb, but some time ago Bart said that lock 
> did NOT work... and I googled about cifs and could not really understand 
> the details.
> 

yes, we also read it in dosemu 1.4 documentation, that the lock on
lredir drive may or may not work, and $_file_full_locks = (on) may help.
But in my case, if we turn $_file_full_locks = (on) it will break
things, so we still let $_file_full_locks = (off).


thanks





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: cifs 1.50 and dosemu 1.4 great combination
@ 2007-11-14 14:39 Tarquin Adams
  2007-11-14 16:03 ` Claudia Neumann
  0 siblings, 1 reply; 9+ messages in thread
From: Tarquin Adams @ 2007-11-14 14:39 UTC (permalink / raw)
  To: linux-msdos

All,

I am hoping someone can help with the following scenario:

- Dosemu 1.4
- Ubuntu 7.10
- TightVNC with java webserver
- DOS based accounting package using Btrieve 5 database

I wish to run a DOS based accounting package on dosemu with client access to it using VNC.  I have had encouraging successes but the file locking issue still comes up sometimes.

The accounting package uses a Btrieve 5 database.  When I start several dosemu sessions using the same user all running the same accounting software, I get good perfomance with only an occasional crash due to file locking/sharing clashes.

If I share the directory containing the software using SMB then mount it using CIFS:

sudo mount -t cifs //server/share /other_location -o username=xxxxxxx,password=xxxxxxx

then I also get the software to run properly although I have not been able to test whether this eliminates the occasional crashes I get without this method.

I want to start different VNC sessions using different usernames and have them access the software.  All these users are members of a group which has read/write access to the directory which contains the accounting software and which is lredir'd in the autoexec.bat.

I have a script that starts VNC sessions like:

su -c "vncserver :x" - user1
su -c "vncserver :y" - user2

However, when I run sessions with these different usernames accessing the CIFS mounted directory lredir'd in dosemu I get Btrieve error 14 (pre-image open error)  when the software tries to access the data files.  This is related to the .pre files that Btrieve creates and it appears a .pre file created by one user cannot be accessed by another, which is essential!

Does anyone have any advice or recommended settings for enabling whatever oplock or  other locking mechanism is required for this to work correctly?  I notice several  posts which say they have got record locking working using CIFS with SAMBA but  no-one gives specifc smb.conf or CIFS settings for this.

Any suggestions would be much appreciated.

Regards,
Tarquin Adams

No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.503 / Virus Database: 269.15.31/1129 - Release Date: 13/11/2007 21:22
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: cifs 1.50 and dosemu 1.4 great combination
  2007-11-14 14:39 Tarquin Adams
@ 2007-11-14 16:03 ` Claudia Neumann
  0 siblings, 0 replies; 9+ messages in thread
From: Claudia Neumann @ 2007-11-14 16:03 UTC (permalink / raw)
  To: dosEmu-list

Hi Tarquin!

Am Mittwoch, 14. November 2007 15:39 schrieb Tarquin Adams:
> However, when I run sessions with these different usernames accessing the
> CIFS mounted directory lredir'd in dosemu I get Btrieve error 14 (pre-image
> open error)  when the software tries to access the data files.  This is
> related to the .pre files that Btrieve creates and it appears a .pre file
> created by one user cannot be accessed by another, which is essential!

I can't tell anything about using different users accessing a share. There you 
have to look at the samba docs.

> Does anyone have any advice or recommended settings for enabling whatever
> oplock or  other locking mechanism is required for this to work correctly? 
> I notice several  posts which say they have got record locking working
> using CIFS with SAMBA but  no-one gives specifc smb.conf or CIFS settings
> for this.

The locking is correct at least with my application (Clipper,xbase) with cifs 
> 1.45 and samba >= 3.0.25b.

The parameter in the smb.conf is
strict locking = yes

most of the other locking parameters are ignored with cifs.

HTH

Claudia


^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: Re: cifs 1.50 and dosemu 1.4 great combination
@ 2007-11-15 10:26 Tarquin Adams
  2007-11-21  4:04 ` kemas
  0 siblings, 1 reply; 9+ messages in thread
From: Tarquin Adams @ 2007-11-15 10:26 UTC (permalink / raw)
  To: linux-msdos

Claudia, thank you for your response.

I think I have now identified the cause of my problem.  When a user creates a file in dosemu, the permissions are set as 'read and write' for that user but 'read only' for their group and all other users.  Hence when my software tries to access a .pre file to append data to, it finds it is 'read only' for any user other than the first one to have run the software.

How can I force all files created in dosemu to be 'read and write' for all users?

Regards,
Tarquin Adams

No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.503 / Virus Database: 269.15.32/1131 - Release Date: 14/11/2007 16:54
 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: cifs 1.50 and dosemu 1.4 great combination
  2007-11-15 10:26 Re: cifs 1.50 and dosemu 1.4 great combination Tarquin Adams
@ 2007-11-21  4:04 ` kemas
  0 siblings, 0 replies; 9+ messages in thread
From: kemas @ 2007-11-21  4:04 UTC (permalink / raw)
  To: Tarquin Adams; +Cc: linux-msdos

Tarquin Adams wrote:
> Claudia, thank you for your response.
>
> I think I have now identified the cause of my problem.  When a user creates a file in dosemu, the permissions are set as 'read and write' for that user but 'read only' for their group and all other users.  Hence when my software tries to access a .pre file to append data to, it finds it is 'read only' for any user other than the first one to have run the software.
>
> How can I force all files created in dosemu to be 'read and write' for all users?
>
> Regards,
> Tarquin Adams
>
>   
Hi Tarquin,

if you want to force every file newly created by them to have access 
mode read write for user and group, you have to change the default umask.
I use CentOS, so I've change in /etc/bashrc
    if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
        umask 002
    else
        umask 022  --> this one change to 002
    fi






^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-11-21  4:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-15 10:26 Re: cifs 1.50 and dosemu 1.4 great combination Tarquin Adams
2007-11-21  4:04 ` kemas
  -- strict thread matches above, loose matches on Subject: below --
2007-11-14 14:39 Tarquin Adams
2007-11-14 16:03 ` Claudia Neumann
2007-10-11 14:30 kemas
     [not found] ` <470E52D1.5040406@pobox.com>
     [not found]   ` <1192159242.2490.10.camel@localhost>
2007-10-12  5:31     ` Alain M.
2007-10-12  6:19       ` Bart Oldeman
2007-10-12 11:58       ` Claudia Neumann
2007-10-15  3:23       ` kemas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox