xfs
[Top] [All Lists]

Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inode

To: Eryu Guan <eguan@xxxxxxxxxx>
Subject: Re: [PATCH block/for-linus] writeback: fix syncing of I_DIRTY_TIME inodes
From: Tejun Heo <tj@xxxxxxxxxx>
Date: Thu, 20 Aug 2015 09:55:37 -0700
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, Jens Axboe <axboe@xxxxxxxxx>, Jan Kara <jack@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, axboe@xxxxxx, Jan Kara <jack@xxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx, kernel-team@xxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=SuRJI9bLIUKqfcKzB7/oQUJ0sKsmBnCwkh/mOneb7SU=; b=AxIIXVJwAoqCaakuFzMDUonhBXzrhX9qu9eT7o/aLFGg8AauRtLY+DbnAOXQf2BsKc VGH/oxPi/El6yIJ8zY2W1jRw1FjcnaV8UplN1E2lajTJLkR5g3QEyhSdWj6c216/0qwt hewcIgh6BQ99V7Vvjvyr6b+Iwq0oW+4Chaoy2KpT1BkPfYV5IooD41q+FnH7llucDPCZ pcPNmD+qKVMUoT0aSV9+tKYgAi4ajYk6qSP3u1P/lNIuH/vM5TDrNK0ZNNnHgSai4vtq TlN5U43NRA4QCamdYCFkq1H7OzdzlnJs6Ht+DLBMamIVJFoqlCscgqz1z36nnkzh9PEy 664w==
In-reply-to: <20150820143735.GJ17933@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20150813224415.GG4496@xxxxxxxxxxxxxxx> <20150814111408.GB8710@xxxxxxxxxxxxx> <20150817200254.GG21075@xxxxxxxxxxxxxxx> <20150818091603.GA12317@xxxxxxxxxxxxx> <20150818174718.GA15739@xxxxxxxxxxxxxxx> <20150818195439.GB15739@xxxxxxxxxxxxxxx> <20150818215611.GD3902@dastard> <20150820061224.GG17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150820143626.GI17933@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20150820143735.GJ17933@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: Tejun Heo <htejun@xxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
Hello, Eryu.  Thanks a lot for the trace.

So, this is from the end of the trace from the failed test.

...
    kworker/u8:1-1563  [002] 22016.987530: xfs_writepage:        dev 253:6 ino 
0xef64fe pgoff 0x9ff000 size 0xa00000 offset 0 length 0 delalloc 1 unwritten 0
     kworker/2:1-49    [002] 22017.373595: xfs_setfilesize:      dev 253:6 ino 
0xef6504 isize 0xa00000 disize 0x0 offset 0x0 count 10481664
...

Maybe I'm misunderstanding the code but all xfs_writepage() calls are
from unbound workqueues - the writeback workers - while
xfs_setfilesize() are from bound workqueues, so I wondered why that
was and looked at the code and the setsize functions are run off of a
separate work item which is queued from the end_bio callback and I
can't tell who would be waiting for them.  Dave, what am I missing?

Thanks.

-- 
tejun

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