Systems
Compiling XDR for NFSv4 on Linux
On Fedora at least, you need:
sudo yum -y install libgssglue-devel
sudo yum -y install nfs-utils-lib-devel
in order to get this to work.
Update: For modern Fedora systems:
sudo yum install -y nfs-utils libtirpc-devel
seems to do the trick!
Don’t whine about wget on OS X
OS X: Using curl instead of wget
Or:
loghyr:xdr thomas$ wget http://www.ietf.org/rfc/rfc1094.txt -bash: wget: command not found loghyr:xdr thomas$ curl -L http://www.ietf.org/rfc/rfc1094.txt > nfsv2.x % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 49940 100 49940 0 0 97348 0 --:--:-- --:--:-- --:--:-- 140k
OS X will create sparse files across NFS, or does it?
KinMage:src thomas$ sudo mount -o vers=3,intr 172.16.1.129:/fooper /mnt KinMage:src thomas$ ls -la /mnt total 8 drwxrwxrwx 2 root wheel 4096 Feb 13 21:50 . drwxrwxr-t 24 root admin 1224 Feb 13 21:54 ..
Where 172.16.1.129 is snakey, the Linux VM I am using for testing.
And then:
KinMage:mnt thomas$ python punch.py KinMage:mnt thomas$ ls -la p*out -rw-r--r-- 1 thomas staff 1023 Feb 13 21:54 p1023.out -rw-r--r-- 1 thomas staff 1024 Feb 13 21:54 p1024.out -rw-r--r-- 1 thomas staff 1025 Feb 13 21:54 p1025.out -rw-r--r-- 1 thomas staff 10250 Feb 13 21:54 p10250.out -rw-r--r-- 1 thomas staff 102500 Feb 13 21:54 p102500.out -rw-r--r-- 1 thomas staff 64 Feb 13 21:54 p64.out KinMage:mnt thomas$ du -sh p*out 1.0K p1023.out 1.0K p1024.out 1.5K p1025.out 10K p10250.out 100K p102500.out 512B p64.out
So it creates sparse files across NFS!
Well, yes and no. It will only send a block of data across and then the
server OS decides to create the sparse file or not.
Another thing to note is that the size reported is flexible in the sense
that the underlying file system interface determines how much space
is being reported:
[thomas@snakey fooper]$ du -sh p*out 4.0K p1023.out 4.0K p1024.out 4.0K p102500.out 4.0K p10250.out 4.0K p1025.out 4.0K p64.out
Ideally we would like the sizes to match, but since we are pulling a fast one, we get what we see.
Sparse file creation not an option on OS X
We can see that when we try to create a sparse file a file under OS X (10.6) that the OS writes out the intervening pages.
KinMage:src thomas$ uname -a Darwin KinMage 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 KinMage:src thomas$ python punch.py KinMage:src thomas$ ls -la p*out -rw-r--r-- 1 thomas staff 1023 Feb 13 21:44 p1023.out -rw-r--r-- 1 thomas staff 1024 Feb 13 21:44 p1024.out -rw-r--r-- 1 thomas staff 1025 Feb 13 21:44 p1025.out -rw-r--r-- 1 thomas staff 10250 Feb 13 21:44 p10250.out -rw-r--r-- 1 thomas staff 102500 Feb 13 21:44 p102500.out -rw-r--r-- 1 thomas staff 64 Feb 13 21:44 p64.out KinMage:src thomas$ du -sh p*out 4.0K p1023.out 4.0K p1024.out 4.0K p1025.out 12K p10250.out 104K p102500.out 4.0K p64.out
They should all be a multiple of a block size if there are sparse files. Since
they are not, we can conclude no sparse files were created.
Hmm, I wonder what happens over NFS?
Waiting on a Triwing #0
I ordered a 9.5 mm SATA Optical Bay SATA Hard Drive Enclosure from iFixit.com. I should have paid more attention – I had the Torq screwdriver I needed on the older MacBook Pros, but I didn’t have the #0 Triwing I needed with the newer models.
I spent last Saturday afternoon trying to find one in town. I could get down to a #2, but no luck on the #0. So I ordered one from iFixit.com. It wasn’t their fault and they had a speedy turn around. It shipped just quick enough to get caught in the snow storm.
My son said he saw a USPS truck in the nearby apartment complex, but they seem afraid of our cul-de-sac.