Re: Filesystem & mutex

From: Joshua Hudson
Date: Mon Apr 24 2006 - 17:26:38 EST


On 4/24/06, Pekka Enberg <penberg@xxxxxxxxxxxxxx> wrote:
> Hi,
>
> On 4/24/06, Joshua Hudson <joshudson@xxxxxxxxx> wrote:
> > My filesystem has need of an extra mutex in the extended inode data area.
> > From what I understand, the mutex can be initalized in inode_init_once, but
> > I cannot determine how to free it.
> >
> > It looks wrong to destroy the mutex by just destroying the slab.
> > It is wrong to destroy the inode in destroy_inode. Badness when
> > an inode is reused.
>
> There's no need to 'release' a mutex. If the mutex is unlocked, you
> can do kmem_cache_free() on the owning inode. You need to do
> mutex_init() in the object cache constructor (init_once) only because
> the memory given to you can be arbitrary state. After the mutex has
> been initialized, it will never go into an illegal state on its own
> assuming you remember to unlock it before freeing the inode.
>
> Pekka
Tx. Your solution worked.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/