develooper Front page | perl.perl5.porters | Postings from January 2014

[perl #119623] GDBM_FILE: gdbm_open requires a blocksize to be a power of two

Thread Previous
From:
Linda Walsh via RT
Date:
January 31, 2014 06:20
Subject:
[perl #119623] GDBM_FILE: gdbm_open requires a blocksize to be a power of two
Message ID:
rt-4.0.18-20548-1391149224-338.119623-15-0@perl.org
On Wed Dec 11 18:56:53 2013, doughera wrote:
> On Wed, Dec 11, 2013 at 04:06:08PM -0800, James E Keenan via RT wrote:
> > Andy,
> >
> > Do you have any suggestions as to how we would test for the presence
> > of this problem?
> >
> > I think that would be a necessary first step toward a solution.
> 
> This problem only manifests itself on certain filesystems, which might
> not match the filesystem on which perl is built and tested.
> I don't see an easy and reliable way to test for it.  I think that
> checking for gdbm_open failing with the GDBM_BLOCK_SIZE_ERROR and then
> retrying with 1024 would probably be good enough.
-----------

It may be doable with other file sytems, but xfs has parameters to
specify the strip size and width.  I have stripes of 64K and had
a RAID 50 with 3 RAID5's.  Each member of the RAID5 had a 64K stripe
size, with 4 data disks -- total width 256k.  The striping of
those in a RAID0 with 3 units gave me the odd "optimal i/o size
of 3x256 => 756K.

To work around the problem I gave up on exposing the larger
optimal I/O and went with a 256K.

The linux "mkfs.xfs" Could be used to construct a virtual 
drive on a ram disk or in a file.  Wrote a quick bash script
to create such a disk on linux (assumes you are running as
root).  It's a quick and simple script but should be
easily modified or used as a ref to build something more
complex...(attached)


---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=119623

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About