Hi Xavi,

> On Mon, Oct 17, 2022 at 1:03 PM Stefan Solbrig <[email protected] 
> <mailto:[email protected]>> wrote:
> Dear all,
> 
> I was doing some testing regarding to GlusterFS link files (as they are 
> created by a "move" operation). According to this document: 
> https://www.gluster.org/glusterfs-algorithms-distribution/ 
> <https://www.gluster.org/glusterfs-algorithms-distribution/>  If a link file 
> is missing, it should be created after accessing the file.
> However, I don't see this behaviour.  If I delete (by hand) a link file on 
> the brick, the file is still accessible, but the link file is never 
> recreated. I can do an "open" or a "stat" on the file without getting an 
> error, but the link file is not created.
> Is this the intended behaviour? Or am I misunderstanding the above mentioned 
> document?
> 
> You shouldn't access or modify the backend filesystems manually, you can 
> accidentally create unexpected problems if you don't fully understand what 
> you are doing.
> 
> That said, most probably the access to the file is still working because 
> Gluster is using its cached information to locate the file. If the client 
> mount is restarted, probably the file won't be accessible anymore unless you 
> disable the "lookup-optimize" option (and this should recreate the link file).
> 
> Regards,
> 
> Xavi

Thanks for the quick reply!  Maybe I should explain better my motivation for 
the above mentioned experiments. I have a large production system running 
GlusterFS with almost 5 PB of data (in approx 100G of inodes). It's a 
distributed-only system (no sharding, not dispersed).  In this system, the 
users sometimes experience the problem that they cannot delete a seemingly 
empty directory.  The cause of this problem is, that the directory contains 
leftover link files, i.e. dht link files where the target is gone. I haven't 
identified yet why this happens and I don't have a method to provoke this error 
(otherwise I would have mentioned it on this list already.)  But my quick & 
dirty fix is, to delete these leftover link files by hand.  (These leftover 
link files are not being cleaned up by a "rebalance".) 

The reason for my experiments with link files is: what happens if for some 
reason I accidentally delete a link file where the target still exists?

In the experiments (not on the production system) I also tried umounting and 
remounting the system, and I already tried setting "loopup-optmize = off". It 
doesn't affect the outcome of the experiments.

best wishes,
Stefan

________



Community Meeting Calendar:

Schedule -
Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
Bridge: https://meet.google.com/cpu-eiue-hvk
Gluster-users mailing list
[email protected]
https://lists.gluster.org/mailman/listinfo/gluster-users

Reply via email to