Commit 729437e3 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'for-linus-5.14-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux

Pull orangefs updates from Mike Marshall:
 "A read-ahead adjustment and a fix.

  The readahead adjustment was suggested by Matthew Wilcox and looks
  like how I should have written it in the first place... the "df fix"
  was suggested by Walt Ligon, some Orangefs users have been complaining
  about whacky df output..."

* tag 'for-linus-5.14-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
  orangefs: fix orangefs df output.
  orangefs: readahead adjustment
parents 7a5e9a17 0fdec1b3
...@@ -249,8 +249,7 @@ static void orangefs_readahead(struct readahead_control *rac) ...@@ -249,8 +249,7 @@ static void orangefs_readahead(struct readahead_control *rac)
{ {
loff_t offset; loff_t offset;
struct iov_iter iter; struct iov_iter iter;
struct file *file = rac->file; struct inode *inode = rac->mapping->host;
struct inode *inode = file->f_mapping->host;
struct xarray *i_pages; struct xarray *i_pages;
struct page *page; struct page *page;
loff_t new_start = readahead_pos(rac); loff_t new_start = readahead_pos(rac);
...@@ -269,14 +268,14 @@ static void orangefs_readahead(struct readahead_control *rac) ...@@ -269,14 +268,14 @@ static void orangefs_readahead(struct readahead_control *rac)
readahead_expand(rac, new_start, new_len); readahead_expand(rac, new_start, new_len);
offset = readahead_pos(rac); offset = readahead_pos(rac);
i_pages = &file->f_mapping->i_pages; i_pages = &rac->mapping->i_pages;
iov_iter_xarray(&iter, READ, i_pages, offset, readahead_length(rac)); iov_iter_xarray(&iter, READ, i_pages, offset, readahead_length(rac));
/* read in the pages. */ /* read in the pages. */
if ((ret = wait_for_direct_io(ORANGEFS_IO_READ, inode, if ((ret = wait_for_direct_io(ORANGEFS_IO_READ, inode,
&offset, &iter, readahead_length(rac), &offset, &iter, readahead_length(rac),
inode->i_size, NULL, NULL, file)) < 0) inode->i_size, NULL, NULL, rac->file)) < 0)
gossip_debug(GOSSIP_FILE_DEBUG, gossip_debug(GOSSIP_FILE_DEBUG,
"%s: wait_for_direct_io failed. \n", __func__); "%s: wait_for_direct_io failed. \n", __func__);
else else
......
...@@ -209,7 +209,7 @@ static int orangefs_statfs(struct dentry *dentry, struct kstatfs *buf) ...@@ -209,7 +209,7 @@ static int orangefs_statfs(struct dentry *dentry, struct kstatfs *buf)
buf->f_bavail = (sector_t) new_op->downcall.resp.statfs.blocks_avail; buf->f_bavail = (sector_t) new_op->downcall.resp.statfs.blocks_avail;
buf->f_files = (sector_t) new_op->downcall.resp.statfs.files_total; buf->f_files = (sector_t) new_op->downcall.resp.statfs.files_total;
buf->f_ffree = (sector_t) new_op->downcall.resp.statfs.files_avail; buf->f_ffree = (sector_t) new_op->downcall.resp.statfs.files_avail;
buf->f_frsize = sb->s_blocksize; buf->f_frsize = 0;
out_op_release: out_op_release:
op_release(new_op); op_release(new_op);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment