ext2_alloc.c (219012) | ext2_alloc.c (221126) |
---|---|
1/*- 2 * modified for Lites 1.1 3 * 4 * Aug 1995, Godmar Back (gback@cs.utah.edu) 5 * University of Utah, Department of Computer Science 6 */ 7/*- 8 * Copyright (c) 1982, 1986, 1989, 1993 --- 19 unchanged lines hidden (view full) --- 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * 35 * @(#)ffs_alloc.c 8.8 (Berkeley) 2/21/94 | 1/*- 2 * modified for Lites 1.1 3 * 4 * Aug 1995, Godmar Back (gback@cs.utah.edu) 5 * University of Utah, Department of Computer Science 6 */ 7/*- 8 * Copyright (c) 1982, 1986, 1989, 1993 --- 19 unchanged lines hidden (view full) --- 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * 35 * @(#)ffs_alloc.c 8.8 (Berkeley) 2/21/94 |
36 * $FreeBSD: head/sys/fs/ext2fs/ext2_alloc.c 219012 2011-02-24 22:11:36Z jhb $ | 36 * $FreeBSD: head/sys/fs/ext2fs/ext2_alloc.c 221126 2011-04-27 18:15:34Z jhb $ |
37 */ 38 39#include <sys/param.h> 40#include <sys/systm.h> 41#include <sys/conf.h> 42#include <sys/vnode.h> 43#include <sys/stat.h> 44#include <sys/mount.h> --- 131 unchanged lines hidden (view full) --- 176 struct m_ext2fs *fs; 177 struct inode *ip; 178 struct vnode *vp; 179 struct buf *sbp, *ebp; 180 int32_t *bap, *sbap, *ebap = 0; 181 struct ext2mount *ump; 182 struct cluster_save *buflist; 183 struct indir start_ap[NIADDR + 1], end_ap[NIADDR + 1], *idp; | 37 */ 38 39#include <sys/param.h> 40#include <sys/systm.h> 41#include <sys/conf.h> 42#include <sys/vnode.h> 43#include <sys/stat.h> 44#include <sys/mount.h> --- 131 unchanged lines hidden (view full) --- 176 struct m_ext2fs *fs; 177 struct inode *ip; 178 struct vnode *vp; 179 struct buf *sbp, *ebp; 180 int32_t *bap, *sbap, *ebap = 0; 181 struct ext2mount *ump; 182 struct cluster_save *buflist; 183 struct indir start_ap[NIADDR + 1], end_ap[NIADDR + 1], *idp; |
184 int32_t start_lbn, end_lbn, soff, newblk, blkno =0; | 184 int32_t start_lbn, end_lbn, soff, newblk, blkno; |
185 int i, len, start_lvl, end_lvl, pref, ssize; 186 187 vp = ap->a_vp; 188 ip = VTOI(vp); 189 fs = ip->i_e2fs; 190 ump = ip->i_ump; 191#ifdef UNKLAR 192 if (fs->fs_contigsumsize <= 0) --- 33 unchanged lines hidden (view full) --- 226 } 227 sbap = (int32_t *)sbp->b_data; 228 soff = idp->in_off; 229 } 230 /* 231 * Find the preferred location for the cluster. 232 */ 233 EXT2_LOCK(ump); | 185 int i, len, start_lvl, end_lvl, pref, ssize; 186 187 vp = ap->a_vp; 188 ip = VTOI(vp); 189 fs = ip->i_e2fs; 190 ump = ip->i_ump; 191#ifdef UNKLAR 192 if (fs->fs_contigsumsize <= 0) --- 33 unchanged lines hidden (view full) --- 226 } 227 sbap = (int32_t *)sbp->b_data; 228 soff = idp->in_off; 229 } 230 /* 231 * Find the preferred location for the cluster. 232 */ 233 EXT2_LOCK(ump); |
234 pref = ext2_blkpref(ip, start_lbn, soff, sbap, blkno); | 234 pref = ext2_blkpref(ip, start_lbn, soff, sbap, 0); |
235 /* 236 * If the block range spans two block maps, get the second map. 237 */ 238 if (end_lvl == 0 || (idp = &end_ap[end_lvl - 1])->in_off + 1 >= len) { 239 ssize = len; 240 } else { 241#ifdef DIAGNOSTIC 242 if (start_ap[start_lvl-1].in_lbn == idp->in_lbn) --- 770 unchanged lines hidden --- | 235 /* 236 * If the block range spans two block maps, get the second map. 237 */ 238 if (end_lvl == 0 || (idp = &end_ap[end_lvl - 1])->in_off + 1 >= len) { 239 ssize = len; 240 } else { 241#ifdef DIAGNOSTIC 242 if (start_ap[start_lvl-1].in_lbn == idp->in_lbn) --- 770 unchanged lines hidden --- |