Hangs !!! Accessing fuse filesystem in Windows through Samba
Raj Kumar Sanpui
raj.kumar.sanpui at gmail.com
Tue Mar 3 03:44:28 MST 2015
Hello Everyone,
Thanks for the response.
I added these parameters to our smb.conf, and also as Richarde and Miklos
(the fuse developer) suggested, moved the blocking part from open( ) to
read( ), but with no difference in behaviour, now i am afraid if these aio
parameters added (as shown below) are really working.
I checked the Samba log (log.smbd) in /var/log/samba/, but could not get
any clue.
Is there any way to find out, if the new parameters added for AIO are
really working?
{{{
[FUSEAArchive]
comment = Fuse Archive File System
path = /opt/myinsite/fuse-mount/ifm
read only = No
case sensitive = yes
public = yes
writeable = yes
create mask=0777
guest ok = Yes
aio read size = 0
aio write size = 0
aio write behind = /*/
}}}
Here are my Samba version:
# rpm -qa | grep samba
samba-32bit-3.6.3-0.18.3
yast2-samba-client-2.17.21-0.5.186
yast2-samba-server-2.17.13-0.7.5
samba-client-32bit-3.6.3-0.18.3
samba-3.3.4-0.1.146
samba-client-3.3.4-0.1.146
On Tue, Mar 3, 2015 at 6:13 AM, Jeremy Allison <jra at samba.org> wrote:
> On Mon, Mar 02, 2015 at 08:00:47AM -0800, Richard Sharpe wrote:
> > On Mon, Mar 2, 2015 at 7:34 AM, Raj Kumar Sanpui
> > <raj.kumar.sanpui at gmail.com> wrote:
> > > We are accessing a fuse filesystem in Windows through Samba.
> > >
> > > There are 2 category of files in fuse filesystem, local and remote
> (Data
> > > Center). If the file is in remote, fuse downloads it internally when
> open(
> > > ) syscall is invoked by the filesystem - at which stage open( ) waits
> or
> > > blocks till the complete file is downloaded - At this stage we see, the
> > > Samba share becomes unresponsive and hangs.
> > >
> > > However, if some other user tries the same fuse mount from a Samba
> share in
> > > different machine it works.
> > >
> > > Why does this happen, is it due to the single threaded nature of
> Samba? Is
> > > there any workaround for this?
> >
> > Samba used event processing (tevent) not threads.
> >
> > It is hard for open to be async, and Samba expects open to not take a
> > lot of time.
>
> On Linux, where we have per-thread creds, you can get
> open async by using aio_pthread and setting the aio_pthread
> specific parameter "aio open = true".
>
More information about the samba-technical
mailing list