xfs
[Top] [All Lists]

Re: dm_write_invis() blocking problem

To: Dean Roehrich <roehrich@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: dm_write_invis() blocking problem
From: Mike Montour <mmontour@xxxxxxxxxx>
Date: Thu, 12 Feb 2004 14:06:02 -0800
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: <402BF7B5.2040109@bycast.com>
References: <200402111837.i1BIb09i8169144@clink.americas.sgi.com> <402BF7B5.2040109@bycast.com>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007
Mike Montour wrote:

(attachment that should've been on my previous msg)

dmapi test program


linux:~ # ./dmapi_test
SGI DMAPI (XDSM) API, Release 1.0.
Waiting for event...
Got DM_EVENT_TRUNCATE, de_offset 0, de_length 0
Requesting DM_RIGHT_EXCL
Calling dm_write_invis()


what the kernel debugger says


0xdf35e000     6215     6096  0    0   D  0xdf35e270  dmapi_test
EBP        EIP        Function (args)
0xdf35fd1c 0xc0117b77 schedule+0x227 (0x1, 0xdf35e000, 0xe42b537c, 0xe42b537c, 
0xe42b5374)
                               kernel .text 0xc0100000 0xc0117950 0xc0117c90
0xdf35fd40 0xc0107d1d __down+0x4d (0xe42b5374, 0x0, 0x0)
                               kernel .text 0xc0100000 0xc0107cd0 0xc0107d70
0xdf35fd54 0xc0107e77 __down_failed+0xb (0x6, 0xdf35fd84, 0xdee00044, 0x46, 
0xe42b52ec)
                               kernel .text 0xc0100000 0xc0107e6c 0xc0107e80
           0xc01f3ff0 .text.lock.xfs_file+0x49
                               kernel .text 0xc0100000 0xc01f3fa7 0xc01f4020
0xdf35fd94 0xc01f3ecf __linvfs_write+0x9f (0xdf35fde8, 0x804a588, 0x20, 0x64, 
0xdf35fde0)
                               kernel .text 0xc0100000 0xc01f3e30 0xc01f3fa7
0xdf35fdb0 0xc01f3e2e linvfs_write_invis+0x2e (0xe42b52ec, 0x2, 0x0, 0x0, 0x0)
                               kernel .text 0xc0100000 0xc01f3e00 0xc01f3e30
0xdf35fee0 0xc02019af dm_write_invis_rvp+0xbf (0x2a, 0xbffff4f0, 0x18, 0x2a, 
0x0)
                               kernel .text 0xc0100000 0xc02018f0 0xc02019d0
0xdf35ff8c 0xc01fec40 dmapi_ioctl+0x170 (0xf639c884, 0xf57b7d24, 0x38, 
0xbffff360, 0xf57b7d24)
                               kernel .text 0xc0100000 0xc01fead0 0xc01ff700
0xdf35ffbc 0xc014b387 sys_ioctl+0x217 (0x3, 0x38, 0xbffff360, 0x40018420, 
0xbffff634)
                               kernel .text 0xc0100000 0xc014b170 0xc014b3e0
           0xc01090eb system_call+0x33
                                                           kernel .text 
0xc0100000 0xc01090b8 0xc01090f0


the test program simply creates/opens a file with the truncate flag


linux:~ #./CreateTruncate /mnt/TESTFILE
Open File [/mnt/TESTFILE] with truncate flag


what the kernel debugger says


Stack traceback for pid 6216
0xdf364000     6216     1848  0    0   S  0xdf364270  CreateTruncate
EBP        EIP        Function (args)
0xdf365c48 0xc0117b77 schedule+0x227 (0x20000, 0x16e7e0, 0x2, 0xdf35fecc, 0x46)
                               kernel .text 0xc0100000 0xc0117950 0xc0117c90
0xdf365c84 0xc011793e schedule_timeout+0x9e (0xf5fd7704, 0xe572fda8, 
0xdf364000, 0xe460d0a4, 0x0)
                               kernel .text 0xc0100000 0xc01178a0 0xc0117940
0xdf365cfc 0xc0206932 dm_enqueue+0x222 (0xe572fd84, 0x0, 0xf5fd7704, 0x1, 0x0)
                               kernel .text 0xc0100000 0xc0206710 0xc0206a30
0xdf365d2c 0xc0206aaf dm_enqueue_normal_event+0x7f (0xe26e6b6c, 0xf5fd7704, 
0x0, 0xf5fd7704, 0x0)
                               kernel .text 0xc0100000 0xc0206a30 0xc0206ad0
0xdf365d5c 0xc020058d dm_send_data_event+0xfd (0x12, 0xe42b52ec, 0x0, 0x0, 0x0)
                               kernel .text 0xc0100000 0xc0200490 0xc02005c0
0xdf365d9c 0xc0206d0e xfs_dm_send_data_event+0x8e (0x12, 0xe42b52ec, 0x0, 0x0, 
0x0)
                               kernel .text 0xc0100000 0xc0206c80 0xc0206d40
0xdf365e20 0xc01e9131 xfs_setattr+0xf41 (0xe42c41e4, 0xdf365e40, 0x0, 0x0, 
0xe42b52ec)
                               kernel .text 0xc0100000 0xc01e81f0 0xc01e9190
0xdf365ebc 0xc01f6e58 linvfs_setattr+0x108 (0xeaad7c38, 0xdf365ef8, 0x48, 
0xe42b5374, 0xe42b5384)
                               kernel .text 0xc0100000 0xc01f6d50 0xc01f6f10
0xdf365edc 0xc0152f2d notify_change+0xfd (0xeaad7c38, 0xdf365ef8, 0xe42c41c4, 
0x0, 0x0)
                               kernel .text 0xc0100000 0xc0152e30 0xc0152fe0
0xdf365f34 0xc013af05 do_truncate+0x75 (0xeaad7c38, 0x0, 0x0, 0xdf365f84, 0x0)
                               kernel .text 0xc0100000 0xc013c010 0xc013c0c0
           0xc01090eb system_call+0x33
                               kernel .text 0xc0100000 0xc01090b8 0xc01090f0
<Prev in Thread] Current Thread [Next in Thread>