simplify access to ecryptfs inodes in ->readpage() and friends
[safe/jmp/linux-2.6] / fs / ceph / ioctl.c
index 4c33e19..8a5bcae 100644 (file)
@@ -24,6 +24,8 @@ static long ceph_ioctl_get_layout(struct file *file, void __user *arg)
                l.stripe_count = ceph_file_layout_stripe_count(ci->i_layout);
                l.object_size = ceph_file_layout_object_size(ci->i_layout);
                l.data_pool = le32_to_cpu(ci->i_layout.fl_pg_pool);
+               l.preferred_osd =
+                       (s32)le32_to_cpu(ci->i_layout.fl_pg_preferred);
                if (copy_to_user(arg, &l, sizeof(l)))
                        return -EFAULT;
        }
@@ -79,7 +81,8 @@ static long ceph_ioctl_set_layout(struct file *file, void __user *arg)
        req->r_args.setlayout.layout.fl_object_size =
                cpu_to_le32(l.object_size);
        req->r_args.setlayout.layout.fl_pg_pool = cpu_to_le32(l.data_pool);
-       req->r_args.setlayout.layout.fl_pg_preferred = cpu_to_le32((s32)-1);
+       req->r_args.setlayout.layout.fl_pg_preferred =
+               cpu_to_le32(l.preferred_osd);
 
        err = ceph_mdsc_do_request(mdsc, parent_inode, req);
        ceph_mdsc_put_request(req);