From: Anand A. <av...@zr...> - 2007-06-01 05:31:28
|
> > So how about just remembering the generation in the client, in > userspace? > > Yes, it's slightly wasteful to store the generation in userspace, when > the kernel already stores it, but this would have the big advantage of > not needing any API modifications. there are cases when you cannot do this correctly. consider the following sequence of events. client1:lookup request file1 ==> server <= lookup reply file1, inode=1000, generation=1 client2:rm file1 ==> server <= success client2:create file2 ==> server <= FD, inode=1000 (got re-used) client1:lookup request file2 ==> server <= lookup reply file2, inode=1000, generation=2 client1:open inode=1000 in the above case, you do not know whether the last open was posted by kernel after the inode generation number got updated, or if the open was already posted before you replied to file2's lookup. is there a way to detect this? if this situation can be handled i'm happy to remember and manage the generation number from userspace itself. thanks, avati -- Anand V. Avati |