udf: Don't write integrity descriptor too often
authorJan Kara <jack@suse.cz>
Mon, 16 Mar 2009 17:27:37 +0000 (18:27 +0100)
committerJan Kara <jack@suse.cz>
Thu, 2 Apr 2009 11:36:28 +0000 (13:36 +0200)
commit146bca72c7e6ba52de82a63b1fce7934dc103dbc
treefee0aff001a5d5226518f0b67232f083f0931209
parent40346005166329bc4b53e0c564aff3968c1ddaa0
udf: Don't write integrity descriptor too often

We update information in logical volume integrity descriptor after each
allocation (as LVID contains free space, number of directories and files on
disk etc.). If the filesystem is on some phase change media, this leads to its
quick degradation as such media is able to handle only 10000 overwrites or so.
We solve the problem by writing new information into LVID only on umount,
remount-ro and sync. This solves the problem at the price of longer media
inconsistency (previously media became consistent after pdflush flushed dirty
LVID buffer) but that should be acceptable.

Report by and patch written in cooperation with
Rich Coe <Richard.Coe@med.ge.com>.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/balloc.c
fs/udf/ialloc.c
fs/udf/super.c
fs/udf/udf_sb.h
fs/udf/udfdecl.h