There's one case where we can't issue a utimes operation for a directory.
When 263 will delete, waiting 261 and set 261 rmdir_ino, but 262 earlier
processed and update uime between two parent directory.
So fix this by not update non exist utimes for this case.
Example:
Parent snapshot:
|---- a/ (ino 259)
|---- c (ino 264)
|---- b/ (ino 260)
|---- d (ino 265)
|---- del/ (ino 263)
|---- item1/ (ino 261)
|---- item2/ (ino 262)
Send snapshot:
|---- a/ (ino 259)
|---- b/ (ino 260)
|---- c/ (ino 2)
|---- item2 (ino 259)
|---- d/ (ino 257)
|---- item1/ (ino 258)
Signed-off-by: Robbie Ko <robbieko@xxxxxxxxxxxx>
---
fs/btrfs/send.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index e8eb3ab..46f954c 100644
--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -2468,7 +2468,7 @@ verbose_printk("btrfs: send_utimes %llu\n", ino);
key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0;
ret = btrfs_search_slot(NULL, sctx->send_root, &key, path, 0, 0);
- if (ret < 0)
+ if (ret != 0)
goto out;
eb = path->nodes[0];
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html