xfs
[Top] [All Lists]

Re: CONFIG_KIOBUF_IO broken on IDE

To: Andi Kleen <ak@xxxxxxx>
Subject: Re: CONFIG_KIOBUF_IO broken on IDE
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Wed, 31 May 2000 15:26:19 -0500
Cc: linux-xfs@xxxxxxxxxxx
References: <20000531210544.A31694@gruyere.muc.suse.de>
Sender: owner-linux-xfs@xxxxxxxxxxx
Andi Kleen wrote:

What version of the compiler are you using?
I found a bug with 2.95.3, I haven't tracked it down exactly, but it has 
something
to do with a particular area of code where we are bit shifting the buffer_head 
disk offset
field.

gcc version 2.91.66 works.


> I updated a XFS kernel with today's tree, created a new file system
> and tried to unpack a glibc-2.1 source rpm onto it. rpm -bp stopped
> with EIO on write after writing a few hundred files.
>
> The kernel log gave:
>
> start mounting filesystem: ide1(22,5)
> Ending clean XFS mount for filesystem: ide1(22,5)
> blocklog end: 12
> linvfs_read_super: sb root ino/128 inode/0xc5a011a0 icnt/2 vp/0xc5a012b0
> attempt to access beyond end of device
> 16:05: rw=0, want=38781096, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc119d150
> attempt to access beyond end of device
> 16:05: rw=0, want=38781096, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc119d150
> attempt to access beyond end of device
> 16:05: rw=0, want=38781096, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc119d150
>
> fs/page_buf.c is version 1.102
> fs/page_buf_locking.c is version 1.24
>
> Relevant .config:
>
> ONFIG_XFS_FS=m
> CONFIG_PAGE_BUF=y
> CONFIG_PAGE_BUF_LOCKING=y
> CONFIG_AVL=y
> # CONFIG_XFS_VNODE_TRACING is not set
> CONFIG_KIOBUF_IO=y
> CONFIG_AVL=y
>
> When CONFIG_KIOBUF_IO is disabled it seems to work. Looks like the support
> for non SCSI devices (XFS is on a IDE disk) in page_buf.c is broken.
>
> Now when trying to remove the directory tree created in the failed unpack
> above after a reboot gives funny effects too:
>
> rm -rf glibc-2.1
> rm: cannot remove directory `glibc-2.1/db': File exists
> rm: cannot remove directory `glibc-2.1/db2/progs': File exists
> rm: cannot remove directory `glibc-2.1/db2': File exists
> rm: cannot remove directory `glibc-2.1': File exists
> > find glibc-2.1 -ls
> 8388736    1 drwxr-xr-x   6 ak       users          46 Jun  1 04:44 glibc-2.1
> find: glibc-2.1/argp: No such file or directory
> 12583042    1 drwxr-xr-x   3 ak       users          18 Jun  1 04:43 
> glibc-2.1/db
> find: glibc-2.1/db/btree: No such file or directory
> 4194458    1 drwxr-xr-x   5 ak       users          40 Jun  1 04:43 
> glibc-2.1/db2
> find: glibc-2.1/db2/common: No such file or directory
> find: glibc-2.1/db2/mp: No such file or directory
> 29360271    1 drwxr-xr-x   3 ak       users          23 Jun  1 04:43 
> glibc-2.1/db2/progs
> find: glibc-2.1/db2/progs/db_dump185: No such file or directory
> find: glibc-2.1/elf: No such file or directory
>
> Looks like the disk structure is corrupted now. It gets now
> new messages in the system log [after executing the commands above]:
>
> ttempt to access beyond end of device
> 16:05: rw=0, want=38779324, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc11e5720
> attempt to access beyond end of device
> 16:05: rw=0, want=38779324, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc11e5720
> attempt to access beyond end of device
> 16:05: rw=0, want=38779324, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc11e5720
> attempt to access beyond end of device
> 16:05: rw=0, want=38779324, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc11e5720
> attempt to access beyond end of device
> 16:05: rw=0, want=38779324, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc11e5720
> attempt to access beyond end of device
> 16:05: rw=0, want=38779324, limit=8191984
> end_pg_buffer_io_async not uptodate 0 page 0xc11e5720
>
> The tree cannot be removed anymore.
>
> When I recompile without CONFIG_KIOBUF_IO the scary messages do not appear
> anymore, but it is still impossible to remove the tree. The libc unpack
> works now too.
>
> I would run fsck on it, but it seems to be impossible to umount a XFS
> file system now (umount gives EBUSY even when lsof shows nothing)
>
> -Andi


<Prev in Thread] Current Thread [Next in Thread>