[Bug Report] Running git-clone on ceph get "File exists" errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I got the following errors when I tried to do "git clone
git://ceph.newdream.net/git/ceph.git" on ceph fs.
=============================================================
[root@henry-dev ceph]# git clone git://ceph.newdream.net/git/ceph.git
Initialized empty Git repository in /mnt/ceph/ceph/.git/
remote: Counting objects: 81057, done.
remote: Compressing objects: 100% (19534/19534), done.
remote: Total 81057 (delta 65953), reused 75288 (delta 60315)
Receiving objects: 100% (81057/81057), 15.37 MiB | 66 KiB/s, done.
Resolving deltas: 100% (65953/65953), done.
error: git checkout-index: unable to create file
src/auth/RotatingKeyRing.cc (File exists)
error: git checkout-index: unable to create file
src/crush.old/test/creeping_failure_variance.cc (File exists)
error: git checkout-index: unable to create file
src/jobs/alcdat/ossh.lib.big (File exists)
error: git checkout-index: unable to create file
src/messages/MMonSubscribe.h (File exists)
error: git checkout-index: unable to create file src/osbdb/OSBDB.cc
(File exists)
Checking out files: 100% (814/814), done.
==============================================================

These errors are similar to the issue mentioned in
http://ceph.newdream.net/git/?p=ceph-client-standalone.git;a=commit;h=f131f56ea2a09edc5de227975ef7b57ba1592880.
But, it does not work for my case.

So, I traced the client and mds logs. It looks like
ceph_mdsc_do_request() does not handle ERESTARTSYS properly.
The logs show that the file creation request had been sent to MDS, and
MDS did complete the request.
However, before the reply has been received, the request on the client
side was aborted due to some interrupt.
VFS got the ERESTARTSYS error and tried to create the file again.
Since MDS has already created the file, "File exists" errors were returned.

Then, I replaced "wait_for_completion_interruptible" with
"wait_for_completion" in ceph_mdsc_do_request().
The above errors were gone, but I don't feel it is a right way to fix
it. Any ideas?

ps. I am using master version of ceph and master-backport of ceph client.

--Henry C Chang
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux