Justus Winter, le Tue 10 Dec 2013 17:50:29 +0100, a écrit :
> * trans/fakeroot.c (netfs_S_dir_lookup): Remove dead code.
Ack.
> ---
> trans/fakeroot.c | 67
> +++++++++++++++++++++++-------------------------------
> 1 file changed, 29 insertions(+), 38 deletions(-)
>
> diff --git a/trans/fakeroot.c b/trans/fakeroot.c
> index f278db1..58f1112 100644
> --- a/trans/fakeroot.c
> +++ b/trans/fakeroot.c
> @@ -331,51 +331,42 @@ netfs_S_dir_lookup (struct protid *diruser,
> }
>
> mach_port_deallocate (mach_task_self (), fsidport);
> - if (fsidport == netfs_fsys_identity)
> - {
> - /* Talking to ourselves! We just looked up one of our
> - own nodes. Find the node and return it. */
> - assert (! "reached");
> - }
> - else
> + pthread_mutex_lock (&idport_ihash_lock);
> + pthread_mutex_lock (&dnp->lock);
> + struct netnode *nn = hurd_ihash_find (&idport_ihash, idport);
> + if (nn != NULL)
> {
> - pthread_mutex_lock (&idport_ihash_lock);
> - pthread_mutex_lock (&dnp->lock);
> - struct netnode *nn = hurd_ihash_find (&idport_ihash, idport);
> - if (nn != NULL)
> - {
> - assert (nn->np->nn == nn);
> - np = nn->np;
> - /* We already know about this node. */
> - mach_port_deallocate (mach_task_self (), idport);
> -
> - if (np == dnp)
> - {
> - /* dnp is already locked. */
> - }
> - else
> - {
> - pthread_mutex_lock (&np->lock);
> - pthread_mutex_unlock (&dnp->lock);
> - }
> -
> - /* If the looked-up file carries a fake reference, we
> - use that and clear the FAKE_REFERENCE flag. */
> - if (np->nn->faked & FAKE_REFERENCE)
> - np->nn->faked &= ~FAKE_REFERENCE;
> - else
> - netfs_nref (np);
> + assert (nn->np->nn == nn);
> + np = nn->np;
> + /* We already know about this node. */
> + mach_port_deallocate (mach_task_self (), idport);
>
> - err = check_openmodes (np->nn, (flags & (O_RDWR|O_EXEC)), file);
> - pthread_mutex_unlock (&idport_ihash_lock);
> + if (np == dnp)
> + {
> + /* dnp is already locked. */
> }
> else
> {
> - err = new_node (file, idport, 1, flags, &np);
> + pthread_mutex_lock (&np->lock);
> pthread_mutex_unlock (&dnp->lock);
> - if (!err)
> - err = netfs_validate_stat (np, diruser->user);
> }
> +
> + /* If the looked-up file carries a fake reference, we
> + use that and clear the FAKE_REFERENCE flag. */
> + if (np->nn->faked & FAKE_REFERENCE)
> + np->nn->faked &= ~FAKE_REFERENCE;
> + else
> + netfs_nref (np);
> +
> + err = check_openmodes (np->nn, (flags & (O_RDWR|O_EXEC)), file);
> + pthread_mutex_unlock (&idport_ihash_lock);
> + }
> + else
> + {
> + err = new_node (file, idport, 1, flags, &np);
> + pthread_mutex_unlock (&dnp->lock);
> + if (!err)
> + err = netfs_validate_stat (np, diruser->user);
> }
> if (err)
> goto lose;
> --
> 1.7.10.4
>
--
Samuel
<h> t: bah c'est tendre le pattern pour se faire matcher, hein