My system has developed a strange defect after a distribution upgrade (OpenSuSE 12.3 -> 13.2). I have various USB devices that I want to mount to different top-level directories: the backup drive to /backup, my USB stick to /usb, and the SD card adapter to /SD. That used to work without problem by simply naming the device ID and the top-level directory in /etc/fstab:
/dev/disk/by-id/scsi-1TOSHIBA_TransMemory-part1 /usb vfat noauto,user,exec 0 0 /dev/disk/by-id/ata-ST2000LM003_HN-M201RAD_S34RJ9AFA36173-part1 /backup ext4 noauto,user,exec 0 0 /dev/disk/by-id/usb-Generic-_SD_MMC_MS_PRO_20120926571200000-0:0-part1 /SD exfat noauto,user,exec
Now, with the new kernel (3.16.7) and all, the exact /dev/disk/by-id
identifiers have changed, so I adapted them, but mounting fails
nevertheless. It turns out I can mount none of these devices to their
preferred mount points anymore, not even when I give the real name (e.g.,
/dev/sdc1 or the like). Mounting them manually, even as root, gives no
output and returns 0 just like a normal mount, but it doesn't populate
the moint point with the content of the disk, and in fact the
command claims that the device isn't mounted after all.
However, I can mount any of these devices successfully if I choose the mount point /mnt, or, weirdly, a subdirectory of /mnt. That's reassuring - it proves that there isn't a hardware or driver problem - but I'd really like to mount my peripherals to their mnemonic names, and in particular I'd sometimes like to mount two of them simultaneously.
Why on Earth would the system care where I mount something, as long as the mount point exists, is accessible, and isn't already mounted? All three top-level dirs worked fine under the old kernel (3.7.10), and now they don't. Can I be running into some new security manager or filter rule that I've never heard about?
straceto see what it is doing and file a bug report with OpenSuSE including that information.
strace, and the output seems identical (excluding different addresses being returned for allocations), right until the exit with code 0. That's why I assume that there's some other (perhaps auto-mounting?) functionality interfering with my manual mount command that I don't even know about.
fstabcause this? And why would
/mntstill work - is there a hardcoded exception for that somewhere?