Home | History | Annotate | Download | only in include
      1 /*
      2  * Copyright (c) 2016 Cyril Hrubis <chrubis (at) suse.cz>
      3  *
      4  * This program is free software: you can redistribute it and/or modify
      5  * it under the terms of the GNU General Public License as published by
      6  * the Free Software Foundation, either version 2 of the License, or
      7  * (at your option) any later version.
      8  *
      9  * This program is distributed in the hope that it will be useful,
     10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12  * GNU General Public License for more details.
     13  *
     14  * You should have received a copy of the GNU General Public License
     15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
     16  */
     17 
     18 #ifndef TST_DEVICE_H__
     19 #define TST_DEVICE_H__
     20 
     21 struct tst_device {
     22 	const char *dev;
     23 	const char *fs_type;
     24 };
     25 
     26 /*
     27  * Automatically initialized if test.needs_device is set.
     28  */
     29 extern struct tst_device *tst_device;
     30 
     31 /*
     32  * Just like umount() but retries several times on failure.
     33  * @path: Path to umount
     34  */
     35 int tst_umount(const char *path);
     36 
     37 /*
     38  * Clears a first few blocks of the device. This is needed when device has
     39  * already been formatted with a filesystems, subset of mkfs.foo utils aborts
     40  * the operation if it finds a filesystem signature there.
     41  *
     42  * Note that this is called from tst_mkfs() automatically, so you probably will
     43  * not need to use this from the test yourself.
     44  */
     45 int tst_clear_device(const char *dev);
     46 
     47 /*
     48  * Reads test block device stat file and returns the bytes written since the
     49  * last call of this function.
     50  * @dev: test block device
     51  */
     52 unsigned long tst_dev_bytes_written(const char *dev);
     53 
     54 #endif	/* TST_DEVICE_H__ */
     55