Re: [PATCH 2/5] xfs: reduce ilock hold times in xfs_file_aio_write_checks

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

 



On Tue, Mar 27, 2012 at 10:34:47AM -0400, Christoph Hellwig wrote:
> We do not need the ilock for generic_write_checks and the i_size read,
> which are protected by i_mutex and/or iolock, so reduce the ilock
> critical section to just the call to xfs_zero_eof.

So.. I agree that it looks like the only thing we need to protect in
generic_write_checks is the i_size_read.

For buffered io i_size_write is done in generic_write_end, and protected
XFS_IOLOCK_EXCL in xfs_file_buffered_write.  

For direct io i_size_write is done in generic_file_direct_write and also
protected by the iolock in xfs_file_dio_aio_write.  It's not as clear here
whether that lock is taken exclusive at that time.  However, this is handled in
xfs_file_aio_write_checks, where we go io exclusive for xfs_zero_eof.  Maybe it
would be best for this to be done more explicitly with respect to the inode
size in xfs_file_dio_aio_write.

Just wanting to show why generic_write_checks is ok protected with just the
iolock...

Reviewed-by: Ben Myers <bpm@xxxxxxx>

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


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

  Powered by Linux