1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00

r6262: Minor updates to cifs umount helper

This commit is contained in:
Steve French 2005-04-09 05:01:00 +00:00 committed by Gerald (Jerry) Carter
parent 6c9f227ef4
commit cd8b93edc6

View File

@ -49,7 +49,7 @@
#define MNT_EXPIRE 0x04
#endif
#define CIFS_IOC_CHECKUMOUNT _IOR('u', 2, int)
#define CIFS_IOC_CHECKUMOUNT _IO('c', 2)
static struct option longopts[] = {
{ "all", 0, NULL, 'a' },
@ -93,14 +93,21 @@ static int umount_check_perm(char * dir)
/* presumably can not chdir into the target as we do on mount */
fileid = open(dir, O_RDONLY | O_DIRECTORY | O_NOFOLLOW, 0);
/* check if fileid valid if fileid == -1 BB FIXME */
if(fileid == -1) {
if(verboseflg)
printf("error opening mountpoint %d %s",errno,strerror(errno));
return errno;
}
rc = ioctl(fileid, CIFS_IOC_CHECKUMOUNT, NULL);
if(verboseflg)
printf("ioctl returned %d with errno %d\n",rc,errno);
printf("ioctl returned %d with errno %d %s\n",rc,errno,strerror(errno));
if(rc == ENOTTY)
printf("user unmounting via %s is an optional feature of the cifs filesystem driver (cifs.ko)\n\tand requires cifs.ko version 1.32 or later\n",thisprogram);
else if (rc > 0)
printf("user unmount of %s failed with %d %s",dir,errno,strerror(errno));
close(fileid);
return rc;