diff mbox series

xfs_growfs: allow mounted device node as argument

Message ID 0283f073-88d8-977f-249c-f813dabd9390@redhat.com (mailing list archive)
State Accepted
Headers show
Series xfs_growfs: allow mounted device node as argument | expand

Commit Message

Eric Sandeen Oct. 29, 2019, 3:23 a.m. UTC
Up until:

 b97815a0 xfs_growfs: ensure target path is an active xfs mountpoint

xfs_growfs actually accepted a mounted block device name as the
primary argument, because it could be found in the mount table.

It turns out that Ansible was making use of this undocumented behavior,
and it's trivial to allow it, so put it back in place and document
it this time.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---

I can clone tests/xfs/289 to do tests of similar permutations for
device names.

Comments

Christoph Hellwig Oct. 29, 2019, 7:15 a.m. UTC | #1
On Mon, Oct 28, 2019 at 10:23:51PM -0500, Eric Sandeen wrote:
> I can clone tests/xfs/289 to do tests of similar permutations for
> device names.

Can we just add the device name based tests to xfs/289?

The patch itself looks fine:

Reviewed-by: Christoph Hellwig <hch@lst.de>
Eric Sandeen Oct. 29, 2019, 1:24 p.m. UTC | #2
On 10/29/19 2:15 AM, Christoph Hellwig wrote:
> On Mon, Oct 28, 2019 at 10:23:51PM -0500, Eric Sandeen wrote:
>> I can clone tests/xfs/289 to do tests of similar permutations for
>> device names.
> 
> Can we just add the device name based tests to xfs/289?

Could do, I was hesitant to make a once-passing test start failing on older
userspace. (maybe we should formalize a policy for this sort of thing)

> The patch itself looks fine:
> 
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> 

Thanks
Christoph Hellwig Oct. 29, 2019, 1:26 p.m. UTC | #3
On Tue, Oct 29, 2019 at 08:24:50AM -0500, Eric Sandeen wrote:
> 
> 
> On 10/29/19 2:15 AM, Christoph Hellwig wrote:
> > On Mon, Oct 28, 2019 at 10:23:51PM -0500, Eric Sandeen wrote:
> >> I can clone tests/xfs/289 to do tests of similar permutations for
> >> device names.
> > 
> > Can we just add the device name based tests to xfs/289?
> 
> Could do, I was hesitant to make a once-passing test start failing on older
> userspace. (maybe we should formalize a policy for this sort of thing)

Well, it is supposed to work for all but one release, right?
Eric Sandeen Oct. 29, 2019, 1:34 p.m. UTC | #4
On 10/29/19 8:26 AM, Christoph Hellwig wrote:
> On Tue, Oct 29, 2019 at 08:24:50AM -0500, Eric Sandeen wrote:
>>
>>
>> On 10/29/19 2:15 AM, Christoph Hellwig wrote:
>>> On Mon, Oct 28, 2019 at 10:23:51PM -0500, Eric Sandeen wrote:
>>>> I can clone tests/xfs/289 to do tests of similar permutations for
>>>> device names.
>>>
>>> Can we just add the device name based tests to xfs/289?
>>
>> Could do, I was hesitant to make a once-passing test start failing on older
>> userspace. (maybe we should formalize a policy for this sort of thing)
> 
> Well, it is supposed to work for all but one release, right?

Pointing it at a device has been broken since 4.12, so broken for about
a dozen releases / ~2+ years.

-Eric
diff mbox series

Patch

diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c
index 20089d2b..4224c5a0 100644
--- a/growfs/xfs_growfs.c
+++ b/growfs/xfs_growfs.c
@@ -140,6 +140,9 @@  main(int argc, char **argv)
 	}
 
 	fs = fs_table_lookup_mount(rpath);
+	if (!fs)
+		fs = fs_table_lookup_blkdev(rpath);
+
 	if (!fs) {
 		fprintf(stderr, _("%s: %s is not a mounted XFS filesystem\n"),
 			progname, argv[optind]);
diff --git a/man/man8/xfs_growfs.8 b/man/man8/xfs_growfs.8
index 7e6a387c..60a88189 100644
--- a/man/man8/xfs_growfs.8
+++ b/man/man8/xfs_growfs.8
@@ -35,7 +35,12 @@  xfs_growfs \- expand an XFS filesystem
 .B \-R
 .I size
 ]
+[
 .I mount-point
+|
+.I block-device
+]
+
 .br
 .B xfs_growfs \-V
 .SH DESCRIPTION
@@ -45,7 +50,10 @@  expands an existing XFS filesystem (see
 The
 .I mount-point
 argument is the pathname of the directory where the filesystem
-is mounted. The filesystem must be mounted to be grown (see
+is mounted. The
+.I block-device
+argument is the device name of a mounted XFS filesystem.
+The filesystem must be mounted to be grown (see
 .BR mount (8)).
 The existing contents of the filesystem are undisturbed, and the added space
 becomes available for additional file storage.