On Wed, Jun 06, 2018 at 02:30:41AM -0400, james harvey wrote:
> Prevent unnecessary error from failing fsync(), if opened read only.
> 
> Performed 'grep "writeable = " *.h *.c' to make sure there were no odd
> situations where fsync() might still be desired here.  They're all straight-
> forward.  The only situation where writeable will be 0 is if 
> btrfs_open_devices
> is given flags without O_RDWR.  There is no situation where a writeable volume
> temporarily becomes unwriteable, or anything like that.  Given that it's being
> opened O_RDWR, there's no reason to attempt fsync().
> 
> utils.c
> 
>    int btrfs_add_to_fsid() {
>       ...
>       device->writeable = 1;
> 
> volumes.c
> 
>    int btrfs_close_devices() {
>       ...
>       while (!list_empty(&fs_devices->devices)) {
>          ...
>          // just after the fsync() being patched
> 267:     device->writeable = 0;
>    ...
>    int btrfs_open_devices() {
>       ...
>       list_for_each_entry(device, &fs_devices->devices, dev_list) {
>          ...
>          if (flags & O_RDWR)
> 332:        device->writeable = 1
> 
> kernel btrfs_close_devices() does not have a corresponding fsync() that I see.
> 
> Signed-off-by: James Harvey <jamespharve...@gmail.com>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to