diff options
-rw-r--r-- | fs/ceph/file.c | 1 | ||||
-rw-r--r-- | include/linux/ceph/osd_client.h | 2 | ||||
-rw-r--r-- | net/ceph/ceph_fs.c | 3 | ||||
-rw-r--r-- | net/ceph/osd_client.c | 1 |
4 files changed, 5 insertions, 2 deletions
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 18630e800208..f995e3528a33 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c | |||
@@ -1770,7 +1770,6 @@ const struct file_operations ceph_file_fops = { | |||
1770 | .fsync = ceph_fsync, | 1770 | .fsync = ceph_fsync, |
1771 | .lock = ceph_lock, | 1771 | .lock = ceph_lock, |
1772 | .flock = ceph_flock, | 1772 | .flock = ceph_flock, |
1773 | .splice_read = generic_file_splice_read, | ||
1774 | .splice_write = iter_file_splice_write, | 1773 | .splice_write = iter_file_splice_write, |
1775 | .unlocked_ioctl = ceph_ioctl, | 1774 | .unlocked_ioctl = ceph_ioctl, |
1776 | .compat_ioctl = ceph_ioctl, | 1775 | .compat_ioctl = ceph_ioctl, |
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index 96337b15a60d..a8e66344bacc 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
@@ -258,6 +258,8 @@ struct ceph_watch_item { | |||
258 | struct ceph_entity_addr addr; | 258 | struct ceph_entity_addr addr; |
259 | }; | 259 | }; |
260 | 260 | ||
261 | #define CEPH_LINGER_ID_START 0xffff000000000000ULL | ||
262 | |||
261 | struct ceph_osd_client { | 263 | struct ceph_osd_client { |
262 | struct ceph_client *client; | 264 | struct ceph_client *client; |
263 | 265 | ||
diff --git a/net/ceph/ceph_fs.c b/net/ceph/ceph_fs.c index 7d54e944de5e..dcbe67ff3e2b 100644 --- a/net/ceph/ceph_fs.c +++ b/net/ceph/ceph_fs.c | |||
@@ -34,7 +34,8 @@ void ceph_file_layout_from_legacy(struct ceph_file_layout *fl, | |||
34 | fl->stripe_count = le32_to_cpu(legacy->fl_stripe_count); | 34 | fl->stripe_count = le32_to_cpu(legacy->fl_stripe_count); |
35 | fl->object_size = le32_to_cpu(legacy->fl_object_size); | 35 | fl->object_size = le32_to_cpu(legacy->fl_object_size); |
36 | fl->pool_id = le32_to_cpu(legacy->fl_pg_pool); | 36 | fl->pool_id = le32_to_cpu(legacy->fl_pg_pool); |
37 | if (fl->pool_id == 0) | 37 | if (fl->pool_id == 0 && fl->stripe_unit == 0 && |
38 | fl->stripe_count == 0 && fl->object_size == 0) | ||
38 | fl->pool_id = -1; | 39 | fl->pool_id = -1; |
39 | } | 40 | } |
40 | EXPORT_SYMBOL(ceph_file_layout_from_legacy); | 41 | EXPORT_SYMBOL(ceph_file_layout_from_legacy); |
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index d9bf7a1d0a58..e6ae15bc41b7 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c | |||
@@ -4094,6 +4094,7 @@ int ceph_osdc_init(struct ceph_osd_client *osdc, struct ceph_client *client) | |||
4094 | osd_init(&osdc->homeless_osd); | 4094 | osd_init(&osdc->homeless_osd); |
4095 | osdc->homeless_osd.o_osdc = osdc; | 4095 | osdc->homeless_osd.o_osdc = osdc; |
4096 | osdc->homeless_osd.o_osd = CEPH_HOMELESS_OSD; | 4096 | osdc->homeless_osd.o_osd = CEPH_HOMELESS_OSD; |
4097 | osdc->last_linger_id = CEPH_LINGER_ID_START; | ||
4097 | osdc->linger_requests = RB_ROOT; | 4098 | osdc->linger_requests = RB_ROOT; |
4098 | osdc->map_checks = RB_ROOT; | 4099 | osdc->map_checks = RB_ROOT; |
4099 | osdc->linger_map_checks = RB_ROOT; | 4100 | osdc->linger_map_checks = RB_ROOT; |