1
# sfdisk /dev/mmcblk0p1

Welcome to sfdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Checking that no-one is using this disk right now ... FAILED

This disk is currently in use - repartitioning is probably a bad idea.
Umount all file systems, and swapoff all swap partitions on this disk.
Use the --no-reread flag to suppress this check.

But I cannot find where it is used.

# grep mmc /proc/mounts
# grep mmc /proc/swaps
# lsof /dev/mmc*
# fuser /dev/mmc*

sfdisk is from util-linux 2.29.2-1+deb9u1.

# strace -f sfdisk /dev/mmcblk0p1
...
write(1, "\33[0mChanges will remain in memor"..., 115Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
) = 115
write(1, "\n", 1
)                       = 1
fstat64(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(179, 1), ...}) = 0
ioctl(3, BLKRRPART)                     = -1 EINVAL (Invalid argument)
write(1, "Checking that no-one is using th"..., 62Checking that no-one is using this disk right now ... FAILED
0
ioctl(3, BLKRRPART)                     = -1 EINVAL (Invalid argument)

Indeed, if the message was correct, the error code should show EBUSY not EINVAL.

You have an "Invalid argument" because you passed /dev/mmcblk0p1. This is a partition. sfdisk edits the table that lists all partitions. You need to pass the whole device, i.e.

# sfdisk /dev/mmcblk0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.