xfs
[Top] [All Lists]

Re: [PATCH 0/4] xfs: online relabeling [RFC]

To: Brian Foster <bfoster@xxxxxxxxxx>
Subject: Re: [PATCH 0/4] xfs: online relabeling [RFC]
From: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>
Date: Fri, 10 Jun 2016 09:41:57 -0700
Cc: Eric Sandeen <sandeen@xxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20160610121936.GC21568@xxxxxxxxxxxxxxx>
References: <c1922d3d-208c-3699-0a36-26108a4f44de@xxxxxxxxxxx> <2305b486-f336-6d1e-9420-b69dc5bdc572@xxxxxxxxxxx> <20160610121936.GC21568@xxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.24 (2015-08-30)
On Fri, Jun 10, 2016 at 08:19:36AM -0400, Brian Foster wrote:
> On Thu, Jun 09, 2016 at 11:51:12AM -0500, Eric Sandeen wrote:
> > 
> > 
> > On 6/9/16 11:36 AM, Eric Sandeen wrote:
> > > Ok, this more or less works; not really up to snuff
> > > for submission or merging, just sketching it out, but some
> > > questions first:
> > > 
> > > 1) Is there really any point to this? :) We did have one
> > >    request, and btrfs can do it ...
> > > 
> 
> Seems reasonable to me. Any details on the use case for the request?
> 
> > > 2) Is using m_growlock horrible?  growfs is the only other
> > >    thing that writes all supers, so I grabbed it.  We don't
> > >    want multiple relabels stepping on each other.
> > > 
> > > 3) Is there some way to actually force the primary to disk?
> > >    Right now the label change isn't actually visible on the
> > >    primary until unmount, which defeats the purpose.  I'm not
> > >    sure if there's a straightforward/safe way to make it
> > >    visible...
> > 
> 
> > Oh, sorry - I guess it is getting written out, but it's only
> > available via an O_DIRECT read from userspace; it's not
> > invalidating the cache.
> > 
> > # io/xfs_io -c "label derp" /mnt/test
> > label = "derp"
> > 
> > # dd if=/dev/sdb2 bs=512 count=1 | hexdump -C
> > ...
> > 00000060  00 00 0a 00 b4 e5 02 00  02 00 00 08 66 6f 6f 00  
> > |............foo.|
> > ...
> > 
> > # dd if=/dev/sdb2 iflag=direct bs=512 count=1 | hexdump -C
> > ...
> > 00000060  00 00 0a 00 b4 e5 02 00  02 00 00 08 64 65 72 70  
> > |............derp|
> > ...
> > 
> > # dd if=/dev/sdb2 bs=512 count=1 | hexdump -C
> > ...
> > 00000060  00 00 0a 00 b4 e5 02 00  02 00 00 08 66 6f 6f 00  
> > |............foo.|
> > ...
> > 
> > Guess I need to think about this some more.
> > 
> 
> Isn't this to be expected? You're directly accessing the block device of
> a mounted filesystem. I would think this is expected behavior, so long
> as the set/get interfaces through the fs are consistent.

Trouble is, I bet blkid prints LABEL=foo here and not LABEL=derp as
the admin is probably expecting.

/me wonders if invalidate_inode_pages2_range here would help?

--D

> 
> Brian
> 
> > -Eric
> > 
> > _______________________________________________
> > xfs mailing list
> > xfs@xxxxxxxxxxx
> > http://oss.sgi.com/mailman/listinfo/xfs
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

<Prev in Thread] Current Thread [Next in Thread>