Lines Matching refs:laarr
691 struct kernel_long_ad laarr[EXTENT_MERGE_SIZE];
715 alternate between laarr[0] and laarr[1] for locations of the
743 laarr[c].extLength = (etype << 30) | elen;
744 laarr[c].extLocation = eloc;
785 laarr[0] = laarr[1];
789 memset(&laarr[0].extLocation, 0x00,
791 laarr[0].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED;
798 ret = udf_do_extend_file(inode, &prev_epos, laarr, hole_len);
812 laarr[c].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED |
814 memset(&laarr[c].extLocation, 0x00,
826 laarr[2] = laarr[0];
827 laarr[0] = laarr[1];
828 laarr[1] = laarr[2];
836 laarr[c + 1].extLength = (etype << 30) | elen;
837 laarr[c + 1].extLocation = eloc;
847 if ((laarr[c].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30))
848 newblocknum = laarr[c].extLocation.logicalBlockNum + offset;
873 udf_split_extents(inode, &c, offset, newblocknum, laarr, &endnum);
880 udf_prealloc_extents(inode, c, lastblock, laarr, &endnum);
882 /* merge any continuous blocks in laarr */
883 udf_merge_extents(inode, laarr, &endnum);
888 *err = udf_update_extents(inode, laarr, startnum, endnum, &prev_epos);
916 struct kernel_long_ad *laarr, int *endnum)
921 if ((laarr[*c].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30) ||
922 (laarr[*c].extLength >> 30) ==
925 int blen = ((laarr[curr].extLength & UDF_EXTENT_LENGTH_MASK) +
927 int8_t etype = (laarr[curr].extLength >> 30);
932 laarr[curr + 2] = laarr[curr + 1];
933 laarr[curr + 1] = laarr[curr];
935 laarr[curr + 3] = laarr[curr + 1];
936 laarr[curr + 2] = laarr[curr + 1] = laarr[curr];
942 &laarr[curr].extLocation,
944 laarr[curr].extLength =
947 laarr[curr].extLocation.logicalBlockNum = 0;
948 laarr[curr].extLocation.
951 laarr[curr].extLength = (etype << 30) |
958 laarr[curr].extLocation.logicalBlockNum = newblocknum;
960 laarr[curr].extLocation.partitionReferenceNum =
962 laarr[curr].extLength = EXT_RECORDED_ALLOCATED |
968 laarr[curr].extLocation.logicalBlockNum +=
970 laarr[curr].extLength = (etype << 30) |
979 struct kernel_long_ad *laarr,
990 if ((laarr[c + 1].extLength >> 30) ==
994 (((laarr[c + 1].extLength &
1006 } else if ((laarr[i].extLength >> 30) ==
1008 length += (((laarr[i].extLength &
1017 int next = laarr[start].extLocation.logicalBlockNum +
1018 (((laarr[start].extLength & UDF_EXTENT_LENGTH_MASK) +
1022 laarr[start].extLocation.partitionReferenceNum,
1028 laarr[start].extLength +=
1032 memmove(&laarr[c + 2], &laarr[c + 1],
1035 laarr[c + 1].extLocation.logicalBlockNum = next;
1036 laarr[c + 1].extLocation.partitionReferenceNum =
1037 laarr[c].extLocation.
1039 laarr[c + 1].extLength =
1047 int elen = ((laarr[i].extLength &
1053 laarr[i].extLength -=
1060 memmove(&laarr[i],
1061 &laarr[i + 1],
1074 static void udf_merge_extents(struct inode *inode, struct kernel_long_ad *laarr,
1082 struct kernel_long_ad *li /*l[i]*/ = &laarr[i];
1083 struct kernel_long_ad *lip1 /*l[i plus 1]*/ = &laarr[i + 1];
1101 memmove(&laarr[i + 1], &laarr[i + 2],
1136 memmove(&laarr[i + 1], &laarr[i + 2],
1158 static int udf_update_extents(struct inode *inode, struct kernel_long_ad *laarr,
1173 laarr[i].extLocation,
1174 laarr[i].extLength);
1182 udf_next_aext(inode, epos, &laarr[i].extLocation,
1183 &laarr[i].extLength, 1);
1190 udf_write_aext(inode, epos, &laarr[i].extLocation,
1191 laarr[i].extLength, 1);