linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nikolay Borisov <nborisov@suse.com>
To: Qu Wenruo <quwenruo.btrfs@gmx.com>,
	Serhat Sevki Dincer <jfcgauss@gmail.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: btrfs convert problem
Date: Fri, 14 Sep 2018 08:52:27 +0300	[thread overview]
Message-ID: <d47473ef-53bb-2ef1-9c09-f0f02ffaa04f@suse.com> (raw)
In-Reply-To: <0af846d3-9f07-d744-f9e4-862fc5a0cbad@gmx.com>



On 14.09.2018 02:17, Qu Wenruo wrote:
> 
> 
> On 2018/9/14 上午12:37, Nikolay Borisov wrote:
>>
>>
>> On 13.09.2018 19:15, Serhat Sevki Dincer wrote:
>>>> -1 seems to be EPERM, is your device write-protected, readonly or
>>>> something like that ?
>>>
>>> I am able to use ext4 partition read/write, created a file and wrote
>>> in it, un/re mounted it, all is ok.
>>> The drive only has a microusb port and a little led light; no rw
>>> switch or anything like that..
>>>
>>
>> What might help is running btrfs convert under strace. So something like :
>>
>> sudo strace -f -o strace.log btrfs-convert /dev/sdb1 and then send the log.
>>
> strace would greatly help in this case.
> 
> My guess is something wrong happened in migrate_super_block(), which
> doesn't handle ret > 0 case well.
> In that case, it means pwrite 4K doesn't finish in one call, which looks
> pretty strange.

So Qu,

I'm not seeing any EPERM errors, though I see the following so you might
be right:

openat(AT_FDCWD, "/dev/sdb1", O_RDWR) = 5

followed by a lot of preads, the last one of which is:

pread64(5, 0x557a0abd10b0, 4096, 2732765184) = -1 EIO (Input/output
error)

This is then followed by a a lot of pwrites, the last 10 or so syscalls
are:

pwrite64(5, "\220\255\262\244\0\0\0\0\0\0"..., 16384, 91127808) = 16384

pwrite64(5, "|IO\233\0\0\0\0\0\0"..., 16384, 91144192) = 16384

pwrite64(5, "x\2501n\0\0\0\0\0\0"..., 16384, 91160576) = 16384

pwrite64(5, "\252\254l)\0\0\0\0\0\0"..., 16384, 91176960) = 16384

pwrite64(5, "P\256\331\373\0\0\0\0\0\0"..., 16384, 91193344) = 16384

pwrite64(5, "\3\230\230+\0\0\0\0\0\0"..., 4096, 83951616) = 4096

write(2, "ERROR: ", 7) = 7

write(2, "failed to "..., 37) = 37

write(2, "\n", 1) = 1

close(4) = 0

write(2, "WARNING: ", 9) = 9

write(2, "an error o"..., 104) = 104

write(2, "\n", 1) = 1

exit_group(1) = ?

but looking at migrate_super_block it's not doing that many writes -
just writing the sb at BTRFS_SUPER_INFO_OFFSET and then zeroing out
0..BTRFS_SUPER_INFO_OFFSET. Also the number of pwrites:
grep -c pwrite ~/Downloads/btrfs-issue/convert-strace.log
198

So the failure is not originating from migrate_super_block.

> 
> Thanks,
> Qu
> 

  reply	other threads:[~2018-09-14 11:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-13 12:22 btrfs convert problem Serhat Sevki Dincer
2018-09-13 15:51 ` Nikolay Borisov
2018-09-13 16:15   ` Serhat Sevki Dincer
2018-09-13 16:37     ` Nikolay Borisov
2018-09-13 23:17       ` Qu Wenruo
2018-09-14  5:52         ` Nikolay Borisov [this message]
2018-09-14  6:10           ` Qu Wenruo
2018-09-14  6:46           ` Qu Wenruo
  -- strict thread matches above, loose matches on Subject: below --
2018-11-17  9:49 Serhat Sevki Dincer
2018-11-17 10:05 ` Qu Wenruo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d47473ef-53bb-2ef1-9c09-f0f02ffaa04f@suse.com \
    --to=nborisov@suse.com \
    --cc=jfcgauss@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=quwenruo.btrfs@gmx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).