Skip to content

Commit

Permalink
Merge branch 'xfs-misc-fixes-for-4.2-2' into for-next
Browse files Browse the repository at this point in the history
  • Loading branch information
Dave Chinner committed Jun 4, 2015
2 parents 66e8ac7 + 46fc58d commit 4497f28
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
15 changes: 8 additions & 7 deletions fs/xfs/libxfs/xfs_ialloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -606,20 +606,20 @@ xfs_ialloc_ag_alloc(
uint16_t allocmask = (uint16_t) -1; /* init. to full chunk */
struct xfs_inobt_rec_incore rec;
struct xfs_perag *pag;

int do_sparse = 0;

#ifdef DEBUG
/* randomly do sparse inode allocations */
if (xfs_sb_version_hassparseinodes(&tp->t_mountp->m_sb))
do_sparse = prandom_u32() & 1;
#endif

memset(&args, 0, sizeof(args));
args.tp = tp;
args.mp = tp->t_mountp;
args.fsbno = NULLFSBLOCK;

#ifdef DEBUG
/* randomly do sparse inode allocations */
if (xfs_sb_version_hassparseinodes(&tp->t_mountp->m_sb) &&
args.mp->m_ialloc_min_blks < args.mp->m_ialloc_blks)
do_sparse = prandom_u32() & 1;
#endif

/*
* Locking will ensure that we don't have two callers in here
* at one time.
Expand Down Expand Up @@ -768,6 +768,7 @@ xfs_ialloc_ag_alloc(
return error;

newlen = args.len << args.mp->m_sb.sb_inopblog;
ASSERT(newlen <= XFS_INODES_PER_CHUNK);
allocmask = (1 << (newlen / XFS_INODES_PER_HOLEMASK_BIT)) - 1;
}

Expand Down
7 changes: 4 additions & 3 deletions fs/xfs/xfs_inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -2244,6 +2244,7 @@ xfs_ifree_cluster(
int inodes_per_cluster;
int nbufs;
int i, j;
int ioffset;
xfs_daddr_t blkno;
xfs_buf_t *bp;
xfs_inode_t *ip;
Expand All @@ -2264,9 +2265,9 @@ xfs_ifree_cluster(
* physically allocated. Skip the cluster if an inode falls into
* a sparse region.
*/
if ((xic->alloc & XFS_INOBT_MASK(inum - xic->first_ino)) == 0) {
ASSERT(((inum - xic->first_ino) %
inodes_per_cluster) == 0);
ioffset = inum - xic->first_ino;
if ((xic->alloc & XFS_INOBT_MASK(ioffset)) == 0) {
ASSERT(do_mod(ioffset, inodes_per_cluster) == 0);
continue;
}

Expand Down

0 comments on commit 4497f28

Please sign in to comment.