|
@@ -79,7 +79,7 @@ static size_t ceph_vxattrcb_dir_rbytes(struct ceph_inode_info *ci, char *val,
|
|
static size_t ceph_vxattrcb_dir_rctime(struct ceph_inode_info *ci, char *val,
|
|
static size_t ceph_vxattrcb_dir_rctime(struct ceph_inode_info *ci, char *val,
|
|
size_t size)
|
|
size_t size)
|
|
{
|
|
{
|
|
- return snprintf(val, size, "%ld.%ld", (long)ci->i_rctime.tv_sec,
|
|
|
|
|
|
+ return snprintf(val, size, "%ld.09%ld", (long)ci->i_rctime.tv_sec,
|
|
(long)ci->i_rctime.tv_nsec);
|
|
(long)ci->i_rctime.tv_nsec);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -118,10 +118,15 @@ static size_t ceph_vxattrcb_file_layout(struct ceph_inode_info *ci, char *val,
|
|
(unsigned long long)ceph_file_layout_su(ci->i_layout),
|
|
(unsigned long long)ceph_file_layout_su(ci->i_layout),
|
|
(unsigned long long)ceph_file_layout_stripe_count(ci->i_layout),
|
|
(unsigned long long)ceph_file_layout_stripe_count(ci->i_layout),
|
|
(unsigned long long)ceph_file_layout_object_size(ci->i_layout));
|
|
(unsigned long long)ceph_file_layout_object_size(ci->i_layout));
|
|
- if (ceph_file_layout_pg_preferred(ci->i_layout))
|
|
|
|
- ret += snprintf(val + ret, size, "preferred_osd=%lld\n",
|
|
|
|
|
|
+
|
|
|
|
+ if (ceph_file_layout_pg_preferred(ci->i_layout) >= 0) {
|
|
|
|
+ val += ret;
|
|
|
|
+ size -= ret;
|
|
|
|
+ ret += snprintf(val, size, "preferred_osd=%lld\n",
|
|
(unsigned long long)ceph_file_layout_pg_preferred(
|
|
(unsigned long long)ceph_file_layout_pg_preferred(
|
|
ci->i_layout));
|
|
ci->i_layout));
|
|
|
|
+ }
|
|
|
|
+
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|