Re: patch for "limited performance for disperse volumes"

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

 



+gluster-devel

----- Original Message -----
> From: "Milind Changire" <mchangir@xxxxxxxxxx>
> To: "Raghavendra Gowdappa" <rgowdapp@xxxxxxxxxx>
> Cc: "rhs-zteam" <rhs-zteam@xxxxxxxxxx>
> Sent: Thursday, February 9, 2017 11:00:18 PM
> Subject: patch for "limited performance for disperse volumes"
> 
> My first comment was:
> looks like patch for "limited performance for disperse volume" [1] is going
> to be helpful for all other types of volumes as well; but how do we
> guarantee ordering for writes over the same fd for the same offset and
> length in the file ?
> 
> then thinking over a bit and in case you missed my comment over IRC:
> I was thinking about network multi-pathing and rpc requests(two writes)
> being routed through different interfaces to gluster nodes which might
> lead to a non-increasing transaction ID sequence and hence might lead
> to incorrect final value if the older write is committed to the same
> offset+length
> 
> then it dawned on me that for blocking operations the write() call
> wont return until the data is safe on the disk across the network or
> the intermediate translators have cached it appropriately to be
> written behind.
> 
> so would the patch work for two non-blocking writes originating for the
> same fd from the same thread for the same offset+length and being
> routed over multi-pathing and write #2 getting routed quicker than
> write #1 ?

To be honest I've not considered the case of asynchronous writes from application till now. What is the ordering guarantee the OS/filesystems provide for two async writes? For eg., if there are two writes w1 and w2, when is w2 issued? 
* After cbk of w1 is called or
* parallely just after async_write (w1) returns (cbk of w1 is not invoked yet)?

What do POSIX or other standards (or expectation from OS) say about ordering in case 2 above?

[1] https://review.gluster.org/15036

> 
> just thinking aloud
> 
> --
> Milind
> 
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-devel



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

  Powered by Linux