[Gluster-devel] Barrier design issues wrt volume snapshot

Vijay Bellur vbellur at redhat.com
Thu Mar 6 08:21:16 UTC 2014


Adding gluster-devel.


On 03/06/2014 01:15 PM, Krishnan Parthasarathi wrote:
> All,
>
> In recent discussions around design (and implementation) of the barrier
> feature, couple of things came to light.
>
> 1) changelog xlator needs barrier xlator to block unlink and rename FOPs
>     in the call path. This is apart from the current list of FOPs that are blocked
>     in their call back path.
>     This is to make sure that the changelog has a bounded queue of unlink and rename FOPs,
>     from the time barriering is enabled, to be drained, committed to changelog file and published.
>
> 2) It is possible in a pure distribute volume that the following sequence of FOPs could result
>     in snapshots of bricks disagreeing on inode type for a file or directory.
>
>     t1: snap b1
>     t2: unlink /a
>     t3: mkdir /a
>     t4: snap b2
>
> where, b1 and b2 are bricks of a pure distribute volume V.
>
> The above sequence can happen with the current barrier xlator design, since we allow unlink FOPs
> to go through to the disk and only block their acknowledgement to the application. This implies
> a concurrent mkdir on the same name could succeed, since DHT doesn't serialize unlink and mkdir FOPs,
> unlike AFR.
>
> Avati,
>
> I hear that you have a solution for problem 2). Could you please start the discussion on this thread?
> It would help us to decide how to go about with the barrier xlator implementation.
>
> thanks,
> Krish
>





More information about the Gluster-devel mailing list