Re: Filesystem & mutex
From: Pekka Enberg
Date: Mon Apr 24 2006 - 07:19:20 EST
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
-
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/