18

Is there a way to sync only one partition instead of all partitions?

Something like "sync /dev/sdc1".

1
  • 1
    No. As far as I am aware. Good question, though. Jan 7, 2012 at 19:26

6 Answers 6

11

you can remount with sync option and then remount it back with async:

mount -o remount,sync /mountpoint
mount -o remount,async /mountpoint

Using remount option will not mess with processes using remounted filesystem.

1
  • 2
    Why do you think that 2 remounts are necessary? In at least 2.6.32 kernel do_remount_sb performs sync_filesystem which is the same function that is called in syncfs system call introduced in lwn.net/Articles/433384. Mar 1, 2016 at 17:38
5

There is a standard function to synchronize data (and metadata) of one file: fsync. There is no standard or common shell command to access it, but you can use perl's sync method in IO::Handle:

perl -MIO::File -e 'new IO::File($ARGV[0], "r+")->sync()' filename

There is no standard or common function or shell command to synchronize just one partition.

On recent Linux systems, there is the syncfs system call (introduced in kernel 2.6.39, and exposed since glibc 2.14). I don't think this system call is exposed in coreutils or util-linux yet.

1
  • 2
    The last sentence about syncfs is the most relevant part.
    – poolie
    Jan 25, 2017 at 22:42
3

Mounting the partition with the sync option may be a solution.

2

If you mean the sync utility that flushes data in memory to disk, then the answer is no. This is due to the fact that sync is generally used during a shutdown or reboot procedure, where it's advisable to get data written safely to disk, and the real target of the operation is memory, not the disks, and getting that buffered data out of RAM to somewhere safe. The disks are just where the data ends up.

2

It is now possible with sync -f:

sync -f /mount/point

Excerpt from sync(1):

       -f, --file-system
              sync the file systems that contain the files
0

If btrfs:

btrfs filesystem sync /path/under/mountpoint

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.