sched: Prevent balance_push() on remote runqueues
[linux-2.6-microblaze.git] / fs / nfs / write.c
index 3bf8217..eae9bf1 100644 (file)
@@ -1810,6 +1810,7 @@ nfs_commit_list(struct inode *inode, struct list_head *head, int how,
                struct nfs_commit_info *cinfo)
 {
        struct nfs_commit_data  *data;
+       unsigned short task_flags = 0;
 
        /* another commit raced with us */
        if (list_empty(head))
@@ -1820,8 +1821,11 @@ nfs_commit_list(struct inode *inode, struct list_head *head, int how,
        /* Set up the argument struct */
        nfs_init_commit(data, head, NULL, cinfo);
        atomic_inc(&cinfo->mds->rpcs_out);
+       if (NFS_SERVER(inode)->nfs_client->cl_minorversion)
+               task_flags = RPC_TASK_MOVEABLE;
        return nfs_initiate_commit(NFS_CLIENT(inode), data, NFS_PROTO(inode),
-                                  data->mds_ops, how, RPC_TASK_CRED_NOREF);
+                                  data->mds_ops, how,
+                                  RPC_TASK_CRED_NOREF | task_flags);
 }
 
 /*