Re: i_size error with the latest patchqueue

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

 



On Thu, Jul 31, 2008 at 11:41:39AM -0500, Eric Sandeen wrote:
> Aneesh Kumar K.V wrote:
> > Hi Ted,
> > 
> > I haven't yet looked at whether it is kernel or e2fsck bug.
> > But I am having this with the latest patch queue when running
> > fsstress. The fsstress have falloc added as a supported operation.
> > So it is mostly to do with fallocate. Architecture is x86.
> > 
> > The tests performed are
> > 
> >                chown 3/39 write op
> >                creat 4/39 write op
> >                dread 4/39  
> >            fdatasync 1/39 write op
> >                fsync 1/39 write op
> >             getdents 1/39  
> >                 link 1/39 write op
> >                mkdir 2/39 write op
> >                mknod 2/39 write op
> >                 read 1/39  
> >             readlink 1/39  
> >               rename 2/39 write op
> >                rmdir 1/39 write op
> >                 stat 1/39  
> >              symlink 2/39 write op
> >                 sync 1/39  
> >             truncate 2/39 write op
> >               unlink 1/39 write op
> >                write 4/39 write op
> >            fallocate 4/39 write op
> > 
> > seed = 1218256896
> > 
> > 
> > /usr/local/e2fsprogs/sbin/e2fsck -fnv /dev/sdb1
> > e2fsck 1.41.0 (10-Jul-2008)
> > Pass 1: Checking inodes, blocks, and sizes
> > Inode 10093, i_size is 974599, should be 999424.  Fix? no
> 
> are those due to blocks beyond EOF, I assume?  How is fallocate being
> called in fsstress?
> 

lr = ((__int64_t)random() << 32) + random();
off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
off %= maxfsize;
len = (random() % (getpagesize() * 32)) + 1;
#ifdef __i386__
#define __NR_fallocate          324
e = syscall(__NR_fallocate, fd, 0, off, len) < 0 ? errno : 0;
#elif defined (__powerpc__)
#define __NR_fallocate          309
e = syscall(__NR_fallocate, fd, 0, 0, (unsigned int)off, 0, (unsigned int) len) < 0 ?  errno : 0;
#elif defined (__x86_64__)
#define __NR_fallocate 285
e = syscall(__NR_fallocate, fd, 0, off, len) < 0 ?  errno : 0;
#endif

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux