lkml.org 
[lkml]   [1996]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectPatch for mount util
    Andries (and everyone),

    I have just found and fixed an annoying bug in mount-2.5m (and most
    recent versions). The offending code checks fstab, mtab and
    /proc/filesystems searching for a device name or mount point given on
    the command line. As originally coded, all three checks occur. Problem
    is, any options obtained from fstab get zapped by the subsequent checks
    and never get processed! I wondered why all attempts to mount my local
    NFS server by using:

    mount host:/ /mnt

    resulted in (noexec,nosuid...) regardless of what appeared in the
    options field of fstab - even when invoked as root.

    Anyway, applying a DeMorgan transformation to the logic results in
    successive ORs. This short-circuits when the mount point is found in
    fstab and correctly returns a pointer to the information structure.

    Enjoy.

    - Steve
    --- mount.c.orig Sat Jul 6 15:41:19 1996
    +++ mount.c Sat Aug 31 20:42:48 1996
    @@ -25,6 +25,7 @@
    * Fri Feb 23 13:47:00 1996: aeb@cwi.nl, loop device related changes
    *
    * Fri Apr 5 01:13:33 1996: quinlan@bucknell.edu, fixed up iso9660 autodetect
    + * Sat Aug 31 20:40:00 1996: shirsch@ibm.net, fixed parsing of fstab options.
    */


    @@ -942,8 +943,9 @@
    usage (stderr, 1);
    /* Try to find the other pathname in fstab. */
    spec = canonicalize (*argv);
    - if (!(fs = getmntfile (spec))
    - && !(fs = getfsspec (spec)) && !(fs = getfsfile (spec)))
    + if (!( (fs = getmntfile (spec))
    + || (fs = getfsspec (spec))
    + || (fs = getfsfile (spec)) ))
    die (2, "mount: can't find %s in %s or %s",
    spec, MOUNTED, _PATH_FSTAB);
    /* Merge the fstab and command line options. */
    \
     
     \ /
      Last update: 2005-03-22 13:37    [W:0.019 / U:92.252 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site