X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fobdfs%2Frw.c;h=a07cd50a387ffc823cf48c3ee4c9d68c22276973;hp=1d6399f6de928de3046c25b452e6eed5d73f0b8c;hb=906f38ee0bc23a1b153fde2e9bf1063ccb0f40c9;hpb=d359f034cae55fcbb974283e41bd8a8c596651d6 diff --git a/lustre/obdfs/rw.c b/lustre/obdfs/rw.c index 1d6399f..a07cd50 100644 --- a/lustre/obdfs/rw.c +++ b/lustre/obdfs/rw.c @@ -44,13 +44,12 @@ int obdfs_brw(struct inode *dir, int rw, struct page *page, int create) #endif /* returns the page unlocked, but with a reference */ -int obdfs_readpage(struct file *file, struct page *page) +int obdfs_readpage(struct dentry *dentry, struct page *page) { - struct inode *inode = file->f_dentry->d_inode; + struct inode *inode = dentry->d_inode; int rc; ENTRY; - /* XXX flush stuff */ PDEBUG(page, "READ"); rc = iops(inode)->o_brw(READ, iid(inode),inode, page, 0); @@ -65,6 +64,23 @@ int obdfs_readpage(struct file *file, struct page *page) } +/* returns the page unlocked, but with a reference */ +static int obdfs_writepage(struct dentry *dentry, struct page *page) +{ + struct inode *inode = dentry->d_inode; + int rc; + + ENTRY; + PDEBUG(page, "WRITEPAGE"); + /* XXX flush stuff */ + + rc = iops(inode)->o_brw(WRITE, iid(inode), inode, page, 1); + + SetPageUptodate(page); + PDEBUG(page,"WRITEPAGE"); + return rc; +} + /* * This does the "real" work of the write. The generic routine has * allocated the page, locked it, done all the page alignment stuff @@ -94,7 +110,7 @@ int obdfs_write_one_page(struct file *file, struct page *page, unsigned long off if (bytes) { lock_kernel(); - status = obdfs_writepage(file, page); + status = obdfs_writepage(file->f_dentry, page); unlock_kernel(); } EXIT; @@ -107,23 +123,6 @@ int obdfs_write_one_page(struct file *file, struct page *page, unsigned long off -/* returns the page unlocked, but with a reference */ -int obdfs_writepage(struct file *file, struct page *page) -{ - struct inode *inode = file->f_dentry->d_inode; - int rc; - - ENTRY; - PDEBUG(page, "WRITEPAGE"); - /* XXX flush stuff */ - - rc = iops(inode)->o_brw(WRITE, iid(inode), inode, page, 1); - - SetPageUptodate(page); - PDEBUG(page,"WRITEPAGE"); - return rc; -} - void report_inode(struct page * page) { struct inode *inode = (struct inode *)0;