[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Unaligned traps on kernel startup



Mike \"Ford\" Ditto wrote:
> 
> > It is from linux/drivers/block/genhd.c and traps happen on lines
> > marked with '---->':
> >
> > 329				for (i = 0; i < 4 ; i++) {
> > 330					struct partition *q = &p[i];
> > 331					if (NR_SECTS(q)
> > 332				----->	   && (q->sector & 63) == 1
> > 333				----->	   && (q->end_sector & 63) == 63) {
> >
> > sizeof(struct partition) appears to be 16 so maybe I miss something
> > but it seems a bit of strange that I see only two pairs of traps and
> > not four.
> 
> Maybe you only have two actual partitions on that disk?

No. Actually there are four.  Something seems to align the other two.

> The fix for the traps is to have those marked lines use get_aligned the
> way the line immediately above them does, as explained at the top of
> genhd.c:

Ah, thanks.  I missed an existence of this macro.  I will have to 
try that.

   Michal



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []