On Tue, Aug 18, 2015 at 10:24:59PM -0400, Zirong Lang wrote: > > > ----- 原始邮件 ----- > > 发件人: "Dave Chinner" <david@xxxxxxxxxxxxx> > > 收件人: "Zorro Lang" <zlang@xxxxxxxxxx> > > 抄送: fstests@xxxxxxxxxxxxxxx, sandeen@xxxxxxxxxx > > 发送时间: 星期三, 2015年 8 月 19日 上午 6:28:32 > > 主题: Re: [PATCH] xfs/194: fix the exception when run on 4k sector drives > > > > On Wed, Aug 19, 2015 at 01:21:51AM +0800, Zorro Lang wrote: > > > The below command in "Test 4": > > > > > > xfs_io -c "pwrite -S 0x33 -b 512 `expr $blksize \* 2` 512" > > > > > > will run failed on 4k sector drives. So I use min_alignment size > > > to replace the hard-code 512. > > > > > > Also I make sure the blksize won't less than min_alignment size, > > > after blksize=`expr $pgsize / 8`. > > > > > > If blksize really less than min_alignment size, I set blksize = > > > min_alignment size, and for sure the consistency of test result, > > > I repair pgsize(already not real page size) number according to > > > the new blksize. > > > > > > Because IRIX can't use _min_dio_alignment(), so remove it from > > > supported os list. > > > > Not true - that's what the 'feature -s' branch in > > _min_dio_alignment() is supposed to be for. Just add another check > > for "$HOSTOS" == "Linux".... > > Do you mean change _min_dio_alignment() to: > _min_dio_alignment() > { > dev=$1 > > if [ -b "$dev" -a $HOSTOS" == "Linux" ]; then > blockdev --getss $dev > else > $here/src/feature -s > fi > } Yes. > I really don't understand why page size will be the minimum dio alignment? > Do you mean in other OS(except linux), the sector size = page size? No. It means that on other platforms the page size will be used as alignment restrictions. If those platforms need anything different, then they can add a similar 'elif [ "$HOSTOS" == "foo" ];' branch in there to call the appropriate function. You don't need to worry about that. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html