Project

General

Profile

Actions

Tasks #65965

closed

Tasks #64165: Fix warnings in read_sync()

fscrypt: git clone xfstests-dev fails

Added by Christopher Hoffman almost 2 years ago. Updated almost 2 years ago.

Status:
Won't Fix
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

git clone xfstests-dev fails on fscrypt enabled dir when client_debug_force_sync_read is set to True.

Steps to reproduce:

fscrypt_test_unlocked_ffsb]$ git clone https://git.ceph.com/xfstests-dev.git xfstest-dev-dir --depth 1
Cloning into 'xfstest-dev-dir'...
remote: Enumerating objects: 4229, done.
remote: Counting objects: 100% (4229/4229), done.
remote: Compressing objects: 100% (3547/3547), done.
remote: Total 4229 (delta 320), reused 2014 (delta 172), pack-reused 0
Receiving objects: 100% (4229/4229), 2.76 MiB | 1.22 MiB/s, done.
error: inflate: data stream error (unknown compression method)
fatal: serious inflate inconsistency
fatal: fetch-pack: invalid index-pack output

Actions #1

Updated by Christopher Hoffman almost 2 years ago

Also fails on non-fscrypt dir/tree, but shows symptoms similar to https://tracker.ceph.com/issues/65964.

mycephfs]$ git clone https://git.ceph.com/xfstests-dev.git xfstest-dev-dir --depth 1
Cloning into 'xfstest-dev-dir'...
error: failed to write new configuration file /mnt/mycephfs/xfstest-dev-dir/.git/config.lock
fatal: could not set 'core.filemode' to 'true'

Actions #3

Updated by Christopher Hoffman almost 2 years ago

  • Status changed from In Progress to Won't Fix

This is a non-issue.

git does the following:

open(...) = 3
write(3, "PACK\0\0\0\2\0\0\0\27\224\17x\234\245\314A\n\3020\20@\321}O\221\275Pf\222L\322\1\21\317 ^`\22\247Z\264\215\2...", 1988) = 1988

Then later goes to read portion of git pack

pread64(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0...", 105, 1670) = 105
close(3)

Since client_debug_force_sync_read is used and write is cached/dirty still, the pread reads from osd where it doesn't have any data to return at this time.

Actions

Also available in: Atom PDF