On Tue, Apr 21, 2020 at 04:07:43PM -0600, Andreas Dilger wrote: > On Apr 21, 2020, at 10:17 AM, David Howells <dhowells@xxxxxxxxxx> wrote: > > > > Darrick J. Wong <darrick.wong@xxxxxxxxxx> wrote: > > > >> The entire superblock as a binary blob? :) > > > > How about the attached? Please forgive the duplication of struct > > ext4_super_block into the test program, but it's not in the UAPI. > > I think (hope?) Darrick was joking? <cough> 80% joking. It /was/ April 1st, after all. :) Ted has said on a few occasions that one of the big stumbling blocks to making tune2fs safe wrt mounted ext4 is that there's no way to get or set superblock fields in a way that's kernel-mediated, and maybe the easiest way is to export the superblock instead of playing this game with synchronous sb writes from the kernel and the strange mask-and-write behavior that tune2fs does. I'm not convinced that's the best way to do that, though at least for /reading/ the superblock I guess it beats defining a whole new structure and ioctl. > At least IMHO, exporting the whole superblock as a binary blob is not > a great user interface. I guess it has the benefit of allowing access > to various non-standard fields without accessing the device directly. > Kind of like SCSI mode pages, but that can get ugly quickly... > > I can definitely get behind adding generic properties like the ones > you list below. The other properties look fine (in principle) to me though. :) --D > > > > David > > --- > > fsinfo: Add support to ext4 > > > > Add support to ext4, including the following: > > > > (1) FSINFO_ATTR_SUPPORTS: Information about supported STATX attributes and > > support for ioctls like FS_IOC_[GS]ETFLAGS and FS_IOC_FS[GS]ETXATTR. > > > > (2) FSINFO_ATTR_FEATURES: Information about features supported by an ext4 > > filesystem, such as whether version counting, birth time and name case > > folding are in operation. > > > > (3) FSINFO_ATTR_VOLUME_NAME: The volume name from the superblock. > > > > (4) FSINFO_ATTR_EXT4_SUPERBLOCK: The entirety of the on disk-format > > superblock record as an opaque blob. > > > > Signed-off-by: David Howells <dhowells@xxxxxxxxxx> > > cc: "Theodore Ts'o" <tytso@xxxxxxx> > > cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> > > cc: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> > > cc: Eric Biggers <ebiggers@xxxxxxxxxx> > > cc: linux-ext4@xxxxxxxxxxxxxxx > > Cheers, Andreas > > > > >