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

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

 



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.

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