Re: [PATCH 18/19] ext4: Add example fsinfo information [ver #16]

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

 



On Fri, Feb 21, 2020 at 02:43:05PM +0000, David Howells wrote:
> Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote:
> 
> > > +	memcpy(ctx->buffer, es->s_volume_name, sizeof(es->s_volume_name));
> > 
> > Shouldn't this be checking that ctx->buffer is large enough to hold
> > s_volume_name?
> 
> Well, the buffer is guaranteed to be 4KiB in size.

Ah, ok.

> > > +	return strlen(ctx->buffer);
> > 
> > s_volume_name is /not/ a null-terminated string if the label is 16
> > characters long.
> 
> And the buffer is precleared, so it's automatically NULL terminated.

<nod>

> > > +#define FSINFO_ATTR_EXT4_TIMESTAMPS	0x400	/* Ext4 superblock timestamps */
> > 
> > I guess each filesystem gets ... 256 different attrs, and the third
> > nibble determines the namespace?
> 
> No.  Think of it as allocating namespace in 256-number blocks.  That means
> there are 16 million of them.  If a filesystem uses up an entire block, it can
> always allocate another one.  I don't think it likely that we'll get
> sufficient filesystems to eat them all.

Ah.  In that case I declare that we would like to reserve 0x5800-0x58FF
for XFS. :)

--D

> David
> 



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux