Lines Matching refs:laarr
707 struct kernel_long_ad laarr[EXTENT_MERGE_SIZE];
730 alternate between laarr[0] and laarr[1] for locations of the
758 laarr[c].extLength = (etype << 30) | elen;
759 laarr[c].extLocation = eloc;
803 laarr[0] = laarr[1];
807 memset(&laarr[0].extLocation, 0x00,
809 laarr[0].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED;
816 ret = udf_do_extend_file(inode, &prev_epos, laarr, hole_len);
828 laarr[c].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED |
830 memset(&laarr[c].extLocation, 0x00,
842 laarr[2] = laarr[0];
843 laarr[0] = laarr[1];
844 laarr[1] = laarr[2];
852 laarr[c + 1].extLength = (etype << 30) | elen;
853 laarr[c + 1].extLocation = eloc;
863 if ((laarr[c].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30))
864 newblocknum = laarr[c].extLocation.logicalBlockNum + offset;
887 udf_split_extents(inode, &c, offset, newblocknum, laarr, &endnum);
890 udf_prealloc_extents(inode, c, lastblock, laarr, &endnum);
892 /* merge any continuous blocks in laarr */
893 udf_merge_extents(inode, laarr, &endnum);
898 ret = udf_update_extents(inode, laarr, startnum, endnum, &prev_epos);
927 struct kernel_long_ad *laarr, int *endnum)
932 if ((laarr[*c].extLength >> 30) == (EXT_NOT_RECORDED_ALLOCATED >> 30) ||
933 (laarr[*c].extLength >> 30) ==
936 int blen = ((laarr[curr].extLength & UDF_EXTENT_LENGTH_MASK) +
938 int8_t etype = (laarr[curr].extLength >> 30);
943 laarr[curr + 2] = laarr[curr + 1];
944 laarr[curr + 1] = laarr[curr];
946 laarr[curr + 3] = laarr[curr + 1];
947 laarr[curr + 2] = laarr[curr + 1] = laarr[curr];
953 &laarr[curr].extLocation,
955 laarr[curr].extLength =
958 laarr[curr].extLocation.logicalBlockNum = 0;
959 laarr[curr].extLocation.
962 laarr[curr].extLength = (etype << 30) |
969 laarr[curr].extLocation.logicalBlockNum = newblocknum;
971 laarr[curr].extLocation.partitionReferenceNum =
973 laarr[curr].extLength = EXT_RECORDED_ALLOCATED |
979 laarr[curr].extLocation.logicalBlockNum +=
981 laarr[curr].extLength = (etype << 30) |
990 struct kernel_long_ad *laarr,
1001 if ((laarr[c + 1].extLength >> 30) ==
1005 (((laarr[c + 1].extLength &
1017 } else if ((laarr[i].extLength >> 30) ==
1019 length += (((laarr[i].extLength &
1028 int next = laarr[start].extLocation.logicalBlockNum +
1029 (((laarr[start].extLength & UDF_EXTENT_LENGTH_MASK) +
1033 laarr[start].extLocation.partitionReferenceNum,
1039 laarr[start].extLength +=
1043 memmove(&laarr[c + 2], &laarr[c + 1],
1046 laarr[c + 1].extLocation.logicalBlockNum = next;
1047 laarr[c + 1].extLocation.partitionReferenceNum =
1048 laarr[c].extLocation.
1050 laarr[c + 1].extLength =
1058 int elen = ((laarr[i].extLength &
1064 laarr[i].extLength -=
1071 memmove(&laarr[i],
1072 &laarr[i + 1],
1085 static void udf_merge_extents(struct inode *inode, struct kernel_long_ad *laarr,
1093 struct kernel_long_ad *li /*l[i]*/ = &laarr[i];
1094 struct kernel_long_ad *lip1 /*l[i plus 1]*/ = &laarr[i + 1];
1112 memmove(&laarr[i + 1], &laarr[i + 2],
1147 memmove(&laarr[i + 1], &laarr[i + 2],
1169 static int udf_update_extents(struct inode *inode, struct kernel_long_ad *laarr,
1184 laarr[i].extLocation,
1185 laarr[i].extLength);
1193 udf_next_aext(inode, epos, &laarr[i].extLocation,
1194 &laarr[i].extLength, 1);
1201 udf_write_aext(inode, epos, &laarr[i].extLocation,
1202 laarr[i].extLength, 1);