]> git.baikalelectronics.ru Git - kernel.git/commitdiff
btrfs: send: add OTIME as utimes attribute for proto 2+ by default
authorDavid Sterba <dsterba@suse.com>
Tue, 17 May 2022 14:50:30 +0000 (16:50 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Jul 2022 15:45:38 +0000 (17:45 +0200)
When send v1 was introduced the otime (inode creation time) was not
available, however the attribute in btrfs send protocol exists. Though
it would be possible to add it for v1 too as the attribute would be
ignored by v1 receive, let's not change the layout of v1 and only add
that to v2+.  The otime cannot be changed and is only informative.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/send.c

index d31cd39edff4e4e600f480bc47cbcd067c4e24bb..c2c429005e733c21d4f7e4d1684f7bd5aa55be91 100644 (file)
@@ -2580,7 +2580,8 @@ static int send_utimes(struct send_ctx *sctx, u64 ino, u64 gen)
        TLV_PUT_BTRFS_TIMESPEC(sctx, BTRFS_SEND_A_ATIME, eb, &ii->atime);
        TLV_PUT_BTRFS_TIMESPEC(sctx, BTRFS_SEND_A_MTIME, eb, &ii->mtime);
        TLV_PUT_BTRFS_TIMESPEC(sctx, BTRFS_SEND_A_CTIME, eb, &ii->ctime);
-       /* TODO Add otime support when the otime patches get into upstream */
+       if (sctx->proto >= 2)
+               TLV_PUT_BTRFS_TIMESPEC(sctx, BTRFS_SEND_A_OTIME, eb, &ii->otime);
 
        ret = send_cmd(sctx);