udf: Fix unalloc space handling in udf_update_inode
authorJan Kara <jack@suse.cz>
Fri, 8 Jan 2010 15:46:29 +0000 (16:46 +0100)
committerJan Kara <jack@suse.cz>
Tue, 9 Mar 2010 16:15:17 +0000 (17:15 +0100)
commitaae917cd188f397e9223001d9f6c0adfb339fd64
tree7185f5f0b984145c1511ae657487e68504f185a7
parent57d54889cd00db2752994b389ba714138652e60c
udf: Fix unalloc space handling in udf_update_inode

Writing of inode holding unallocated space info was broken because we first
cleared the buffer and after that checked whether it contains a tag meaning the
block holds unallocated space information.  Fix the problem by checking
appropriate in memory flag instead.

Also cleanup the function a bit along the way - most importantly lock buffer
when modifying its contents, check for buffer_write_io_error instead of
!buffer_uptodate, etc..

Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/inode.c