@@ -1596,13 +1596,14 @@ int setup_bdev_super(struct super_block *sb, int sb_flags,
1596
1596
EXPORT_SYMBOL_GPL (setup_bdev_super );
1597
1597
1598
1598
/**
1599
- * get_tree_bdev - Get a superblock based on a single block device
1599
+ * get_tree_bdev_flags - Get a superblock based on a single block device
1600
1600
* @fc: The filesystem context holding the parameters
1601
1601
* @fill_super: Helper to initialise a new superblock
1602
+ * @flags: GET_TREE_BDEV_* flags
1602
1603
*/
1603
- int get_tree_bdev (struct fs_context * fc ,
1604
- int (* fill_super )(struct super_block * ,
1605
- struct fs_context * ) )
1604
+ int get_tree_bdev_flags (struct fs_context * fc ,
1605
+ int (* fill_super )(struct super_block * sb ,
1606
+ struct fs_context * fc ), unsigned int flags )
1606
1607
{
1607
1608
struct super_block * s ;
1608
1609
int error = 0 ;
@@ -1613,10 +1614,10 @@ int get_tree_bdev(struct fs_context *fc,
1613
1614
1614
1615
error = lookup_bdev (fc -> source , & dev );
1615
1616
if (error ) {
1616
- errorf (fc , "%s: Can't lookup blockdev" , fc -> source );
1617
+ if (!(flags & GET_TREE_BDEV_QUIET_LOOKUP ))
1618
+ errorf (fc , "%s: Can't lookup blockdev" , fc -> source );
1617
1619
return error ;
1618
1620
}
1619
-
1620
1621
fc -> sb_flags |= SB_NOSEC ;
1621
1622
s = sget_dev (fc , dev );
1622
1623
if (IS_ERR (s ))
@@ -1644,6 +1645,19 @@ int get_tree_bdev(struct fs_context *fc,
1644
1645
fc -> root = dget (s -> s_root );
1645
1646
return 0 ;
1646
1647
}
1648
+ EXPORT_SYMBOL_GPL (get_tree_bdev_flags );
1649
+
1650
+ /**
1651
+ * get_tree_bdev - Get a superblock based on a single block device
1652
+ * @fc: The filesystem context holding the parameters
1653
+ * @fill_super: Helper to initialise a new superblock
1654
+ */
1655
+ int get_tree_bdev (struct fs_context * fc ,
1656
+ int (* fill_super )(struct super_block * ,
1657
+ struct fs_context * ))
1658
+ {
1659
+ return get_tree_bdev_flags (fc , fill_super , 0 );
1660
+ }
1647
1661
EXPORT_SYMBOL (get_tree_bdev );
1648
1662
1649
1663
static int test_bdev_super (struct super_block * s , void * data )
0 commit comments