Resolve symlinks for 'fs rmmount'
authorAndrew Deason <adeason@sinenomine.net>
Thu, 22 Apr 2010 14:59:30 +0000 (09:59 -0500)
committerDerrick Brashear <shadow@dementia.org>
Thu, 22 Apr 2010 16:37:16 +0000 (09:37 -0700)
'fs rmmount' is the only 'fs' command that does not resolve symlinks
for its pioctls for some reason. Make it resolve symlinks.

Thanks to Arne Wiebalck.

Change-Id: Ifb6bdf0b381abd2e157d93d7eea4d853e1b3a689
Reviewed-on: http://gerrit.openafs.org/1805
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/venus/fs.c

index cc394f0..f79138e 100644 (file)
@@ -1893,7 +1893,7 @@ RemoveMountCmd(struct cmd_syndesc *as, void *arock)
        blob.in_size = strlen(tp) + 1;
        blob.out = lsbuffer;
        blob.out_size = sizeof(lsbuffer);
-       code = pioctl(tbuffer, VIOC_AFS_STAT_MT_PT, &blob, 0);
+       code = pioctl(tbuffer, VIOC_AFS_STAT_MT_PT, &blob, 1);
        if (code) {
            if (errno == EINVAL) {
                fprintf(stderr, "%s: '%s' is not a mount point.\n", pn,
@@ -1907,7 +1907,7 @@ RemoveMountCmd(struct cmd_syndesc *as, void *arock)
        blob.out_size = 0;
        blob.in = tp;
        blob.in_size = strlen(tp) + 1;
-       code = pioctl(tbuffer, VIOC_AFS_DELETE_MT_PT, &blob, 0);
+       code = pioctl(tbuffer, VIOC_AFS_DELETE_MT_PT, &blob, 1);
        if (code) {
            Die(errno, ti->data);
            error = 1;