[BACK]Return to ufs_dirhash.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / ufs / ufs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/ufs/ufs/ufs_dirhash.c between version 1.36 and 1.37

version 1.36, 2014/02/25 18:30:13 version 1.37, 2014/12/20 00:28:05
Line 255  ufsdirhash_build(struct inode *ip)
Line 255  ufsdirhash_build(struct inode *ip)
         return (0);          return (0);
   
 fail:  fail:
           ip->i_dirhash = NULL;
         DIRHASH_UNLOCK(dh);          DIRHASH_UNLOCK(dh);
         if (dh->dh_hash != NULL) {          if (dh->dh_hash != NULL) {
                 for (i = 0; i < narrays; i++)                  for (i = 0; i < narrays; i++)
Line 266  fail:
Line 267  fail:
                 kmem_free(dh->dh_blkfree, dh->dh_blkfreesz);                  kmem_free(dh->dh_blkfree, dh->dh_blkfreesz);
         mutex_destroy(&dh->dh_lock);          mutex_destroy(&dh->dh_lock);
         pool_cache_put(ufsdirhash_cache, dh);          pool_cache_put(ufsdirhash_cache, dh);
         ip->i_dirhash = NULL;  
         atomic_add_int(&ufs_dirhashmem, -memreqd);          atomic_add_int(&ufs_dirhashmem, -memreqd);
         return (-1);          return (-1);
 }  }
Line 283  ufsdirhash_free(struct inode *ip)
Line 283  ufsdirhash_free(struct inode *ip)
         if ((dh = ip->i_dirhash) == NULL)          if ((dh = ip->i_dirhash) == NULL)
                 return;                  return;
   
           ip->i_dirhash = NULL;
   
         if (dh->dh_onlist) {          if (dh->dh_onlist) {
                 DIRHASHLIST_LOCK();                  DIRHASHLIST_LOCK();
                 if (dh->dh_onlist)                  if (dh->dh_onlist)
Line 303  ufsdirhash_free(struct inode *ip)
Line 305  ufsdirhash_free(struct inode *ip)
         }          }
         mutex_destroy(&dh->dh_lock);          mutex_destroy(&dh->dh_lock);
         pool_cache_put(ufsdirhash_cache, dh);          pool_cache_put(ufsdirhash_cache, dh);
         ip->i_dirhash = NULL;  
   
         atomic_add_int(&ufs_dirhashmem, -mem);          atomic_add_int(&ufs_dirhashmem, -mem);
 }  }

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37

CVSweb <webmaster@jp.NetBSD.org>