[Lustre-discuss] lustre e2fsck corrupts files by changing i_size

7 views
Skip to first unread message

Cédric Lambert

unread,
Oct 4, 2007, 9:12:16 AM10/4/07
to lustre-discuss, bu...@lists.clusterfs.com
Hello,

We have an IA64 cluster with 64K kernel page size and we use lustre
1.4.8.1 and e2fsprogs-1.39cfs8.
We meet the following problem :
1. I Create a Lustre file system, then start this file system and mount
it on a client node
2. On this client node, I copy 2 files in my /mnt/lustre
3. I umount Lustre file system on this client node then stop Lustre file
system
4. I use then : /usr/lib/lustre/e2fsck /dev/OSTs-device

And big surprise : for each files created on the Lustre file system, it
displays the following :
Pass 1: Checking inodes, blocks, and sizes
Inode 163882, i_size is 199041, should be 262144. Fix?

The real size of my file is 199041 ! So if I choose "Yes" to the
question, This file will be corrupted.

Additional info : my device Block size is 4096

I think there is an error in the test code of the phase1. What do you
think ? Do I need to open a bugzilla for this very serious problem for
us or do I miss something ?

I tested this case with e2fsprogs-1.39-cfs8 and e2fsprogs-cfs2 and I
didn't find a ChangeLog for e2fsprogs provided by CFS. So perhaps this
problem is corrected in another release ?

Regards,
Cédric Lambert

_______________________________________________
Lustre-discuss mailing list
Lustre-...@clusterfs.com
https://mail.clusterfs.com/mailman/listinfo/lustre-discuss

Andreas Dilger

unread,
Oct 11, 2007, 7:05:51 PM10/11/07
to C�dric Lambert, lustre-discuss, bu...@clusterfs.com
On Oct 04, 2007 15:12 +0200, C�dric Lambert wrote:
> We have an IA64 cluster with 64K kernel page size and we use lustre
> 1.4.8.1 and e2fsprogs-1.39cfs8.
> We meet the following problem :
> 1. I Create a Lustre file system, then start this file system and mount
> it on a client node
> 2. On this client node, I copy 2 files in my /mnt/lustre
> 3. I umount Lustre file system on this client node then stop Lustre file
> system
> 4. I use then : /usr/lib/lustre/e2fsck /dev/OSTs-device
>
> And big surprise : for each files created on the Lustre file system, it
> displays the following :
> Pass 1: Checking inodes, blocks, and sizes
> Inode 163882, i_size is 199041, should be 262144. Fix?
>
> The real size of my file is 199041 ! So if I choose "Yes" to the
> question, This file will be corrupted.
>
> Additional info : my device Block size is 4096
>
> I think there is an error in the test code of the phase1. What do you
> think ? Do I need to open a bugzilla for this very serious problem for
> us or do I miss something ?

To follow up on this, bug 13812 was filed and a defect in e2fsck was
found. This will be fixed in the upcoming e2fsprogs-1.40.2-cfs2 release.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

Reply all
Reply to author
Forward
0 new messages