diff options
author | kib <kib@FreeBSD.org> | 2011-07-09 14:42:45 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2011-07-09 14:42:45 +0000 |
commit | 977361a38bf419d0af42787dae2dff8e26abde26 (patch) | |
tree | c33bd131b18cf050ab20ed4581c97a8ef942c470 | |
parent | a31ee24792b00932ff8f9189907adda1839a5d9a (diff) | |
download | FreeBSD-src-977361a38bf419d0af42787dae2dff8e26abde26.zip FreeBSD-src-977361a38bf419d0af42787dae2dff8e26abde26.tar.gz |
Use helper functions instead of manually managing TDP_INBDFLUSH.
Sponsored by: The FreeBSD Foundation
Reviewed by: alc (previous version)
MFC after: 1 week
-rw-r--r-- | sys/ufs/ffs/ffs_balloc.c | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/sys/ufs/ffs/ffs_balloc.c b/sys/ufs/ffs/ffs_balloc.c index 63a4eba..3836060 100644 --- a/sys/ufs/ffs/ffs_balloc.c +++ b/sys/ufs/ffs/ffs_balloc.c @@ -234,9 +234,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, int size, if (num < 1) panic ("ffs_balloc_ufs1: ufs_getlbns returned indirect block"); #endif - saved_inbdflush = ~TDP_INBDFLUSH | (curthread->td_pflags & - TDP_INBDFLUSH); - curthread->td_pflags |= TDP_INBDFLUSH; + saved_inbdflush = thread_pflags_set(TDP_INBDFLUSH); /* * Fetch the first indirect block allocating if necessary. */ @@ -250,7 +248,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, int size, pref = ffs_blkpref_ufs1(ip, lbn, 0, (ufs1_daddr_t *)0); if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, flags, cred, &newb)) != 0) { - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); return (error); } nb = newb; @@ -356,7 +354,7 @@ retry: * If asked only for the indirect block, then return it. */ if (flags & BA_METAONLY) { - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); *bpp = bp; return (0); } @@ -406,7 +404,7 @@ retry: bp->b_flags |= B_CLUSTEROK; bdwrite(bp); } - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); } @@ -428,11 +426,11 @@ retry: nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); nbp->b_blkno = fsbtodb(fs, nb); } - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); fail: - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); /* * If we have failed to allocate any blocks, simply return the error. * This is the usual case and avoids the need to fsync the file. @@ -774,9 +772,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, if (num < 1) panic ("ffs_balloc_ufs2: ufs_getlbns returned indirect block"); #endif - saved_inbdflush = ~TDP_INBDFLUSH | (curthread->td_pflags & - TDP_INBDFLUSH); - curthread->td_pflags |= TDP_INBDFLUSH; + saved_inbdflush = thread_pflags_set(TDP_INBDFLUSH); /* * Fetch the first indirect block allocating if necessary. */ @@ -790,7 +786,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, pref = ffs_blkpref_ufs2(ip, lbn, 0, (ufs2_daddr_t *)0); if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, flags, cred, &newb)) != 0) { - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); return (error); } nb = newb; @@ -896,7 +892,7 @@ retry: * If asked only for the indirect block, then return it. */ if (flags & BA_METAONLY) { - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); *bpp = bp; return (0); } @@ -946,7 +942,7 @@ retry: bp->b_flags |= B_CLUSTEROK; bdwrite(bp); } - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); } @@ -974,11 +970,11 @@ retry: nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); nbp->b_blkno = fsbtodb(fs, nb); } - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); *bpp = nbp; return (0); fail: - curthread->td_pflags &= saved_inbdflush; + thread_pflags_restore(saved_inbdflush); /* * If we have failed to allocate any blocks, simply return the error. * This is the usual case and avoids the need to fsync the file. |