Project

General

Profile

Actions

Tasks #68233

closed

Tasks #63293: Implement fscrypt in libcephfs and cephfs-fuse

Tasks #66577: interoperability with multi-client

fuse uses stale size value when mds has newer version

Added by Christopher Hoffman over 1 year ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Category:
-
Target version:
-
% Done:

0%

Reviewed:
Affected Versions:
Component(FS):
Labels (FS):
Pull request ID:
Tags (freeform):
Merge Commit:
Fixed In:
Released In:
Upkeep Timestamp:

Description

In the case of:

import os

fd = os.open("/mnt/mycephfs/enc1/file1", os.O_CREAT)
os.close(fd)
fd = os.open("/mnt/kclient/enc1/file1", os.O_WRONLY)
os.close(fd)

os.truncate("/mnt/mycephfs/enc1/file1", 1024)
print(os.stat("/mnt/mycephfs/enc1/file1"))
os.truncate("/mnt/kclient/enc1/file1", 900)
print(os.stat("/mnt/mycephfs/enc1/file1"))

os.remove("/mnt/mycephfs/enc1/file1")

st_size in both prints will be 1024

Actions #1

Updated by Christopher Hoffman over 1 year ago

  • Subject changed from fuse stale size value when mds has newer version to fuse uses stale size value when mds has newer version
  • Status changed from In Progress to Resolved
commit 05bc337a45c6495df1e5494fbe7b9f0d7c356552 (HEAD -> wip-fscrypt)
Author: Christopher Hoffman <[email protected]>
Date:   Tue Sep 24 15:13:01 2024 +0000

    client: Update fscrypt_file when mds info is newer

    Fixes: https://tracker.ceph.com/issues/68233
    Signed-off-by: Christopher Hoffman <[email protected]>

diff --git a/src/client/Client.cc b/src/client/Client.cc
index c3191bdc291..9ffdb942d24 100644
--- a/src/client/Client.cc
+++ b/src/client/Client.cc
@@ -1080,6 +1080,7 @@ Inode * Client::add_update_inode(InodeStat *st, utime_t from,
     in->snap_btime = st->snap_btime;
     in->snap_metadata = st->snap_metadata;
     in->fscrypt_auth = st->fscrypt_auth;
+    in->fscrypt_file = st->fscrypt_file;
     in->fscrypt_ctx = in->init_fscrypt_ctx(fscrypt.get());
     need_snapdir_attr_refresh = true;
   }
Actions

Also available in: Atom PDF