linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Karel Zak <kzak@redhat.com>
To: Andries Brouwer <aeb@cwi.nl>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jens Axboe <axboe@kernel.dk>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 1/2] partitions: use sector size for EFI GPT
Date: Mon, 9 Nov 2009 14:08:27 +0100	[thread overview]
Message-ID: <20091109130827.GO5610@nb.net.home> (raw)
In-Reply-To: <1256294176-32113-1-git-send-email-kzak@redhat.com>

On Fri, Oct 23, 2009 at 12:36:15PM +0200, Karel Zak wrote:
> Currently, kernel uses strictly 512-byte sectors for EFI GPT parsing.
> That's wrong.

 Ping? Does anyone care about new disks with non-512byte sectors? 
 (or fs/partitions is unmaintained area? ;-)

 Note that since 2.6.31 kernel properly reports topology information
 to userspace and many userspace tools (fdisk, parted, anaconda,
 libblkid, mkfs.xfs, mkfs.ext, ...) are able to follow such information.
 
 The current kernel EFI GPT code in not compatible with the latest 
 userspace and GPT partitions on disks with >512byte sectors will be 
 *invisible* for Linux kernel.

    Karel

> UEFI standard (version 2.3, May 2009, 5.3.1 GUID Format overview, page
> 95) defines that LBA is always based on the logical block size. It
> means bdev_logical_block_size() (aka BLKSSZGET) for Linux.
> 
> This patch removes static sector size from EFI GPT parser.
> 
> The problem is reproducible with the latest GNU Parted:
> 
>  # modprobe scsi_debug dev_size_mb=50 sector_size=4096
> 
>   # ./parted /dev/sdb print
>   Model: Linux scsi_debug (scsi)
>   Disk /dev/sdb: 52.4MB
>   Sector size (logical/physical): 4096B/4096B
>   Partition Table: gpt
> 
>   Number  Start   End     Size    File system  Name     Flags
>    1      24.6kB  3002kB  2978kB               primary
>    2      3002kB  6001kB  2998kB               primary
>    3      6001kB  9003kB  3002kB               primary
> 
>   # blockdev --rereadpt /dev/sdb
>   # dmesg | tail -1
>    sdb: unknown partition table      <---- !!!
> 
> with this patch:
> 
>   # blockdev --rereadpt /dev/sdb
>   # dmesg | tail -1
>    sdb: sdb1 sdb2 sdb3

-- 
 Karel Zak  <kzak@redhat.com>

  parent reply	other threads:[~2009-11-09 13:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-23 10:36 [PATCH 1/2] partitions: use sector size for EFI GPT Karel Zak
2009-10-23 10:36 ` [PATCH 2/2] partitions: read whole sector with EFI GPT header Karel Zak
2009-11-09 13:08 ` Karel Zak [this message]
2009-11-09 19:50   ` [PATCH 1/2] partitions: use sector size for EFI GPT Jens Axboe
2009-11-09 19:58   ` Andries E. Brouwer
2009-11-09 21:33     ` Karel Zak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091109130827.GO5610@nb.net.home \
    --to=kzak@redhat.com \
    --cc=aeb@cwi.nl \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).