Re: [PATCH] btrfs-progs: btrfs_close_devices(): only fsync() if device->writeable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <jamespharvey20@xxxxxxxxx>

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



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux