Why does stat report no space on / (root) but space available on /system? On my rooted Android 4.4.2 Samsung Galaxy S4 phone with armv7l chipset, if I start a shell, I can use the stat command, but some devices report strange.  In particular, the / device shows zero size, zero blocks, wheer as /system reports valid numbers:

root@jfltevzw:/ # stat /
stat /
  File: /
  Size: 0           Blocks: 0          IO Block: 4096   directory
Device: 1h/1d   Inode: 1           Links: 31
Access: (0755/drwxr-xr-x)  Uid: (    0/ UNKNOWN)   Gid: (    0/ UNKNOWN)
Access: 1970-01-01 00:00:00.000000000
Modify: 2015-04-25 00:48:54.000000000
Change: 2015-04-25 00:48:54.000000000

root@jfltevzw:/ # stat /system
stat /system
  File: /system
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: b310h/45840d    Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/ UNKNOWN)   Gid: (    0/ UNKNOWN)
Access: 1970-01-01 00:00:00.000000000
Modify: 2015-01-10 01:52:27.000000000
Change: 2015-01-10 01:52:27.000000000


Looking at my mounts, I see these two entries:

/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw,seclabel,relatime,data=ordered 0 0
rootfs / rootfs rw,relatime 0 0


Why does my root partition show via stat as having no space available and is there a way to reliably determine how much space is available from a shell command or via a C entry point such as statvfs() that is also reporting zero space available to my application.
stat reports 0 space/blocks on / because 
/ = ramdisk which lives in ram, ram is not a block device.
Your actual ramdrive lives in storage with your kernel an dt.img
on a specified emmc partition labeled boot .

The combined ramdisk, kernel binary, and dt.img (device tree binary)
are known collectively as your boot.img

The boot image also contains some actual directories [real] that function as placeholders, they are usually /data /dev /proc /system

Also your ramdisk contains the necessary *.rc and *.sh configuration and shell scripts necessary for booting you device and establishing/bringing up your operating system. The ramdisk also contains your device's selinux policy configuration, sepolicy and context files, lastly your ramdisk contains the /sbin directory, which is where the adb daemon lives and usually charger, healthd, and ueventd binaries and any manufacturer specific binaries related to services, usually security. The ramdisk/ramdrive is temporary and is dumped out of memory when you powerdown or reboot, and reloaded to it's designated place in memory when your device boots up again.