Re: Gluster vs NFS export sync

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 07/16/2014 08:41 AM, Franco Broi wrote:
On Wed, 2014-07-16 at 08:32 +0530, Santosh Pradhan wrote:
On 07/15/2014 06:24 AM, Franco Broi wrote:
I think the option I need is noac.
noac is no-attribute-caching in NFS. By default, NFS client would cache
the meta-data/attributes of FILEs for 3 seconds and directory for 30
seconds (default value). NFS client revalidates the attr cache by
sending periodic GETATTR call. But if the client is mounted with noac,
then it wont cache attrs. I dont think it's available in FUSE mount.
This is not applicable to WRITE I/O which keeps changing the attrs. This
cant make I/Os synchronous. I/Os may get cached (VM subsystem cache) in
either side (NFS client and NFS server side).

The nfs man page says:

  In addition to preventing the client from  caching  file
  attributes, the noac option forces application writes to
  become synchronous so  that  local  changes  to  a  file
  become  visible  on  the  server immediately.  That way,
  other clients can quickly detect recent writes when they
  check the file's attributes.

My bad, I missed the man page. Yes, with noac option, all the WRITEs goes with FILE_SYNC (STABLE write) flag which means synchronous I/O.


I'm guessing that an NFS disk exported with sync, forces all clients to
be mounted as if they had used noac...


Thanks,
Santosh

On Fri, 2014-07-11 at 16:10 +0530, Santosh Pradhan wrote:
On 07/11/2014 02:37 PM, Franco Broi wrote:
On Fri, 2014-07-11 at 14:22 +0530, Santosh Pradhan wrote:
On 07/11/2014 06:10 AM, Franco Broi wrote:
Hi

Is there any way to make Gluster emulate the behaviour of a NFS
filesystem exported with the sync option? By that I mean is it possible
to write a file from one client and guarantee that the data will be
instantly available on close to all other clients?
I think FUSE also supports the sync option with mount similar to NFS.
There's 2 types of NFS sync, server and client but they behave very
differently. With sync at the client end, NFS just calls fsync on close
(I think),
No. If the NFS client is mounted with sync flag i.e. -o sync, then all
the WRITEs will be synchronous i.e. they wont be cached in client side
and they(WRITEs) will hit the server with FILE_SYNC (stable write) flag
which is nothing but FILE I/O with O_SYNC flag.

with sync at the server end, all writes are synchronous.

Opening the file with O_SYNC also doesn't give the desired effect
although you'd think it would.
It should be same as above.

Thanks,
Santosh
    NFS must have some way of communicating
the file attribute changes to all the clients immediately the write
completes.

Man page snippet for fuse(8):
OPTIONS
           Most of the generic mount options described in mount are
supported (ro, rw, suid, nosuid, dev,
           nodev, exec, noexec, atime, noatime, sync, async, dirsync).
Filesystems are mounted  with
           nodev,nosuid by default, which can only be overridden by a
privileged user.

Thanks,
Santosh

Cheers,

_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-users


_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-users




[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux