make tsmread.c more robust
authorAndrew Tridgell <tridge@samba.org>
Thu, 24 Jan 2008 21:52:57 +0000 (08:52 +1100)
committerAndrew Tridgell <tridge@samba.org>
Thu, 24 Jan 2008 21:52:57 +0000 (08:52 +1100)
tsmread.c

index 33037e9..7a37e8a 100644 (file)
--- a/tsmread.c
+++ b/tsmread.c
@@ -46,6 +46,7 @@ static int read_file(const char *fname, bool use_lease, bool use_sharemode)
 {
        int fd;
        char c;
+       struct stat st;
 
        printf("Reading '%s' with use_lease=%s use_sharemode=%s\n",
               fname, use_lease?"yes":"no", use_sharemode?"yes":"no");
@@ -58,6 +59,10 @@ static int read_file(const char *fname, bool use_lease, bool use_sharemode)
                return -1;
        }
 
+       if (fstat(fd, &st) != 0 || st.st_blocks != 0 || st.st_size == 0) {
+               printf("WARNING: file is not offline - test INVALID\n");
+       }
+
        if (use_lease && gpfs_set_lease(fd, GPFS_LEASE_READ) != 0) {
                perror("gpfs_set_lease");
                close(fd);
@@ -97,6 +102,11 @@ int main(int argc, char * const argv[])
 {
        int opt, i;
        bool use_lease = false, use_sharemode = false;
+       const char *progname = argv[0];
+
+       if (strstr(progname, "smbd") == NULL) {
+               printf("WARNING: you should invoke as smbd - use a symlink\n");
+       }
        
        /* parse command-line options */
        while ((opt = getopt(argc, argv, "LSh")) != -1) {