Merge branch 'bugfixes' into linux-next
authorTrond Myklebust <trond.myklebust@primarydata.com>
Sun, 13 Jul 2014 19:22:02 +0000 (15:22 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Sun, 13 Jul 2014 19:22:02 +0000 (15:22 -0400)
* bugfixes:
  NFS: Don't reset pg_moreio in __nfs_pageio_add_request
  NFS: Remove 2 unused variables
  nfs: handle multiple reqs in nfs_wb_page_cancel
  nfs: handle multiple reqs in nfs_page_async_flush
  nfs: change find_request to find_head_request
  nfs: nfs_page should take a ref on the head req
  nfs: mark nfs_page reqs with flag for extra ref
  nfs: only show Posix ACLs in listxattr if actually present

Conflicts:
fs/nfs/write.c

1  2 
fs/nfs/direct.c
fs/nfs/internal.h
fs/nfs/nfs3proc.c
fs/nfs/pagelist.c
fs/nfs/write.c

diff --cc fs/nfs/direct.c
index 2a3293a5dda01e65e6c9c81f35e7f2768df042a2,f11b9eed0de109d057cd86ef42c577400698992c..65ef6e00deee428a601e5534e2d4db6489199bf9
@@@ -752,11 -759,11 +752,9 @@@ static void nfs_direct_write_completion
  
                req = nfs_list_entry(hdr->pages.next);
                nfs_list_remove_request(req);
 -              switch (bit) {
 -              case NFS_IOHDR_NEED_RESCHED:
 -              case NFS_IOHDR_NEED_COMMIT:
 +              if (request_commit) {
                        kref_get(&req->wb_kref);
                        nfs_mark_request_commit(req, hdr->lseg, &cinfo);
-                       do_destroy = false;
                }
                nfs_unlock_and_release_request(req);
        }
index da36257628c590238ad120190fe4fe3e3a81a057,f415cbf9f6c3f99a208005f39c7ce206ee2b1587..2f19e8392eb3464de12b6c9a7539db2d81845ced
@@@ -238,12 -238,13 +238,13 @@@ void nfs_set_pgio_error(struct nfs_pgio
  int nfs_iocounter_wait(struct nfs_io_counter *c);
  
  extern const struct nfs_pageio_ops nfs_pgio_rw_ops;
 -struct nfs_rw_header *nfs_rw_header_alloc(const struct nfs_rw_ops *);
 -void nfs_rw_header_free(struct nfs_pgio_header *);
 -void nfs_pgio_data_release(struct nfs_pgio_data *);
 +struct nfs_pgio_header *nfs_pgio_header_alloc(const struct nfs_rw_ops *);
 +void nfs_pgio_header_free(struct nfs_pgio_header *);
 +void nfs_pgio_data_destroy(struct nfs_pgio_header *);
  int nfs_generic_pgio(struct nfs_pageio_descriptor *, struct nfs_pgio_header *);
 -int nfs_initiate_pgio(struct rpc_clnt *, struct nfs_pgio_data *,
 +int nfs_initiate_pgio(struct rpc_clnt *, struct nfs_pgio_header *,
                      const struct rpc_call_ops *, int, int);
+ void nfs_free_request(struct nfs_page *req);
  
  static inline void nfs_iocounter_init(struct nfs_io_counter *c)
  {
Simple merge
Simple merge
diff --cc fs/nfs/write.c
Simple merge