From: "Ali Ahmed Thawerani" <aaht14@gmail.com>
To: linux-kernel@vger.kernel.org, listar@nl.linux.org
Subject: PROBLEM how to sync page cache ?
Date: Wed, 8 Mar 2006 14:52:31 +0500 [thread overview]
Message-ID: <ca8cd3800603080152t5495d42chda434f1256a59a1b@mail.gmail.com> (raw)
i have written a wrapper for a block device. my wrapper is also
registered as a block device and i am obtaining the pointer bdev of
the wrapper block device by using the open_by_devnum function with
FMODE_READ | FMODE_WRITE
i want to sync the memory pages that are in the page cache for this
particular wrapper block device
what i am doing is using two functions filemap_fdatawrite and
filemap_fdatawait which take bdev->bd_inode->i_mapping as argument and
sync the data associated with a particular block device
the return status of these two functions is 0 which i think means no success
i have tried to figure out what can be the reason for this and i
followed the function calling that have been made
some of the possible reasons were: when
i_mapping->backing_dev_info->memory_backed is 1 then these functions
return 0 i have checked that this value is not greater than 0 moreover
i have also checked that the i_mapping->nr_pages are also greater than
0
i was not able to go any further
i am calling these two functions in a thread
there was also another problem that when there is some request coming
to my wrapper block device and wake up the thread which tries to sync
the page cache my system gets stuck may be both the threads are trying
to modify the inodes at the same time and none is succeeding
what i did to solve this problem that i used kernel timer if there is
no request in the request queue for jiffies + 30 then i wake up the
thread to sync the buffer cache and at the same time set a
flag........ as according to my assumption when buffer cache will sync
data will come to my wrapper block device and i have to requeue it to
avoid any sort of problem but the thing is no such thing happens that
is there is no new request in request queue at all
can any one help me out in this
next reply other threads:[~2006-03-08 9:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-08 9:52 Ali Ahmed Thawerani [this message]
2006-03-09 5:53 ` Ali Ahmed Thawerani
2006-03-10 12:50 ` Ali Ahmed Thawerani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca8cd3800603080152t5495d42chda434f1256a59a1b@mail.gmail.com \
--to=aaht14@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=listar@nl.linux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®