Re: why does fsync() on a tmpfs directory give EINVAL?

From: Andrew Morton
Date: Thu Jun 16 2005 - 20:59:24 EST

Chris Friesen <cfriesen@xxxxxxxxxx> wrote:
> Andrew Morton wrote:
> > Chris Friesen <cfriesen@xxxxxxxxxx> wrote:
> >>Currently tmpfs reuses the simple_dir_operations from libfs.c.
> >>
> >>Would it make sense to add the empty fsync() function there, and have
> >>all other users pick it up as well? Is this likely to break stuff?
> >
> > Isn't simple_sync_file() suitable?
> I think it would be fine. The issue is that currently for directories
> tmpfs doesn't have it's own set of operations--it reuses the
> simple_dir_operations set of file ops from libfs.
> We could make a tmpfs-specific set of operations that is identical to
> simple_dir_operations but with the addition of setting the fsync
> function to simple_sync_file().
> Alternately, if it makes sense for all the users of
> simple_dir_operations we could modify it directly and all of the other
> users of simple_dir_operations would get the change for free. I don't
> know enough about the other filesystems to know if this makes sense or not.

hm, what a lot of filesystems.

bix:/usr/src/linux-2.6.12-rc6> grep -rl simple_dir_operations .

I can't think of any reason why any of these would want fsync(dir_fd) to
return -EINVAL.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at