A little confusion. Just refer this structure in linux/ext2_fs_sb.h struct ext2_block_alloc_info { 46 /* information about reservation window */ 47 struct ext2_reserve_window_node rsv_window_node; 48 /* 49 * was i_next_alloc_block in ext2_inode_info 50 * is the logical (file-relative) number of the 51 * most-recently-allocated block in this file. 52 * We use this for detecting linearly ascending allocation requests. 53 */ 54 __u32 last_alloc_logical_block; 55 /* 56 * Was i_next_alloc_goal in ext2_inode_info 57 * is the *physical* companion to i_next_alloc_block. 58 * it the the physical block number of the block which was most-recentl 59 * allocated to this file. This give us the goal (target) for the next 60 * allocation when we detect linearly ascending requests. 61 */ 62 ext2_fsblk_t last_alloc_physical_block; 63}; this information is maintained by ext2 for every inode. here last_alloc_logical_block is for every inode or its for filesystem. I mean if we are allocating blocks for inode it can be block no. 0 to n logically and physically like 23 24 25 34 36 40 41 42 i mean to say is it like inode1 has logical blocks 1 2 3 , physical 22 23 24 inode2 has logical blocks 4 5 6 , physical 34 35 50 OR inode1 has logical blocks 0 1 2 , physical 22 23 24 inode2 has logical blocks 0 1 2 , physical 34 35 50 ?? -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ