struct page *rq_page; /* page to be written */
};
+void obdfs_print_list(struct list_head *page_list) {
+ struct list_head *tmp;
+
+ while ( (tmp = tmp->next) != page_list) {
+ struct obdfs_pgrq *pgrq;
+ pgrq = list_entry(tmp, struct obdfs_pgrq, rq_plist);
+ CDEBUG(D_INODE, "page %p\n", pgrq->rq_page);
+ }
+}
+
inline void obdfs_pgrq_del(struct obdfs_pgrq *pgrq);
int obdfs_do_vec_wr(struct super_block *sb, obd_count num_io, obd_count num_oa,
struct obdo **obdos, obd_count *oa_bufs,
{
struct list_head *page_list = obdfs_iplist(inode);
struct list_head *tmp;
- struct obdfs_pgrq *pgrq;
ENTRY;
CDEBUG(D_INODE, "looking for inode %ld page %p\n", inode->i_ino, page);
}
tmp = page_list;
while ( (tmp = tmp->next) != page_list ) {
+ struct obdfs_pgrq *pgrq;
+
pgrq = list_entry(tmp, struct obdfs_pgrq, rq_plist);
CDEBUG(D_INODE, "checking page %p\n", pgrq->rq_page);
if (pgrq->rq_page == page) {
list_add(obdfs_islist(inode), obdfs_slist(inode));
}
+
EXIT;
/* XXX For testing purposes, we write out the page here.
* In the future, a flush daemon will write out the page.