]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tools/first-damage: Make CEPH_NOSNAP int64 57696/head
authorKotresh HR <khiremat@redhat.com>
Fri, 24 May 2024 11:33:10 +0000 (17:03 +0530)
committerVenky Shankar <vshankar@redhat.com>
Thu, 6 Jun 2024 05:09:47 +0000 (10:39 +0530)
Make CEPH_NOSNAP int64 and pack 8 bytes when updating the omap
value.

Signed-off-by: Kotresh HR <khiremat@redhat.com>
Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/tools/cephfs/first-damage.py

index 6a341924119df14c07cdfe9d91b91cb87245fefe..6207b5c1793684b3ef3a3ed8b11f7c7944a70666 100644 (file)
@@ -59,7 +59,7 @@ NEXT_SNAP = None
 CONF = os.environ.get('CEPH_CONF')
 REPAIR_NOSNAP = None
 
-CEPH_NOSNAP = 0xfffffffe # int32 -2
+CEPH_NOSNAP = 0xfffffffffffffffe # int64 -2
 ROOT_INODE  = "1.00000000"
 LOST_FOUND_INODE  = "4.00000000"
 
@@ -96,7 +96,7 @@ def traverse(MEMO, ioctx):
                             log.warning(f"repairing first==CEPH_NOSNAP damage, setting to NEXT_SNAP (0x{NEXT_SNAP:x})")
                             first = NEXT_SNAP
                             nval = bytearray(val)
-                            struct.pack_into("<I", nval, 0, NEXT_SNAP)
+                            struct.pack_into("<Q", nval, 0, NEXT_SNAP)
                             with rados.WriteOpCtx() as wctx:
                                 ioctx.set_omap(wctx, (dnk,), (bytes(nval),))
                                 ioctx.operate_write_op(wctx, o.key)