From: Toshiyuki Okajima Date: Mon, 8 Jun 2009 16:41:35 +0000 (-0400) Subject: ext4: fix dx_map_entry to support 256k directory blocks X-Git-Tag: v2.6.31-rc1~396^2~2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9aee2286071c23c535fe9928eec1a26e0bcf256d;p=pandora-kernel.git ext4: fix dx_map_entry to support 256k directory blocks The dx_map_entry structure doesn't support over 64KB block size by current usage of its member("offs"). Because "offs" treats an offset of copies of the ext4_dir_entry_2 structure as is. This member size is 16 bits. But real offset for over 64KB(256KB) block size needs 18 bits. However, real offset keeps 4 byte boundary, so lower 2 bits is not used. Therefore, we do the following to fix this limitation: For "store": we divide the real offset by 4 and then store this result to "offs" member. For "use": we multiply "offs" member by 4 and then use this result as real offset. Signed-off-by: Toshiyuki Okajima Signed-off-by: "Theodore Ts'o" --- Reading git-diff-tree failed