Issue 5: Block groups spanning over multiple devices.
Reported by postri...@gmail.com, Dec 18, 2008
if i have three disks of details below

disk A size 850 MB IDE
disk B size 900MB sata
disk C size 1000 MB pen drive

I will join all the three disks using the LVM

I will then format using ext2 FS and will have a single file system
over the three devices ( i may be wrong here)

Now suppose we have block group size as 100 MB

then the block groups will be spread over the LVM disk the logically
combined disk by LVM

so the 8th block group(counting from 0) will have 50 MBs on disk A and 50 MBs

Thus if the user says

disk A will act as tier 1
disk B will act as tier 2
disk C will act as tier 3

and we will have a table of sort

block groups 0 - 8 tier 1
block groups 9 - 17 tier 2
block groups 18 - 27 tier 3

then some files which have been allocated space in 8th block group of
ext2 partition will get blocks in the tier 2 or disk B actually

The problem here is :

It may result in performance degradation

The solution is :

-> We can answer "the performance degradation is not significant as it
will happen in atmost n block groups if the number of disks on the
system is n

-> This thing happens also in the case of the last block group of any
ext2 partition not having size equal to multiple of block group size.
So we can see the code and know how ext2 handles it and do it in our
code also

-> any other ideas ?
Dec 18, 2008
Project Member #1 sandeepksinha
Rohit, Vineet can you kindly reply to this !!!

Summary: Block groups spanning over multiple devices.
Dec 18, 2008
Project Member #2 checkout...@gmail.com
I think there could be a solution to it

For Allocation we have a incore  VFS inode or dirty inode  we sink the inode onto disk

For this we have to first find the Blockgroup then we find the inode in that
Blockgroup where we have to sink the data. Inode would be in some sector in tier and
then the associated sector can be checked that whether the sector lie in respected
tier else we would allocate a new Blockgroup which would lie in that tier or  we
would provide error message stating couldn't allocate.
Dec 18, 2008
Project Member #3 sandeepksinha
The status cannot be "accepted", as we have not concluded to any final decision.
Status: Started
Dec 21, 2008
Project Member #4 sandeepksinha
We need to take a final call on this asap ?
Kindly give your opinion on each of these, we will face this issue tomorrow as well
for rohit's model.
It will be clearer by tomorrow that whether we will see this issue practically or not ?

Rishi, you being the owner you have to keep track of this and have to take it to
completion by coming tuesday.
Status: In-progress
Dec 22, 2008
Project Member #5 checkout...@gmail.com
In regard to the above problem I think there exist two solution :

1. Either to leave the block group which is spanning over multiple devices and carry
no block allocation for that block group.

2. Or we can allocate the block in that block group after checking two things
firstly, the physical position (on disk) of the allocated block in the block group by
the help of block number and secondly whether it is following the policy rule for
that tier.

Dec 22, 2008
Project Member #6 sandeepksinha
What do others have to say about this ?
RKS, Rishi any insights ??
Dec 24, 2008
#7 postri...@gmail.com
As per the phase I of ext2yaan we are just removing the disputed block groups from
the list of block group range.

We will work as if those block group numbers does not exist at all.

An optimized and final solution will be thought upon in the optimization phase of the
project. 
Status: WontFix