Re: mdadm grow size gives device or resource busy error

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

 



Thanks Ionut for this suggestion.

You are right, it works if we reassemble the array from a Live CD and then only shrink with --grow --size, thanks for the tip. However, this seems to show that there is a bug in the way mdadm handles this --grow --size, because in my procedure I was first unmounting the array, thus the command should have been worked.

It is like if mdadm thinks that the array is still mounted even if it is not and no files are accessed anymore. Also that is strange because when I mount and unmount the array from the LiveCD, the grow command still work, whereas when trying from the machine's OS where the array was created, it doesn't work.

Can someone else confirm this bug and would it be possible to solve it?

Thanks,
Daniel


I had this problems too...the fix i have found was to use a Live CD,
rebuild array and then shrink...but maybe someone have a better idea.


On Tue, Jan 15, 2013 at 11:09 PM, dan1 <dan1@xxxxxxxxxxxx> wrote:

Hi,


I am trying to shrink an md partition to lower its size but that fails
with
an error message.

My context is the following:
/dev/md2 has 3 partitions: /dev/sdb3; /dev/sdc3; /dev/sdd3
The array is 480 Gbytes big (only 30 Gbytes used).
I want to resize it to 100Gbytes (hosting company only allows that size).

Following a procedure, I first resize the partition to 70Gbytes to let
some
space:
umount /dev/md2
e2fsck /dev/md2
resize2fs /dev/md2 70G

Then, I disable the bitmap:
mdadm --grow /dev/md2 --bitmap none
And I shrink the array to 100Gbytes (201x512x1024):
mdadm --grow /dev/md2 --size=105381888

Doing this, it produces the following error message:
mdadm: Cannot set size on array members.
mdadm: Cannot set device size for /dev/md2: Device or resource busy

If I look at the messages with "dmesg | tail" there is no error message
due
to that manipulation.
Some things to check:
1. No rebuild is in progress (with cat /proc/mdstat): OK
2. The array is unmounted: OK
3. The proble doesn't come from the bitmap as it has been disabled before.
OK
4. Opened files related to the md2 device are the following:
lsof | grep md2
md2_raid1    403    root    cwd    DIR    9,91    4096    2 /
md2_raid1    403    root    rtd      DIR    9,91    4096    2 /
md2_raid1    403    root    txt  unknown                        /
proc/403/exe

I don't know if this is ok or not but I assume it is fine as I didn't
mount
the array and didn't put any file on it in this session.

The versions of my system are the following:
Linux CentOS 6.3
mdadm V3.2.3

Thanks for any help.

Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




--
Best regards,
Ionut

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux