right = ntfs_are_rl_mergeable(src + ssize - 1, dst + loc + 1); 
if ((loc + 1) < dsize) right = ntfs_are_rl_mergeable(src + ssize - 1, dst + loc + 1); 
static inline runlist_element *ntfs_rl_append(runlist_element *dst,		int dsize, runlist_element *src, int ssize, int loc){	BOOL right;	/* Right end of @src needs merging. */	int marker;	/* End of the inserted runs. */	BUG_ON(!dst);	BUG_ON(!src);	/* First, check if the right hand end needs merging. */	right = ntfs_are_rl_mergeable(src + ssize - 1, dst + loc + 1);	/* Space required: @dst size + @src size, less one if we merged. */	dst = ntfs_rl_realloc(dst, dsize, dsize + ssize - right);	if (IS_ERR(dst))		return dst;	/*	 * We are guaranteed to succeed from here so can start modifying the	 * original runlists.	 */	/* First, merge the right hand end, if necessary. */	if (right)		__ntfs_rl_merge(src + ssize - 1, dst + loc + 1);	/* First run after the @src runs that have been inserted. */	marker = loc + ssize + 1;	/* Move the tail of @dst out of the way, then copy in @src. */	ntfs_rl_mm(dst, marker, loc + 1 + right, dsize - (loc + 1 + right));	ntfs_rl_mc(dst, loc + 1, src, 0, ssize);	/* Adjust the size of the preceding hole. */	dst[loc].length = dst[loc + 1].vcn - dst[loc].vcn;	/* We may have changed the length of the file, so fix the end marker */	if (dst[marker].lcn == LCN_ENOENT)		dst[marker].vcn = dst[marker - 1].vcn + dst[marker - 1].length;	return dst;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/eed8b2dee7cff46dd4bf5b82dc53465d229162ba/runlist.c/buggy/fs/ntfs/runlist.c