Merge remote-tracking branch 'origin/tizen_3.0' into tizen
[platform/core/system/libstorage.git] / src / storage-common.c
1 /*
2  * libstorage
3  *
4  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the License);
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *       http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19
20 #include <libmount.h>
21 #include "common.h"
22
23 int is_compat_bind_mount(void)
24 {
25         struct libmnt_table *t = NULL;
26         int r = 0;
27         struct libmnt_fs *fs;
28
29         t = mnt_new_table();
30         if (!t)
31                 return 0;
32
33         r = mnt_table_parse_mtab(t, NULL);
34         if (r < 0) {
35                 mnt_free_table(t);
36                 return 0;
37         }
38
39         fs = mnt_table_find_target(t, COMPAT_DIR, MNT_ITER_BACKWARD);
40         if (fs) {
41                 // TODO : mnt_fs_get_root(fs) should be matched to tzplatform_getenv(TZ_USER_CONTENT).
42                 mnt_free_table(t);
43                 return 1;
44         }
45
46         mnt_free_table(t);
47         return 0;
48 }