@@ -112,19 +112,20 @@ int Dumper::dump(const char *dump_file)
112112 fsid.print (fsid_str);
113113 char buf[HEADER_LEN];
114114 memset (buf, 0 , sizeof (buf));
115+ auto && last_committed = journaler.get_last_committed ();
115116 snprintf (buf, HEADER_LEN, " Ceph mds%d journal dump\n start offset %llu (0x%llx)\n \
116117 length %llu (0x%llx)\n write_pos %llu (0x%llx)\n format %llu\n \
117118 trimmed_pos %llu (0x%llx)\n stripe_unit %lu (0x%lx)\n stripe_count %lu (0x%lx)\n \
118119 object_size %lu (0x%lx)\n fsid %s\n %c" ,
119120 role.rank ,
120121 (unsigned long long )start, (unsigned long long )start,
121122 (unsigned long long )len, (unsigned long long )len,
122- (unsigned long long )journaler. last_committed .write_pos , (unsigned long long )journaler. last_committed .write_pos ,
123- (unsigned long long )journaler. last_committed .stream_format ,
124- (unsigned long long )journaler. last_committed .trimmed_pos , (unsigned long long )journaler. last_committed .trimmed_pos ,
125- (unsigned long )journaler. last_committed .layout .stripe_unit , (unsigned long )journaler. last_committed .layout .stripe_unit ,
126- (unsigned long )journaler. last_committed .layout .stripe_count , (unsigned long )journaler. last_committed .layout .stripe_count ,
127- (unsigned long )journaler. last_committed .layout .object_size , (unsigned long )journaler. last_committed .layout .object_size ,
123+ (unsigned long long )last_committed.write_pos , (unsigned long long )last_committed.write_pos ,
124+ (unsigned long long )last_committed.stream_format ,
125+ (unsigned long long )last_committed.trimmed_pos , (unsigned long long )last_committed.trimmed_pos ,
126+ (unsigned long )last_committed.layout .stripe_unit , (unsigned long )last_committed.layout .stripe_unit ,
127+ (unsigned long )last_committed.layout .stripe_count , (unsigned long )last_committed.layout .stripe_count ,
128+ (unsigned long )last_committed.layout .object_size , (unsigned long )last_committed.layout .object_size ,
128129 fsid_str,
129130 4 );
130131 r = safe_write (fd, buf, sizeof (buf));
@@ -156,8 +157,8 @@ int Dumper::dump(const char *dump_file)
156157
157158 C_SaferCond cond;
158159 lock.lock ();
159- filer. read (ino, & journaler.get_layout (), CEPH_NOSNAP,
160- pos, read_size, &bl, 0 , &cond);
160+ auto && layout = journaler.get_layout ();
161+ filer. read (ino, &layout, CEPH_NOSNAP, pos, read_size, &bl, 0 , &cond);
161162 lock.unlock ();
162163 r = cond.wait ();
163164 if (r < 0 ) {
@@ -264,9 +265,10 @@ int Dumper::undump(const char *dump_file, bool force)
264265 }
265266
266267 if (recovered == 0 ) {
267- stripe_unit = journaler.last_committed .layout .stripe_unit ;
268- stripe_count = journaler.last_committed .layout .stripe_count ;
269- object_size = journaler.last_committed .layout .object_size ;
268+ auto && last_committed = journaler.get_last_committed ();
269+ stripe_unit = last_committed.layout .stripe_unit ;
270+ stripe_count = last_committed.layout .stripe_count ;
271+ object_size = last_committed.layout .object_size ;
270272 } else {
271273 // try to get layout from dump file header, if failed set layout to default
272274 if (strstr (buf, " stripe_unit" )) {
0 commit comments