Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 335455
b: refs/heads/master
c: eaef854
h: refs/heads/master
i:
  335453: 1c44fcb
  335451: d7c5cca
  335447: cd8d764
  335439: b4547d9
  335423: 5bdfeff
v: v3
  • Loading branch information
Dave Chinner authored and Ben Myers committed Nov 8, 2012
1 parent 468b3b8 commit e1c9af1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1f3c785c3adb7d2b109ec7c8f10081d1294b03d3
refs/heads/master: eaef854335ce09956e930fe4a193327417edc6c9
21 changes: 19 additions & 2 deletions trunk/fs/xfs/xfs_fsops.c
Original file line number Diff line number Diff line change
Expand Up @@ -399,9 +399,26 @@ xfs_growfs_data_private(

/* update secondary superblocks. */
for (agno = 1; agno < nagcount; agno++) {
error = xfs_trans_read_buf(mp, NULL, mp->m_ddev_targp,
error = 0;
/*
* new secondary superblocks need to be zeroed, not read from
* disk as the contents of the new area we are growing into is
* completely unknown.
*/
if (agno < oagcount) {
error = xfs_trans_read_buf(mp, NULL, mp->m_ddev_targp,
XFS_AGB_TO_DADDR(mp, agno, XFS_SB_BLOCK(mp)),
XFS_FSS_TO_BB(mp, 1), 0, &bp);
} else {
bp = xfs_trans_get_buf(NULL, mp->m_ddev_targp,
XFS_AGB_TO_DADDR(mp, agno, XFS_SB_BLOCK(mp)),
XFS_FSS_TO_BB(mp, 1), 0);
if (bp)
xfs_buf_zero(bp, 0, BBTOB(bp->b_length));
else
error = ENOMEM;
}

if (error) {
xfs_warn(mp,
"error %d reading secondary superblock for ag %d",
Expand All @@ -423,7 +440,7 @@ xfs_growfs_data_private(
break; /* no point in continuing */
}
}
return 0;
return error;

error0:
xfs_trans_cancel(tp, XFS_TRANS_ABORT);
Expand Down

0 comments on commit e1c9af1

Please sign in to comment.