Over the last decade, the addition of a “flags”
argument to all new system calls, even if no flags are actually needed
at the
outset, has been widely adopted as a best practice.  The result has
certainly been greater API extensibility, but we have also seen a proliferation of
various types of flags for related system calls.  For calls related to
files and filesystems, in particular, the available flags have reached a
point where some calls will need as many as three arguments for them
rather than just one.
Source: LWN.net – [$] Filesystem-oriented flags: sad, messy and not going away