Re: [RFC, PATCH 0/12] xfs: compound buffers for directory blocks

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

 



On Wed, Dec 14, 2011 at 01:33:14PM -0500, Christoph Hellwig wrote:
> I've been really busy the last days and only managed to look over this
> a bit while waiting for compiles and benchmarks.
> 
> The only really major comment I have is that I start to really dislike
> the way struct xfs_bmbt_irec is used in the compound buffers.  The
> XFS_EXT_DADDR flag basically gives the data types in there a totally
> different meaning and is really confusing for anyone reading the code:
> either we're using a "normal" one passes in from the directory code,
> or an artificial one used internally, which uses different units.
> 
> I suspect we'd really be much better off introducing a new, smaller type
> here, especially as it's only seen inside the buffer code:
> 
> struct xfs_buf_map {
> 	sector_t	bm_bno;
> 	size_t		bm_len;
> };
> 
> any use it consistently, that is also use it to replace
> b_file_offset/b_buffer_length and b_bn.    This will also make my number
> two suggestion a lot cleaner, that is make sure the new abstraction can
> be implemented for reading/writing log buffers that wrap around, and
> allow to kill off xfs_buf_associate_memory entirely.

Yeah, I was a bit unsure of the best way to do this. I started with
the bmbt_irec code because it already existed and was easy to pass
in from the directory code. It wasn't until I realised the sector
addressing issue later on that the XFS_EXT_DADDR came about. That
was a simple way of making it work, rather than rewriting the
patches again...

Ok, I'll go back and rewrite them to use a xfs_buf_map/vec and try
to address all your other points as well. Stay tuned.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
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