From 92cc047cbe0f9b1be0217dc109b0e48d763c2362 Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Thu, 5 May 2011 14:16:32 +0300 Subject: [PATCH] --- yaml --- r: 250441 b: refs/heads/master c: c1f1f91d2183b91c684900b529b6c336ad3dd27c h: refs/heads/master i: 250439: f885bee393778398eb0815c281dbfee6db630b4b v: v3 --- [refs] | 2 +- trunk/fs/ubifs/recovery.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 60096dd79dfc..21eefede2fa0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 45cd5cddbfbdf0993dbc76d06ed77d0bf547b421 +refs/heads/master: c1f1f91d2183b91c684900b529b6c336ad3dd27c diff --git a/trunk/fs/ubifs/recovery.c b/trunk/fs/ubifs/recovery.c index d6c8ce3c722e..3f41a0ce192b 100644 --- a/trunk/fs/ubifs/recovery.c +++ b/trunk/fs/ubifs/recovery.c @@ -1490,18 +1490,22 @@ int ubifs_recover_size(struct ubifs_info *c) if (c->ro_mount) { /* Fix the inode size and pin it in memory */ struct inode *inode; + struct ubifs_inode *ui; ubifs_assert(!e->inode); inode = ubifs_iget(c->vfs_sb, e->inum); if (IS_ERR(inode)) return PTR_ERR(inode); + + ui = ubifs_inode(inode); if (inode->i_size < e->d_size) { dbg_rcvry("ino %lu size %lld -> %lld", (unsigned long)e->inum, inode->i_size, e->d_size); inode->i_size = e->d_size; - ubifs_inode(inode)->ui_size = e->d_size; + ui->ui_size = e->d_size; + ui->synced_i_size = e->d_size; e->inode = inode; this = rb_next(this); continue;