!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/fs/xfs/linux/   drwxr-xr-x
Free 318.36 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     xfs_fs_subr.c (5.03 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
 * 
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 * 
 * This program is distributed in the hope that it would be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * 
 * Further, this software is distributed without any warranty that it is
 * free of the rightful claim of any third person regarding infringement
 * or the like.  Any license provided herein, whether implied or
 * otherwise, applies only to this software file.  Patent licenses, if
 * any, provided herein do not apply to combinations of this program with
 * other software, or any other product whatsoever.
 * 
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write the Free Software Foundation, Inc., 59
 * Temple Place - Suite 330, Boston MA 02111-1307, USA.
 * 
 * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
 * Mountain View, CA  94043, or:
 * 
 * http://www.sgi.com 
 * 
 * For further information regarding this notice, see: 
 * 
 * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
 */

#include <xfs.h>

/*
 * Implementation for VFS_DOUNMOUNT.
 */
int
fs_dounmount(
    bhv_desc_t     *bdp, 
        int         flags, 
        vnode_t     *rootvp, 
        cred_t         *cr)
{
    struct vfs     *vfsp = bhvtovfs(bdp);
        bhv_desc_t      *fbdp = vfsp->vfs_fbhv;
    int         error;

    /*
         * Wait for sync to finish and lock vfsp.  This also sets the
         * VFS_OFFLINE flag.  Once we do this we can give up reference
         * the root vnode which we hold to avoid the another unmount
         * ripping the vfs out from under us before we get to lock it.
         * The VFS_DOUNMOUNT calling convention is that the reference
         * on the rot vnode is released whether the call succeeds or 
         * fails.
     */
    error = vfs_lock_offline(vfsp);    
    if (rootvp)
        VN_RELE(rootvp);
    if (error)
        return error;

    /*
     * Now invoke SYNC and UNMOUNT ops, using the PVFS versions is
     * OK since we already have a behavior lock as a result of
     * being in VFS_DOUNMOUNT.  It is necessary to do things this
     * way since using the VFS versions would cause us to get the
     * behavior lock twice which can cause deadlock as well as
     * making the coding of vfs relocation unnecessarilty difficult
     * by making relocations invoked by unmount occur in a different
     * environment than those invoked by mount-update.
     */
    PVFS_SYNC(fbdp, SYNC_ATTR|SYNC_DELWRI|SYNC_NOWAIT, cr, error);
    if (error == 0)
        PVFS_UNMOUNT(fbdp, flags, cr, error);

    if (error) {
        vfs_unlock(vfsp);    /* clears VFS_OFFLINE flag, too */
    }
    return error;
}

/*
 * Stub for no-op vnode operations that return error status.
 */
int
fs_noerr()
{
    return 0;
}

/*
 * Operation unsupported under this file system.
 */
int
fs_nosys()
{
    return ENOSYS;
}

/*
 * Stub for inactive, strategy, and read/write lock/unlock.  Does nothing.
 */
/* ARGSUSED */
void
fs_noval()
{
}

/*
 * Change state of vnode itself.
 * 
 * This routine may or may not require that the caller(s) prohibit 
 * simultaneous changes to a given piece of state.  This depends
 * on the particular 'cmd' - and individual commands should assert
 * appropriately if they so desire.
 */
void
fs_vnode_change(
        bhv_desc_t    *bdp, 
        vchange_t     cmd, 
        __psint_t     val)
{
//    printk("XFS: fs_vnode_change() NOT IMPLEMENTED\n");
}


/*
 * vnode pcache layer for vnode_tosspages.
 * 'last' parameter unused but left in for IRIX compatibility
 */
void
fs_tosspages(
        bhv_desc_t    *bdp,
    xfs_off_t    first,
    xfs_off_t    last,
    int        fiopt)
{
    vnode_t    *vp = BHV_TO_VNODE(bdp);

    if (VN_CACHED(vp))
        pagebuf_inval(LINVFS_GET_IP(vp), first, 0);
}


/*
 * vnode pcache layer for vnode_flushinval_pages.
 * 'last' parameter unused but left in for IRIX compatibility
 */
void
fs_flushinval_pages(
        bhv_desc_t    *bdp,
    xfs_off_t    first,
    xfs_off_t    last,
    int        fiopt)
{
    vnode_t    *vp = BHV_TO_VNODE(bdp);

    if (VN_CACHED(vp))
        pagebuf_flushinval(LINVFS_GET_IP(vp), first, 0);
}



/*
 * vnode pcache layer for vnode_flush_pages.
 * 'last' parameter unused but left in for IRIX compatibility
 */
int
fs_flush_pages(
        bhv_desc_t    *bdp,
    xfs_off_t    first,
    xfs_off_t    last,
    uint64_t    flags,
    int        fiopt)
{
    vnode_t    *vp = BHV_TO_VNODE(bdp);

    if (VN_CACHED(vp))
        pagebuf_flush(LINVFS_GET_IP(vp), first, 0);
    return 0;
}


/*
 * vnode pcache layer for vnode_pages_sethole.
 */
void
fs_pages_sethole(
        bhv_desc_t    *bdp,
    void        *pfd,
    int        cnt,
    int        doremap,
    xfs_off_t    remap_offset)
{
    printk("XFS: fs_pages_sethole() NOT IMPLEMENTED\n");
}

#ifdef CELL_CAPABLE
EXPORT_SYMBOL(fs_noerr);
EXPORT_SYMBOL(fs_nosys);
EXPORT_SYMBOL(fs_nodev);
EXPORT_SYMBOL(fs_noval);
EXPORT_SYMBOL(fs_vnode_change);
EXPORT_SYMBOL(fs_dounmount);
EXPORT_SYMBOL(fs_tosspages);
EXPORT_SYMBOL(fs_flushinval_pages);
EXPORT_SYMBOL(fs_flush_pages);
EXPORT_SYMBOL(fs_pages_sethole);
#endif

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0043 ]--