Thursday, November 27, 2008

workaround.for.mounted.samba.shares.io.error

Hi everyone, before blogging any further I'd like to congratulate DabaweGNU along with FOSS Nepal Community and SFD Nicaragua for bagging Software Freedom Day 2008's Best Event Award. I'm pretty sure this recognition will further encourage DabaweGNU and other organizers to do even better next time. Moreover, this will definitely boost support for FOSS and assure a bigger audience next SFD. Each of the winning organizations will also receive a pair of OLPC laptops...can't wait to take it for a spin :)

>>DabaweGNU team report

Now back to the topic at hand, I visited a client the other day and they reported a problem with saving documents in OpenOffice (Writer in particular). This client recently decided to migrate some of their windows PCs to Linux and as expected there are bumps along the way, I will be talking about specific software related issues and how it can be mitigated. This would also serve as reference for future projects where I might encounter the same issue.

When saving a document to a mounted samba share(mounted remote folders) Writer issues an I/O error, creates the file and prevents the user from further saving the document. This issue seems to be isolated in Intrepid Ibex (Ubuntu 8.10) because I don't recall encountering this in Hardy. You can however save the file locally and then drag (copy+paste) the file to the mounted folder, also if the folder is mounted via nautilus the bug does not occur. So naturally that was the work around, the problem was that my client wants to be able to save directly to the remote folder without having to manually mount the share via nautilus (I know what you're thinking...its only a 3 step thing but hey they want it done!). So here is how I temporarily solved the problem ( the permanent fix is to wait for the samba fix to be included in the repos).

  1. Disable the samba mount definition in /etc/fstab by inserting a hashmark(#) at the start of the definition (this is specific to my client because I had setup the system to automount the samba shares)
  2. Nautilus like most linux apps accepts commandline parameters so we are going to use that to our advantage simply create a script to automate that.

     sudo nano /home/<user_name>/mountshare.sh

    Type the following lines

    #/bin/sh
    nautilus smb://<ip/hostname>/<share_name>

    Save the script.

  3. Make the script executable
    • chmod +x mount_share.sh

  4. Add an entry to the current session so it is executed on startup. System --> Administration -->Sessions --> Add Entry. Browse and point to /home/mount_share.sh


Hope this snippet helps those with similar issues...at least until the bug is fixed.

5 comments:

test said...

I tried your suggestions as a possible solution to my inability to save Word documents on a server (Samba) share from Crossover Office. However some permissions issues are still stopping me from saving the documents...

I am using Ubuntu 8.10 as well (great product!), and do not have any problems saving OpenOffice documents on the server share - only using Crossover Office/Winword.

Avat@r said...

Hi Jeff, what is the exact error message?
can you post the contents of your smb.conf file?

test said...

The problem does not occur with OpenOffice ie I can save files on a Samba share from my Unbuntu desktop. It only occurs when I try to save a file using Word under Crossover Office on a Samba share. The error message is a Word "device full etc".

This leads me to suspect it is something to do with Crossover Office (which I will persist with as Wine alone just doesn't get me very far). It is strange - Crossover Office is very mature, and I would have thought it would work well across Samba shares.

Avat@r said...

hi jeff,
apparently the bug has been fixed. so we can go back to the proper way of mounting the remote samba shares.

Do try to add this on your /etc/fstab file


//192.168.1.106/test /media/server cifs guest,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

*where 192.168.1.106 is my server's ip (you can use the hostname of course)
and /media/server is my mount point.

don't forget to run "sudo mount -a" to force the system to read the fstab file

the nounix option seems to do the trick.
hope this helps

test said...

Excellent! This works.