[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <x49mxxgr4t9.fsf@segfault.boston.devel.redhat.com>
Date: Tue, 06 Apr 2010 11:14:42 -0400
From: Jeff Moyer <jmoyer@...hat.com>
To: Anton Blanchard <anton@...ba.org>
Cc: Jan Kara <jack@...e.cz>, Christoph Hellwig <hch@....de>,
Alexander Viro <viro@...iv.linux.org.uk>,
Jens Axboe <jens.axboe@...cle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] raw: fsync method is now required
Anton Blanchard <anton@...ba.org> writes:
> Commit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode) broke the raw driver.
>
> We now call through generic_file_aio_write -> generic_write_sync ->
> vfs_fsync_range. vfs_fsync_range has:
>
> if (!fop || !fop->fsync) {
> ret = -EINVAL;
> goto out;
> }
>
> But drivers/char/raw.c doesn't set an fsync method.
>
> We have two options: fix it or remove the raw driver completely. I'm happy
> to do either, the fact this has been broken for so long suggests it is
> rarely used.
>
> The patch below adds an fsync method to the raw driver. My knowledge of the
> block layer is pretty sketchy so this could do with a once over.
>
> If we instead decide to remove the raw driver, this patch might still be
> useful as a backport to 2.6.33 and 2.6.32.
Databases like to use the raw interface. Thanks for fixing this!
> Signed-off-by: Anton Blanchard <anton@...ba.org>
Reviewed-by: Jeff Moyer <jmoyer@...hat.com>
Tested-by: Jeff Moyer <jmoyer@...hat.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists