super.c (83085935cc38b9752215556c02b2f080c96bf1be) super.c (78f6beacd024e3ab8091a2a5c12ee7031f9ccc38)
1/*
2 * Copyright (C) 2007 Oracle. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 934 unchanged lines hidden (view full) ---

943}
944
945/*
946 * Parse mount options that are related to subvolume id
947 *
948 * The value is later passed to mount_subvol()
949 */
950static int btrfs_parse_subvol_options(const char *options, fmode_t flags,
1/*
2 * Copyright (C) 2007 Oracle. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,

--- 934 unchanged lines hidden (view full) ---

943}
944
945/*
946 * Parse mount options that are related to subvolume id
947 *
948 * The value is later passed to mount_subvol()
949 */
950static int btrfs_parse_subvol_options(const char *options, fmode_t flags,
951 void *holder, char **subvol_name, u64 *subvol_objectid)
951 char **subvol_name, u64 *subvol_objectid)
952{
953 substring_t args[MAX_OPT_ARGS];
954 char *opts, *orig, *p;
955 char *num = NULL;
956 int error = 0;
957
958 if (!options)
959 return 0;

--- 702 unchanged lines hidden (view full) ---

1662 fmode_t mode = FMODE_READ;
1663 char *subvol_name = NULL;
1664 u64 subvol_objectid = 0;
1665 int error = 0;
1666
1667 if (!(flags & SB_RDONLY))
1668 mode |= FMODE_WRITE;
1669
952{
953 substring_t args[MAX_OPT_ARGS];
954 char *opts, *orig, *p;
955 char *num = NULL;
956 int error = 0;
957
958 if (!options)
959 return 0;

--- 702 unchanged lines hidden (view full) ---

1662 fmode_t mode = FMODE_READ;
1663 char *subvol_name = NULL;
1664 u64 subvol_objectid = 0;
1665 int error = 0;
1666
1667 if (!(flags & SB_RDONLY))
1668 mode |= FMODE_WRITE;
1669
1670 error = btrfs_parse_subvol_options(data, mode, fs_type,
1670 error = btrfs_parse_subvol_options(data, mode,
1671 &subvol_name, &subvol_objectid);
1672 if (error) {
1673 kfree(subvol_name);
1674 return ERR_PTR(error);
1675 }
1676
1677 /* mount device's root (/) */
1678 mnt_root = vfs_kern_mount(&btrfs_root_fs_type, flags, device_name, data);

--- 846 unchanged lines hidden ---
1671 &subvol_name, &subvol_objectid);
1672 if (error) {
1673 kfree(subvol_name);
1674 return ERR_PTR(error);
1675 }
1676
1677 /* mount device's root (/) */
1678 mnt_root = vfs_kern_mount(&btrfs_root_fs_type, flags, device_name, data);

--- 846 unchanged lines hidden ---