- removed ll_d_lookup() as it is not used anymore.
- removed struts from real_lookup() with calling revalidate() after lookup if dentry
is marked GNS_MOUNTING. By now all this dentry marking is not needed anymore.
- ll_gns_mount_object() is now called from ll_revalidate_it() and ll_lookup_it()
- fixed deadlock when one thread T1 waits for mount completion and another one T2
created by upcall script waits for dentry->d_inode->i_sem. By now -ERESTARTSYS
is returned for T2 and others and whren they restart syscall, dentry is mounted
already or some error occured and GNS state is READY for mount.
- fixes in comments and header of llite_gns.c
- fixed possible incorrect spin_unlock() in ll_gns_mount_object()
- using lookup_one_len() for looking for mount object instead of d_lookup() which
looks only in dcache.
- fixed handling of negative mount object dentry in ll_gns_mount_object()
- fixed readding mount object content. By now kernel_read() is used instead of
readpage approach.
- waking up all possible waiters on finishing GNS mount. Nevertheless in current
stuff nobody seem waits for mount (-RESTARTSYS is used instead), completion
exists and it is semanticaly correct to wake up all its waiters. In fact this
is needed for possible future using. If it happen that nobody will wait on it
and it is counted not needed, it will be removed.