diff options
Diffstat (limited to 'doc/bugs/git-annex:_failed_to_lock_content')
6 files changed, 120 insertions, 0 deletions
diff --git a/doc/bugs/git-annex:_failed_to_lock_content/comment_1_cf9f4221695d620dfa768b0216171690._comment b/doc/bugs/git-annex:_failed_to_lock_content/comment_1_cf9f4221695d620dfa768b0216171690._comment new file mode 100644 index 000000000..a6fef26b2 --- /dev/null +++ b/doc/bugs/git-annex:_failed_to_lock_content/comment_1_cf9f4221695d620dfa768b0216171690._comment @@ -0,0 +1,25 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2016-03-07T16:58:35Z" + content=""" +I replicated this as best I could, and the dropunused succeeded. But my +strace has an extra chmod: + + stat("./annex/objects/02e/a64/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133", {st_mode=S_IFREG|0444, st_size=30, ...}) = 0 + stat("./annex/objects/02e/a64/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133", {st_mode=S_IFREG|0444, st_size=30, ...}) = 0 + chmod("./annex/objects/02e/a64/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133", 0100644) = 0 + open("./annex/objects/02e/a64/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133/SHA256E-s30--b6eac296ebeab4b5593387489571654cd5019d8bb3bc3bc08ac8a41e22bad133", O_RDWR) = 16 + +So, it kind of looks like it checked the permissions and decided 0444 was good +enough and didn't chmod it to allow write (in order to lock it for removal). + +The only way I can see how that could perhaps happen is if git-anenx thinks +it's in a crippled filesystem that doesn't support chmod. But then the file +shouldn't be locked down like that. I was, though, able to reproduce +that behavior after running `git config annex.crippledfilesystem true` + +So, I need more information: What filesystem is the USB drive formatted with, +and can you run `git config --list` in the git repository on the drive and +paste the output please. +"""]] diff --git a/doc/bugs/git-annex:_failed_to_lock_content/comment_2_a22011e4b68005c87c4bf9167c22a13f._comment b/doc/bugs/git-annex:_failed_to_lock_content/comment_2_a22011e4b68005c87c4bf9167c22a13f._comment new file mode 100644 index 000000000..b71f04a55 --- /dev/null +++ b/doc/bugs/git-annex:_failed_to_lock_content/comment_2_a22011e4b68005c87c4bf9167c22a13f._comment @@ -0,0 +1,31 @@ +[[!comment format=mdwn + username="ellis@9dd4c3615b5ff78a457c5832488610886fd6b255" + nickname="ellis" + subject="comment 2" + date="2016-03-08T19:26:03Z" + content=""" +Thanks Joey, here's the output from `git config --list`: + + color.diff=auto + color.status=auto + color.branch=auto + push.default=simple + core.precomposeunicode=true + credential.helper=/usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring + core.repositoryformatversion=0 + core.filemode=false + core.bare=true + core.symlinks=false + core.ignorecase=true + core.fsyncobjectfiles=true + annex.uuid=a8ed0f4a-47c9-4289-947d-2f4650e9ede6 + annex.sshcaching=false + annex.crippledfilesystem=true + annex.version=6 + remote.lorax.url=../../../../../mnt/taiji07/taiji-lib + remote.lorax.fetch=+refs/heads/*:refs/remotes/lorax/* + remote.lorax.annex-uuid=9ea9a021-e3c6-4d55-a118-f3f55387ef40 + filter.annex.smudge=git-annex smudge %f + filter.annex.clean=git-annex smudge --clean %f + +"""]] diff --git a/doc/bugs/git-annex:_failed_to_lock_content/comment_3_4d58bfb2ba40e280cf9bcb8a054757f6._comment b/doc/bugs/git-annex:_failed_to_lock_content/comment_3_4d58bfb2ba40e280cf9bcb8a054757f6._comment new file mode 100644 index 000000000..fd50fb028 --- /dev/null +++ b/doc/bugs/git-annex:_failed_to_lock_content/comment_3_4d58bfb2ba40e280cf9bcb8a054757f6._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="ellis" + subject="comment 3" + date="2016-03-08T19:52:21Z" + content=""" +And the file system is VFAT: + + /dev/sde1 on /media/ellis/USB04 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2) +"""]] diff --git a/doc/bugs/git-annex:_failed_to_lock_content/comment_4_431885c1487035415acbad59b021a548._comment b/doc/bugs/git-annex:_failed_to_lock_content/comment_4_431885c1487035415acbad59b021a548._comment new file mode 100644 index 000000000..4c29c33e2 --- /dev/null +++ b/doc/bugs/git-annex:_failed_to_lock_content/comment_4_431885c1487035415acbad59b021a548._comment @@ -0,0 +1,16 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 4""" + date="2016-03-08T20:38:25Z" + content=""" +Thanks, that's consistent with my analysis. + +The only thing I don't understand is how a file on a vfat filesystem can +have mode 444. When I make a vfat filesystem and mount it on linux, +chmod doesn't change the mode of files at all; they're hardcoded at 755. + +Is your drive mounted with any interesting mount options? Paste the output +from `mount` for the drive. + +Can you chmod the file to have some mode other than 444? +"""]] diff --git a/doc/bugs/git-annex:_failed_to_lock_content/comment_5_d8c8077e4dc1e0660d082482012b6594._comment b/doc/bugs/git-annex:_failed_to_lock_content/comment_5_d8c8077e4dc1e0660d082482012b6594._comment new file mode 100644 index 000000000..2f3e560fa --- /dev/null +++ b/doc/bugs/git-annex:_failed_to_lock_content/comment_5_d8c8077e4dc1e0660d082482012b6594._comment @@ -0,0 +1,28 @@ +[[!comment format=mdwn + username="ellis" + subject="comment 5" + date="2016-03-09T10:04:14Z" + content=""" +1) I'm afraid I don't have any real knowledge of VFAT -- always avoided it, but this is a shared drive, so it seemed best to just leave it with the factory formatting. + +2) The output from `mount` is shown at the bottom of comment 3. The drive gets automounted when I plug it in. + +3) \"Can you chmod the file to have some mode other than 444?\" + +Yes. Here's a console transcript. After running `chmod 644`, git annex was able to drop the file. + + + % cd /media/ellis/USB04/repo/taiji-lib + + % ls -l ./annex/objects/97e/78c/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav + -r--r--r-- 1 ellis ellis 38464078 Mär 4 18:32 ./annex/objects/97e/78c/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav + + % chmod 644 ./annex/objects/97e/78c/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav + + % ls -l ./annex/objects/97e/78c/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav + -rw-r--r-- 1 ellis ellis 38464078 Mär 4 18:32 ./annex/objects/97e/78c/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav/SHA256E-s38464078--0db38599ed526d248857015c7b8e1b177af646939f8e0c8004b17a931ce2e101.wav + + % git annex dropunused 101 --force + dropunused 101 ok + (recording state in git...) +"""]] diff --git a/doc/bugs/git-annex:_failed_to_lock_content/comment_6_ced3c56607762562c1d21fd821d7c779._comment b/doc/bugs/git-annex:_failed_to_lock_content/comment_6_ced3c56607762562c1d21fd821d7c779._comment new file mode 100644 index 000000000..cebc1f0c1 --- /dev/null +++ b/doc/bugs/git-annex:_failed_to_lock_content/comment_6_ced3c56607762562c1d21fd821d7c779._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 6""" + date="2016-03-09T17:31:18Z" + content=""" +Ok, I managed to get a vfat that honors file perms with those mount +options. + +I'm going to make git-annex always try to chmod the file, even if it's on a +crippled filesystem. That should solve it. +"""]] |