"두 폴더 건너로 끌어놓는 거랑 USB 로 끌어놓는 건 똑같아 보여. 속에선 하나는 이름표를 옮기고 하나는 책을 통째로 옮겨 적어."
같은 손짓, 다른 두 세계
사용자한테 이동은 그냥 이동이야. 끌어다 놓으면 끝. 그런데 그 한 손짓 아래 파일시스템에선 완전히 다른 두 가지가 벌어져. 출발지와 목적지가 같은 볼륨이면 이동은 이름 바꾸기야. 바이트는 안 움직이고 목록의 항목만 달라지지. 사실상 즉시 끝나고 중간이 없어. 다른 볼륨이면 — 내장 디스크에서 USB 로, 노트북에서 SMB 공유로 — 바이트를 새 볼륨에 옮겨 적고 원본을 지워야 해.
이 갈림이 곧 안전 경계야
속도 얘기가 아니라 위험이 갈리는 자리야. 같은 볼륨 이름 바꾸기는 잃을 게 없어. 바이트가 그대로니까 파일이 한 군데 있다가 없어졌다가 두 군데 어정쩡하게 걸치는 구간이 없지. 볼륨을 넘으면 그 위험이 전부 생겨. 복사가 절반에서 끊길 수 있고, 목적지 볼륨이 사라질 수 있고, 원본을 일찍 지우면 멀쩡한 유일본을 날려. Waygate 는 계획을 확인하는 순간 여기서 갈라. 두 작업에 필요한 안전 장치가 아예 다르거든.
같은 볼륨이어도 확인은 해
'쉬운' 쪽인 같은 볼륨 이름 바꾸기도 눈감고 부르는 건 아니야. Waygate 는 먼저 신분과 충돌 상태를 확인해. 이게 그 파일이 맞나, 목적지 이름이 비었나 아니면 계획해둔 충돌 처리를 써야 하나. 그러고 나서 이름 바꾸기를 실행하지. 쉽다는 게 대충 한다는 뜻은 아니야. 위험이 작으니 장치가 작을 뿐이지.
같은 볼륨 이동은 이름 바꾸기, 볼륨을 넘는 이동은 복사·확인·제자리 옮기기·삭제·확인이야. 바이트가 움직이냐 아니냐는 속도 얘기가 아니라 안전 경계야. 이름 바꾸기는 잃을 게 없고, 볼륨을 넘는 이동엔 원본을 건드리기 전에 확인을 요구하는 고비가 있어.
경로만 봐선 몰라. 형제처럼 붙어 보이는 두 경로가 서로 다른 볼륨에 있을 수 있어. 마운트된 폴더나 firmlink, 트리 깊숙이 붙은 외장 드라이브 때문에. 그래서 Waygate 는 경로 앞부분을 비교하지 않고 볼륨 신분을 대조해서 갈라. 경로는 바이트가 실제로 어디 있는지에 대해 얼마든지 거짓말하거든.