From: Miklos S. <mi...@sz...> - 2008-12-11 13:09:57
|
On Wed, 10 Dec 2008, Brian Wang wrote: > Thanks for the reply. > > Then if "hard_remove" is not used, any node forgotten should be removed from > the node cache and from the fuse kernel? But there are cases nodes are > forgotten with name and parent set to NULL, but they are still in the node > table. Hmm, thinking about it a bit more, it could happen without "hard_remove" as well. For example if a file and a parent directory are removed in close succession, and processing the FORGET requests happens in reverse order. > I am trying to make my fuse fs work better with NFS, it works pretty well in > general, but I do have one problem under stress test for a long time period. > I am trying to find out why. > > What happens is that fuse kernel module would return EBUSY from the > following function after a long period of running. I wonder why happens in > the user land fuse would cause this. My guess is that the node refctr might > be wrong, but have not be find out what's wrong with my code. I do reuse the > nodeid because I have to have persistent nodeid after reboot. When EBUSY is > returned from the following function, does it mean that a nodeid is reused > for a dir but that dir still have something else refer to it? Exactly. Miklos |