diff options
author | Steve French <sfrench@samba.org> | 2005-04-09 05:01:00 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:56:33 -0500 |
commit | cd8b93edc6d488ab6f6652ef533ce13e885b265b (patch) | |
tree | 18a5dd790f8f7e1e5e2b0ccbfa56bb61318393a8 /source/client | |
parent | 6c9f227ef400f32def85268f411691b569d29889 (diff) | |
download | samba-cd8b93edc6d488ab6f6652ef533ce13e885b265b.tar.gz samba-cd8b93edc6d488ab6f6652ef533ce13e885b265b.tar.xz samba-cd8b93edc6d488ab6f6652ef533ce13e885b265b.zip |
r6262: Minor updates to cifs umount helper
Diffstat (limited to 'source/client')
-rw-r--r-- | source/client/umount.cifs.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source/client/umount.cifs.c b/source/client/umount.cifs.c index 0210de85a0c..18dbc3b1cf6 100644 --- a/source/client/umount.cifs.c +++ b/source/client/umount.cifs.c @@ -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; |