O_SYNC, where has thy FILE_SYNC gone?

This morning I came across an interesting difference between RHEL 5 and RHEL 6 (and of course their CentOS brethren).

In the RHEL 5 kernel, when an application writes to a file opened with O_SYNC over NFS, those writes come across the wire as FILE_SYNC writes — ie: stable.

In the RHEL 6 kernel, when an application writes to a file opened with O_SYNC over NFS, those writes come across as UNSTABLE immediately followed by a COMMIT. To get the writes to come across the wire as FILE_SYNC, you have to use the O_DIRECT flag (either by itself or in addition to the O_SYNC flag).

This is a rather significant change and has storage-system impacts. Good for both users and implementers to be aware of.

Update: According to this kernel bug the RHEL 6 behavior listed above happens in kernels 2.6.32 to 2.6.38-rc3. Presumably it is fixed (ie: reverted to the RHEL 5 behavior) after 2.6.38-rc3, although I don’t know if its been picked up in the RHEL kernel.

The Principled Engineer

Today I was promoted from a Software Development Test Engineer III to a Principal SW Quality Engineer. By my calculations this now puts me at the same level in EMC as I was in IBM when I left. The mapping between IBM’s positions and EMC’s positions are much closer than Isilon’s to either of them.

This was the write-up my manager put together that was sent out with the announcement:

In his first year and several months Casey stepped up in a huge way and wrangled the product characterization performance testing into submission for Habanero and Chopu. He participated in numerous customer performance-related calls for betas, evaluations, and escalations and onsite visits including presentations, demos, and lab tours. Casey has been instrumental in leading feature level performance testing for HDFS and many Mavericks features. Finally, he contributed a TCP related fix that improved 10GigE streaming read performance by approximately 3 times.

An interesting aside: Through a clerical error, I’ve actually been a Principle engineer in title only since last April when we transitioned to EMC’s HR system. It appears someone fat-fingered the data entry.

Taxes: money well spent

Several weeks ago I finished my taxes and tomorrow I pay the additional $1k I owe the federal government (not the $5k – $7k as I originally estimated). As I do so, I reflect on how I believe I get a great return on the taxes I pay – both federal, state, and local.

My social security taxes aren’t funding my retirement (that depends on my nieces, nephews, and their children) but it does pay for my 3 grandparents’ retirement. Ditto Medicare. My federal income taxes go to a whole array of things, the ones that immediately come to mind:

  • education funding for my nieces and nephews — and my parents and grandparents’ taxes enabled me to have college loans
  • assisting the less fortunate with Medicaid and other assistance programs
  • highway construction and maintenance
  • food and drug safety
  • disease prevention & medical research
  • amazing astronomy research and all the other mind-blowing exploration NASA does (stop and consider we have machines on Mars. Mars people!)
  • and tons of others that I’m not thinking about but take advantage of daily

Are there inefficiencies in the system I wish didn’t exist? Yes. Are there areas I wish my taxes didn’t fund? You bet. But government is an imperfect system and we should never let the goal of perfection be the enemy of the good.

Politicians: stop trying to lower my taxes — or claiming to be able to lower my taxes. You’d be better served educating people about what services they receive from their taxes than selling them the pipe dream of lower taxes with the same level of services.