compress
圧縮サブボリューム(つまり、マウントオプションを使用してマウントされたファイルシステムの一部)を送信すると、圧縮されて転送されますか、それとも最初に解凍されますかbtrfs-send
?btrfs-send
同様に、サブボリュームをとして受信すると再圧縮されbtrfs-receive
ますかbtrfs-receive
?
答え1
btrfs-send
システムコールが実行されますread
。これは実際にデータを解凍したという意味です。その後、データは圧縮されていない状態で送信され、ターゲットシステムのインストールオプションに従ってデータを圧縮するシステムコールがbtrfs-receive
実行されます。write
btrfs
compress
たとえば、さまざまなファイルにさまざまな圧縮を使用する既存のシステムがあり、btrfs
すべてのデータが圧縮される新しいシステムを作成できますzstd
。
答え2
--compressed-data
解凍せずにファイルシステムから直接圧縮データを送信します。受信機がBTRFS_IOC_ENCODED_WRITE ioctl(Linux 6.0に追加)をサポートしている場合は、解凍せずに直接作成することもできます。それ以外の場合、受信機は解凍され、正常に記録されます。
これにはプロトコルバージョン2以降が必要です。 --proto を使用しない場合、 --compressed-data は --proto 2 を意味します。