[Gluster-users] @devel - Why no inotify?

Joe Julian joe at julianfamily.org
Tue May 22 17:18:20 UTC 2018


The gluster client is a userspace application that connects to the 
servers and then provides the filesystem interface to the kernel using 
the fuse module. The kernel then provides a mountable filesystem.

inotify is a kernel function that watches an inode for changes. That 
function would monitor the kernel-side of the fuse interface but it 
would have no idea what happens on the userspace side. How should a 
kernel be made aware of inode changes in a cluster? Should it notify 
regardless of which client changes the inode? Since the gluster client 
isn't made aware that the kernel is monitoring an inode, the client 
would have to notify fuse of every change in the entire cluster. That's 
way too much traffic making that solution unable to scale.

I think there were some kernel hackers working on an idea for that, but 
I don't know where that's at or how far along they got.

If you wrote your application to use libgfapi you could add a watch for 
a particular file and be notified of changes (I believe, don't start 
development without verifying this in the library code).

If any of this doesn't make sense, feel free to ask more. Like 
everything when you start operating clusters at scale, it's a 
complicated problem. :)


On 05/22/18 10:05, lejeczek wrote:
> how about gluste's own client(s)?
> You mount volume (locally to the server) via autofs/fstab and watch 
> for inotify on that mountpoing(or path inside it).
> That is something I expected was out-of-box.
>
> On 03/05/18 17:44, Joe Julian wrote:
>> There is the ability to notify the client already. If you developed 
>> against libgfapi you could do it (I think).
>>
>> On May 3, 2018 9:28:43 AM PDT, lemonnierk at ulrar.net wrote:
>>
>>     Hey,
>>
>>     I thought about it a while back, haven't actually done it but I 
>> assume
>>     using inotify on the brick should work, at least in replica volumes
>>     (disperse probably wouldn't, you wouldn't get all events or you'd 
>> need
>>     to make sure your inotify runs on every brick). Then from there you
>>     could notify your clients, not ideal, but that should work.
>>
>>     I agree that adding support for inotify directly into gluster 
>> would be
>>     great, but I'm not sure gluster has any mechanics for notifying 
>> clients
>>     of changes since most of the logic is in the client, as I 
>> understand it.
>>
>>     On Thu, May 03, 2018 at 04:33:30PM +0100, lejeczek wrote:
>>
>>         hi guys will we have gluster with inotify? some
>>         point / never? thanks, L.
>> ------------------------------------------------------------
>>         Gluster-users mailing list
>>         Gluster-users at gluster.org
>>         http://lists.gluster.org/mailman/listinfo/gluster-users
>>
>>
>>
>>
>> _______________________________________________
>> Gluster-users mailing list
>> Gluster-users at gluster.org
>> http://lists.gluster.org/mailman/listinfo/gluster-users
>
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://lists.gluster.org/mailman/listinfo/gluster-users



More information about the Gluster-users mailing list