Re: ext4 extents

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

 





Hi Mike,

I'm updating a user space program that finds free blocks on a ext2/3 filesystem so that it works with ext4.  I'm concerned about how extents might affect my program.  My program currently looks only at the block allocation bitmaps.  Are the block allocation bitmaps still updated when an extent is created?

>> AFAIK block allocations bitmaps are sufficient to give you information related to block allocations, inode with extents should not 
>> make any difference because extents are just to make block reading efficient and can be used to represent a much bigger FS.

>From what I can tell, extent information is only stored in the inode, and is only a way to improve the efficiency of the process of creating the structure needed in the inode.  But I haven't been able to find out anything about whether the block allocation bitmap is updated at the same time.

>> As part of  extent inode allocation block bitmaps are updated for eg. you can refer to 
>> ext4_map_blocks
>>      ext4_ext_map_blocks ( Only called if inode has extents )
>>          ext4_free_blocks
>>               ext4_read_block_bitmap 

Regards,
Piyush

On Sat, Oct 29, 2011 at 3:33 AM, Mike Gibson <mike.gibson@xxxxxxxxxxxxxxxx> wrote:
I'm updating a user space program that finds free blocks on a ext2/3 filesystem so that it works with ext4.  I'm concerned about how extents might affect my program.  My program currently looks only at the block allocation bitmaps.  Are the block allocation bitmaps still updated when an extent is created?

>From what I can tell, extent information is only stored in the inode, and is only a way to improve the efficiency of the process of creating the structure needed in the inode.  But I haven't been able to find out anything about whether the block allocation bitmap is updated at the same time.

Do extents provide a new way of expressing which blocks are allocated on disk?  Or are the block allocation bitmaps still the canonical way to determine if a given block is in use?

Mike Gibson
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux