Re: [PATCH] blockdev: Remove the --setbsz (set blocksize) option which has never worked.

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

 



On Tue, Oct 08, 2013 at 03:05:46PM +0100, Pádraig Brady wrote:
> On 10/08/2013 09:54 AM, Richard W.M. Jones wrote:
> > From: "Richard W.M. Jones" <rjones@xxxxxxxxxx>
> > 
> > This option has never worked.  If you try setting the block size on a
> > block device, and then read it using --getbsz, you will see that the
> > block size never changes.
> > 
> > The reason for this is because the block size is specific to the
> > current file descriptor opening the block device, so the change of
> > block size only persists for as long as blockdev has the device open,
> > and is lost once blockdev exits.
> > 
> > Also the block size is not really used anywhere.  Filesystems, for
> > example, have their own idea of block size and ignore this setting
> > completely.
> > 
> > (Thanks Masayoshi Mizuma for diagnosing the problem)
> > 
> > Signed-off-by: Richard W.M. Jones <rjones@xxxxxxxxxx>
> > ---
> >  bash-completion/blockdev | 7 +------
> >  disk-utils/blockdev.8    | 2 --
> >  disk-utils/blockdev.c    | 7 -------
> >  3 files changed, 1 insertion(+), 15 deletions(-)
> > 
> > diff --git a/bash-completion/blockdev b/bash-completion/blockdev
> > index ce986cb..5889955 100644
> > --- a/bash-completion/blockdev
> > +++ b/bash-completion/blockdev
> > @@ -19,7 +19,6 @@ _blockdev_module()
> >  		--getalignoff
> >  		--getmaxsect
> >  		--getbsz
> > -		--setbsz
> >  		--getsize64
> >  		--setra
> >  		--getra
> > @@ -29,11 +28,7 @@ _blockdev_module()
> >  		--rereadpt
> >  		$DEVS"
> >  	case $prev in
> > -		'--setbsz')
> > -			COMPREPLY=( $(compgen -W "bytes" -- $cur) )
> > -			return 0
> > -			;;
> > -		'--setbsz'|'--setfra')
> > +		'--setfra')
> >  			COMPREPLY=( $(compgen -W "sectors" -- $cur) )
> >  			return 0
> >  			;;
> > diff --git a/disk-utils/blockdev.8 b/disk-utils/blockdev.8
> > index 2b3d64c..6ab4324 100644
> > --- a/disk-utils/blockdev.8
> > +++ b/disk-utils/blockdev.8
> > @@ -67,8 +67,6 @@ Print sectorsize in bytes - usually 512.
> >  Get size in 512-byte sectors.
> >  .IP "\fB\-\-rereadpt\fP"
> >  Reread partition table
> > -.IP "\fB\-\-setbsz\fP \fIbytes\fP"
> > -Set blocksize.
> >  .IP "\fB\-\-setfra\fP \fIsectors\fP"
> >  Set filesystem readahead (same like --setra on 2.6 kernels).
> >  .IP "\fB\-\-setra\fP \fIsectors\fP"
> > diff --git a/disk-utils/blockdev.c b/disk-utils/blockdev.c
> > index 4543818..dc02d48 100644
> > --- a/disk-utils/blockdev.c
> > +++ b/disk-utils/blockdev.c
> > @@ -122,13 +122,6 @@ static const struct bdc bdcms[] =
> >  		.argval = -1,
> >  		.help = N_("get blocksize")
> >  	},{
> > -		IOCTL_ENTRY(BLKBSZSET),
> > -		.name = "--setbsz",
> > -		.argname = "<bytes>",
> > -		.argtype = ARG_INT,
> > -		.flags = FL_NORESULT,
> > -	        .help = N_("set blocksize")
> > -	},{
> >  		IOCTL_ENTRY(BLKGETSIZE),
> >  		.name = "--getsize",
> >  		.argtype = ARG_ULONG,
> > 
> 
> Might one process the adjusted block device in a subshell?
> 
> $ (blockdev --setbsz 2048 /dev/stdin; blockdev --getbsz /dev/stdin) < /dev/loop0
> 2048

Yes .. if that was documented anywhere, if it wasn't so obscure, and
if it was useful for anything except changing a handle property that
nothing uses.

There's an informative but unfortunately private exchange on the
subject in this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1002825

I have asked if we can make the contents of this bug public.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux