From 0520a938e11c34a5ffc422b9316b85e294b0fbb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Sun, 11 Sep 2016 12:58:59 -0300 Subject: Linux-libre 4.7.3-gnu --- fs/aufs/inode.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'fs/aufs/inode.c') diff --git a/fs/aufs/inode.c b/fs/aufs/inode.c index a4b994e8c..8f7446df6 100644 --- a/fs/aufs/inode.c +++ b/fs/aufs/inode.c @@ -27,7 +27,7 @@ static void au_refresh_hinode_attr(struct inode *inode, int do_version) static int au_ii_refresh(struct inode *inode, int *update) { - int err, e; + int err, e, nbr; umode_t type; aufs_bindex_t bindex, new_bindex; struct super_block *sb; @@ -39,9 +39,10 @@ static int au_ii_refresh(struct inode *inode, int *update) *update = 0; sb = inode->i_sb; + nbr = au_sbbot(sb) + 1; type = inode->i_mode & S_IFMT; iinfo = au_ii(inode); - err = au_hinode_realloc(iinfo, au_sbbot(sb) + 1); + err = au_hinode_realloc(iinfo, nbr, /*may_shrink*/0); if (unlikely(err)) goto out; @@ -79,6 +80,7 @@ static int au_ii_refresh(struct inode *inode, int *update) } } au_update_ibrange(inode, /*do_put_zero*/0); + au_hinode_realloc(iinfo, nbr, /*may_shrink*/1); /* harmless if err */ e = au_dy_irefresh(inode); if (unlikely(e && !err)) err = e; -- cgit v1.2.3