Hi,

> For testing purposes I created a slave PFS and then issue the above
> mentioned call again. Also if using an invalid transcation ID the PFS
> is removed.
Some notes after looking at the code sbin/hammer/cmd_snapshot.c
regarding the above issue.

>From the man page the calls are:
  hammer snaprm <path> ...
  hammer snaprm <transid> ...
  hammer snaprm <filesystem> <transid> ...

The first one looks good, just remove a snapshot link (softlink to
transaction ID).
The second one also looks good, just remove a snapshot by it's
transaction ID for the current PSF.

But the third one will remove anything that is a link. So running the
following command, will remove the PFS /pfs/test.
  hammer snaprm /pfs/test 0x0000040

If I understand the code correctly, then /pfs/test is always removed,
also if the transcation ID is invalid.

I'm not quite sure if my understanding is right, but if I think this is
a bug. Before calling remove() to remove the link it should be checked
if the link is a softlink to a transcation ID, and only then it should
be removed. Or did I miss something?

Thanks a lot.

Regards,
Sven

Reply via email to