···7272 runlist. This allows us to find runlist elements with the runlist7373 lock already held without having to drop and reacquire it around the7474 call. Adapt all callers.7575- - Change time to u64 time.h::ntfs2utc() as it otherwise generates a7575+ - Change time to u64 in time.h::ntfs2utc() as it otherwise generates a7676 warning in the do_div() call on sparc32. Thanks to Meelis Roos for7777 the report and analysis of the warning.7878+ - Fix a nasty runlist merge bug when merging two holes.787979802.1.22 - Many bug and race fixes and error handling improvements.8081
+4-1
fs/ntfs/runlist.c
···113113 BUG_ON(!dst);114114 BUG_ON(!src);115115116116- if ((dst->lcn < 0) || (src->lcn < 0)) /* Are we merging holes? */116116+ if ((dst->lcn < 0) || (src->lcn < 0)) { /* Are we merging holes? */117117+ if (dst->lcn == LCN_HOLE && src->lcn == LCN_HOLE)118118+ return TRUE;117119 return FALSE;120120+ }118121 if ((dst->lcn + dst->length) != src->lcn) /* Are the runs contiguous? */119122 return FALSE;120123 if ((dst->vcn + dst->length) != src->vcn) /* Are the runs misaligned? */