Messages in this thread | | | Subject | RE: [PATCH 2/2] fs/partition/msdos: Fix unusable extended partition for > 512B sector | Date | Wed, 10 Mar 2010 15:16:59 -0800 | From | "Daniel Taylor" <> |
| |
In the near future, WD will be releasing products that need this patch.
Wouldn't it be a better Linux user experience to never have the problem, rather than wait for a bug-fix cycle on the kernel?
OTOH, it would be reasonable to wait until someone else had a chance to test the change. We are awaiting NDAs from RedHat, Canonical, and Novell/SUSE to send them the affected products for library/application development.
Regards,
Dan
> -----Original Message----- > From: OGAWA Hirofumi [mailto:hirofumi@mail.parknet.co.jp] > Sent: Wednesday, March 10, 2010 7:52 AM > To: Andrew Morton > Cc: H. Peter Anvin; Daniel Taylor; linux-kernel@vger.kernel.org > Subject: [PATCH 2/2] fs/partition/msdos: Fix unusable > extended partition for > 512B sector > > We can drop this patch, if we want to delay until someone notice this > and have some real requests to this. > > > > > Smaller size than a minimum blocksize can't be used, after all it's > handled like 0 size. > > For extended partition itself, this makes sure to use bigger size than > one logical sector size at least. > > Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> > --- > > fs/partitions/msdos.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff -puN fs/partitions/msdos.c~part-support-4k-block-fix > fs/partitions/msdos.c > --- linux-2.6/fs/partitions/msdos.c~part-support-4k-block-fix > 2010-03-08 20:11:39.000000000 +0900 > +++ linux-2.6-hirofumi/fs/partitions/msdos.c 2010-03-08 > 20:32:19.000000000 +0900 > @@ -492,9 +492,16 @@ int msdos_partition(struct parsed_partit > if (!size) > continue; > if (is_extended_partition(p)) { > - /* prevent someone doing mkfs or mkswap on an > - extended partition, but leave room > for LILO */ > - put_partition(state, slot, start, size > == 1 ? 1 : 2); > + /* > + * prevent someone doing mkfs or mkswap on an > + * extended partition, but leave room for LILO > + * FIXME: this uses one logical sector > for > 512b > + * sector, although it may not be enough/proper. > + */ > + sector_t n = 2; > + n = min(size, max(sector_size, n)); > + put_partition(state, slot, start, n); > + > printk(" <"); > parse_extended(state, bdev, start, size); > printk(" >"); > _ > > -- > OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> >
| |