Yohohohohohooho | Sanrei Aya
Sanrei Aya


Server : LiteSpeed
System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : elvh3918 ( 1528)
PHP Version : 8.2.31
Disable Function : mail
Directory :  /lib/python3.9/site-packages/ansible_collections/community/general/plugins/module_utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3.9/site-packages/ansible_collections/community/general/plugins/module_utils/_mount.py
# -*- coding: utf-8 -*-
# This code is part of Ansible, but is an independent component.
# This particular file snippet, and this file snippet only, is based on
# Lib/posixpath.py of cpython
#
# Copyright (c) 2001-2022 Python Software Foundation.  All rights reserved.
# It is licensed under the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
# (See LICENSES/PSF-2.0.txt in this collection)
# SPDX-License-Identifier: PSF-2.0

from __future__ import absolute_import, division, print_function

__metaclass__ = type

import os


def ismount(path):
    """Test whether a path is a mount point
    This is a copy of the upstream version of ismount(). Originally this was copied here as a workaround
    until Python issue 2466 was fixed. Now it is here so this will work on older versions of Python
    that may not have the upstream fix.
    https://github.com/ansible/ansible-modules-core/issues/2186
    http://bugs.python.org/issue2466
    """
    try:
        s1 = os.lstat(path)
    except (OSError, ValueError):
        # It doesn't exist -- so not a mount point. :-)
        return False
    else:
        # A symlink can never be a mount point
        if os.path.stat.S_ISLNK(s1.st_mode):
            return False

    if isinstance(path, bytes):
        parent = os.path.join(path, b'..')
    else:
        parent = os.path.join(path, '..')
    parent = os.path.realpath(parent)
    try:
        s2 = os.lstat(parent)
    except (OSError, ValueError):
        return False

    dev1 = s1.st_dev
    dev2 = s2.st_dev
    if dev1 != dev2:
        return True     # path/.. on a different device as path
    ino1 = s1.st_ino
    ino2 = s2.st_ino
    if ino1 == ino2:
        return True     # path/.. is the same i-node as path
    return False

Yohohohohohooho | Sanrei Aya