Why might a partition show up in `mount` but not `df`?

If I compare this

$> sudo mount | grep sdb
/dev/sdb1 on /windows type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb2 on /store type ext4 (rw)

with this

$> sudo df -h | grep sdb
/dev/sdb1               94G   59G   35G  63% /windows

I see /dev/sdb2 is missing. But if I run this:

$> df -h /dev/sdb2
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb2       367G  342G  6.2G  99% /store

It's there. Why might this be happening?

I do not have a /etc/udev/rules.d/99-hide-disks.rules file. Also note

$> grep store /etc/fstab
# /store was on /dev/sdb3 during installation
UUID=760630a7-223f-42e4-aecf-de92e32f12b9 /store          ext4    defaults        0       2

Full output of df:

Filesystem            1K-blocks      Used Available Use% Mounted on
/dev/sda5              14287344   7560960   5977584  56% /
none                          4         0         4   0% /sys/fs/cgroup
udev                    8140000   8140000         0 100% /dev
tmpfs                   1631016     68292   1562724   5% /run
none                       5120         4      5116   1% /run/lock
none                    8155080     23212   8131868   1% /run/shm
none                     102400        24    102376   1% /run/user
/dev/sda7              73385208   4711820  64922580   7% /home
/dev/sdb1              97650684  61264484  36386200  63% /windows
/dev/sda2                 97280     32492     64788  34% /boot/efi
/store/var/tmp        384466988 357170340   7743728  98% /var/tmp
/home/me/.Private      73385208   4711820  64922580   7% /home/me

Full output of mount:

/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,discard)
proc on /proc type proc (rw,nodev,noexec,nosuid)
sysfs on /sys type sysfs (rw,nodev,noexec,nosuid)
none on /sys/fs/cgroup type tmpfs (rw,uid=0,gid=0,mode=0755,size=1024)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /sys/firmware/efi/efivars type efivarfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,nodev,noexec,nosuid,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,nodev,noexec,nosuid,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
none on /dev/.bootchart/proc type proc (rw,relatime)
/dev/sda7 on /home type ext4 (rw,noatime,discard)
/dev/sdb1 on /windows type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sda2 on /boot/efi type vfat (rw)
/dev/sdb2 on /store type ext4 (rw)
/store/tmp on /tmp type none (rw,bind)
/store/var/tmp on /var/tmp type none (rw,bind)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nodev,noexec,nosuid)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,noexec,nodev,none,name=systemd)
/home/.ecryptfs/me/.Private on /home/me

Solution 1:

The reason why

sudo df -h | grep sdb

did not output any line related to sdb2 on your system is because the output of sudo df -h did not contain any reference to sdb2. To verify this, look through the output of df -h manually. There is a reference to sdb1 and to /store/var/tmp, but nothing about sdb2. (It is only listed when /dev/sdb2 is provided explicitly as an argument to df, as in your third code snippet.) This is technically the question you asked.

Implicit in the question is also why df -h does not output a line related to /dev/sdb2 when it clearly is mounted. To find that out would require more information about your system; for example, see this 2014 bug report for Red Hat explaining that changes in /etc/mtab can create duplicates that df tries to reduce. This could cause mounted partitions not to surface.