Re: [PATCH] UDF: fix deadlock on inode being dropped

From: Jan Kara
Date: Thu Jun 07 2007 - 05:24:07 EST


Hi Cyrill!

On Wed 06-06-07 21:53:51, Cyrill Gorcunov wrote:
> This patch prevents from deadlock on inode being dropped.
> The deadlock is caused by inderect call of mark_inode_dirty()
> within udf_drop_inode() but inode lock is already kept
> by the kernel. So moving code from udf_drop_inode() to
> udf_delete_inode() we save its functionality and avoid
> deadlock.
The patch is wrong. You cannot truncate the extent just in delete_inode.
That would lead to inodes with untruncated last extent on disk after
unmounting, which is forbidden in the specification. You need to truncate
the last extent whenever inode is being removed from memory or something
like that... I'm already thinking how to do it and avoid calling
mark_inode_dirty()...


Honza
--
Jan Kara <jack@xxxxxxx>
SuSE CR Labs
-
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/