diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-09-11 12:58:59 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-09-11 12:58:59 -0300 |
commit | 0520a938e11c34a5ffc422b9316b85e294b0fbb2 (patch) | |
tree | 9e44592eccb90ed2d2b3a893fb602e4ca894f695 /fs/aufs/inode.c | |
parent | 273d4428f8c4cc94c9598f8bcc006ec2e8c654ea (diff) |
Linux-libre 4.7.3-gnupck-4.7.3-gnu
Diffstat (limited to 'fs/aufs/inode.c')
-rw-r--r-- | fs/aufs/inode.c | 6 |
1 files changed, 4 insertions, 2 deletions
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; |