mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-31 06:15:24 +00:00
unix: Rename unlink_stale to unlink_sk
We gonna use it to detele not only stale sockets but ghost sockets as well. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
committed by
Pavel Emelyanov
parent
53e4770065
commit
121a31cad4
@@ -1744,11 +1744,11 @@ static struct file_desc_ops unix_desc_ops = {
|
||||
* Make FS clean from sockets we're about to
|
||||
* restore. See for how we bind them for details
|
||||
*/
|
||||
static void unlink_stale(struct unix_sk_info *ui)
|
||||
static void unlink_sk(struct unix_sk_info *ui)
|
||||
{
|
||||
int ret, cwd_fd = -1, root_fd = -1, ns_fd = -1;
|
||||
|
||||
if (ui->name[0] == '\0' || (ui->ue->uflags & USK_EXTERN))
|
||||
if (!ui->name || ui->name[0] == '\0' || (ui->ue->uflags & USK_EXTERN))
|
||||
return;
|
||||
|
||||
if (prep_unix_sk_cwd(ui, &cwd_fd, &root_fd, NULL))
|
||||
@@ -1756,10 +1756,15 @@ static void unlink_stale(struct unix_sk_info *ui)
|
||||
|
||||
ret = unlinkat(AT_FDCWD, ui->name, 0) ? -1 : 0;
|
||||
if (ret < 0 && errno != ENOENT) {
|
||||
pr_warn("Can't unlink stale socket %#x peer %#x (name %s dir %s)\n",
|
||||
pr_warn("Can't unlink socket %#x peer %#x (name %s dir %s)\n",
|
||||
ui->ue->ino, ui->ue->peer,
|
||||
ui->name ? (ui->name[0] ? ui->name : &ui->name[1]) : "-",
|
||||
ui->name_dir ? ui->name_dir : "-");
|
||||
} else if (ret == 0) {
|
||||
pr_debug("Unlinked socket %#x peer %#x (name %s dir %s)\n",
|
||||
ui->ue->ino, ui->ue->peer,
|
||||
ui->name ? (ui->name[0] ? ui->name : &ui->name[1]) : "-",
|
||||
ui->name_dir ? ui->name_dir : "-");
|
||||
}
|
||||
revert_unix_sk_cwd(ui, &cwd_fd, &root_fd, &ns_fd);
|
||||
}
|
||||
@@ -1774,8 +1779,7 @@ static int post_prepare_unix_sk(struct pprep_head *ph)
|
||||
ui = container_of(ph, struct unix_sk_info, peer_resolve);
|
||||
if (ui->ue->peer && fixup_unix_peer(ui))
|
||||
return -1;
|
||||
if (ui->name)
|
||||
unlink_stale(ui);
|
||||
unlink_sk(ui);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user