Re: [PATCH 12/15] xfs: make dir2 ftype offset pointers explicit

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

 



On Wed, Oct 30, 2013 at 09:15:45AM +1100, Dave Chinner wrote:
> On Tue, Oct 29, 2013 at 03:00:08PM -0500, Ben Myers wrote:
> > On Tue, Oct 29, 2013 at 10:11:55PM +1100, Dave Chinner wrote:
> > > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > > 
> > > Rather than hiding the ftype field size accounting inside the dirent
> > > padding for the ".." and first entry offset functions for v2
> > > directory formats, add explicit functions that calculate it
> > > correctly.
> > > 
> > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> > > ---
> > >  fs/xfs/xfs_da_format.c | 23 +++++++++++++++++++++--
> > >  1 file changed, 21 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/fs/xfs/xfs_da_format.c b/fs/xfs/xfs_da_format.c
> > > index 5991b26..5a5767c 100644
> > > --- a/fs/xfs/xfs_da_format.c
> > > +++ b/fs/xfs/xfs_da_format.c
> > > @@ -334,6 +334,25 @@ xfs_dir2_data_first_entry_p(
> > >  }
> > >  
> > >  static struct xfs_dir2_data_entry *
> > > +xfs_dir2_ftype_data_dotdot_entry_p(
> > > +	struct xfs_dir2_data_hdr *hdr)
> > > +{
> > > +	return (struct xfs_dir2_data_entry *)
> > > +		((char *)hdr + sizeof(struct xfs_dir2_data_hdr) +
> > > +				XFS_DIR3_DATA_ENTSIZE(1));
> > > +}
> > > +
> > > +static struct xfs_dir2_data_entry *
> > > +xfs_dir2_ftype_data_first_entry_p(
> > > +	struct xfs_dir2_data_hdr *hdr)
> > > +{
> > > +	return (struct xfs_dir2_data_entry *)
> > > +		((char *)hdr + sizeof(struct xfs_dir2_data_hdr) +
> > > +				XFS_DIR3_DATA_ENTSIZE(1) +
> > > +				XFS_DIR3_DATA_ENTSIZE(2));
> > > +}
> > 
> > 363 static struct xfs_dir2_data_entry *
> > 364 xfs_dir3_data_dotdot_entry_p(
> > 365         struct xfs_dir2_data_hdr *hdr)
> > 366 {
> > 367         return (struct xfs_dir2_data_entry *)
> > 368                 ((char *)hdr + sizeof(struct xfs_dir3_data_hdr) +
> > 369                                 XFS_DIR2_DATA_ENTSIZE(1));
> > 370 }
> > 371 
> > 372 static struct xfs_dir2_data_entry *
> > 373 xfs_dir3_data_first_entry_p(
> > 374         struct xfs_dir2_data_hdr *hdr)
> > 375 {
> > 376         return (struct xfs_dir2_data_entry *)
> > 377                 ((char *)hdr + sizeof(struct xfs_dir3_data_hdr) +
> > 378                                 XFS_DIR2_DATA_ENTSIZE(1) +
> > 379                                 XFS_DIR2_DATA_ENTSIZE(2));
> > 380 }
> > 					   3
> > 
> > We want dir3 entry size there, I think?
> 
> Fixed in V2 of the patch that introduced the problem.

Fine.

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