diff options
author | Jeremie Koenig <jk@jk.fr.eu.org> | 2010-08-21 09:25:27 +0000 |
---|---|---|
committer | Jeremie Koenig <jk@jk.fr.eu.org> | 2010-08-30 14:19:08 +0200 |
commit | 086569ee636d91a820aa23031dda3cb74bab9505 (patch) | |
tree | 18d11b4b3ad52294ef5dfba0d3b87843d0ac77cd | |
parent | 2c7dcef74c3259d2d5db7a11f5c77d18d3a51e85 (diff) |
Handle the ref counter spinlock on cleanup
* netfs.c (netfs_node_norefs): Handle the reference counters
spinlock so as to avoid deadlocking on reentry.
-rw-r--r-- | netfs.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -163,8 +163,12 @@ error_t netfs_attempt_lookup (struct iouser *user, struct node *dir, free all its associated storage. */ void netfs_node_norefs (struct node *np) { + spin_unlock (&netfs_node_refcnt_lock); + procfs_cleanup (np); free (np); + + spin_lock (&netfs_node_refcnt_lock); } |