Setting in xdata has the benefit of getting propagated to server side without change in protocol. However that being said, dict_t in its current form is not the most efficient data structure for storing a lot of key/values (biggest concern being too many small allocations). It will be good to revive http://review.gluster.org/3910 so that such use of xdata will be of a lesser concern.
Avati
On Tue, Aug 27, 2013 at 12:12 AM, Raghavendra Bhat <rabhat@xxxxxxxxxx> wrote:
Hi,
As of now, the performance xlators cache the data and perform some optimizations for all the fops irrespective of whether the fop is generated from the application or internal xlator. I think, performance xlators should come in to picture for only the fops generated by the applications. Imagine the situation where a graph change happens and fuse xlator sends open call on the fds to migrate them to the new graph. But the open call might not reach posix if open-behind unwinds success to fuse xlator.
It can be done in 2 ways.
1) Set a key in dictionary if the call is generated internally
OR
2) Set a flag in the callstack itself, whether the fop is internal fop or generated from the application.
Please provide feedback.
Regards,
Raghavendra Bhat
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxx
https://lists.nongnu.org/mailman/listinfo/gluster-devel