diff options
author | Jan Kara <jack@suse.cz> | 2010-01-08 16:52:59 +0100 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2010-03-09 17:15:17 +0100 |
commit | 5833ded9b6d783b8446349bada08f0f5e4227895 (patch) | |
tree | 6f86b88c0c446b4c62cd38b8cd9f4432331216f6 /fs/udf | |
parent | udf: Fix unalloc space handling in udf_update_inode (diff) | |
download | linux-5833ded9b6d783b8446349bada08f0f5e4227895.tar.xz linux-5833ded9b6d783b8446349bada08f0f5e4227895.zip |
udf: Do not read inode before writing it
We needlessly read inode in udf_update_inode just before zeroing out the
contents of the buffer. Fix it.
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf')
-rw-r--r-- | fs/udf/inode.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/udf/inode.c b/fs/udf/inode.c index a792a884b49c..a00602b2e32d 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -1408,9 +1408,8 @@ static int udf_update_inode(struct inode *inode, int do_sync) unsigned char blocksize_bits = inode->i_sb->s_blocksize_bits; struct udf_inode_info *iinfo = UDF_I(inode); - bh = udf_tread(inode->i_sb, - udf_get_lb_pblock(inode->i_sb, - &iinfo->i_location, 0)); + bh = udf_tgetblk(inode->i_sb, + udf_get_lb_pblock(inode->i_sb, &iinfo->i_location, 0)); if (!bh) { udf_debug("getblk failure\n"); return -ENOMEM; @@ -1602,6 +1601,7 @@ static int udf_update_inode(struct inode *inode, int do_sync) fe->descTag.tagChecksum = udf_tag_checksum(&fe->descTag); out: + set_buffer_uptodate(bh); unlock_buffer(bh); /* write the data blocks */ |