X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fext2%2Ffile.c;h=c051798459a1c9faf33fa9b1c89508145c646c00;hb=852e1f2a2627274102a3c2dc70a6547aeab99cb6;hp=ab7961260c49d9071444d9e28cf6dd619b5058df;hpb=14dc5249728ff699b1ca4dac01ad416a350a147a;p=linux-2.6 diff --git a/fs/ext2/file.c b/fs/ext2/file.c index ab7961260c..c051798459 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c @@ -30,8 +30,11 @@ */ static int ext2_release_file (struct inode * inode, struct file * filp) { - if (filp->f_mode & FMODE_WRITE) - ext2_discard_prealloc (inode); + if (filp->f_mode & FMODE_WRITE) { + mutex_lock(&EXT2_I(inode)->truncate_mutex); + ext2_discard_reservation(inode); + mutex_unlock(&EXT2_I(inode)->truncate_mutex); + } return 0; }