diff options
author | srikar <srikar> | 2007-08-27 10:22:05 +0000 |
---|---|---|
committer | srikar <srikar> | 2007-08-27 10:22:05 +0000 |
commit | 866f6739b1d039e77c2fa4d15dfcad4e151c149b (patch) | |
tree | a2765b23d528902787dfabc02a9d900f2afa569a /tapset/LKET/nfs.stp | |
parent | 622cbb7125992573459732c46a7fcb29a6d536b5 (diff) | |
download | systemtap-steved-866f6739b1d039e77c2fa4d15dfcad4e151c149b.tar.gz systemtap-steved-866f6739b1d039e77c2fa4d15dfcad4e151c149b.tar.xz systemtap-steved-866f6739b1d039e77c2fa4d15dfcad4e151c149b.zip |
Removing LKET tapset files. (PR 4817: retiring LKET services)
Diffstat (limited to 'tapset/LKET/nfs.stp')
-rwxr-xr-x | tapset/LKET/nfs.stp | 771 |
1 files changed, 0 insertions, 771 deletions
diff --git a/tapset/LKET/nfs.stp b/tapset/LKET/nfs.stp deleted file mode 100755 index 63852d61..00000000 --- a/tapset/LKET/nfs.stp +++ /dev/null @@ -1,771 +0,0 @@ -/* Helper functions */ -function __file_fsname:string (file:long) %{ /* pure */ - struct file *file = (struct file *)(long)THIS->file; - struct dentry *dentry = file? kread(&(file->f_dentry)) : NULL; - struct inode *d_inode = dentry? kread(&(dentry->d_inode)) : NULL; - if (d_inode == NULL) - strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN); - else { - struct super_block *i_sb = kread(&(d_inode->i_sb)); - struct file_system_type *s_type = kread(&(i_sb->s_type)); - const char *name = kread(&(s_type->name)); - deref_string(THIS->__retvalue, name, MAXSTRINGLEN); - } - CATCH_DEREF_FAULT(); -%} - -probe never -{ - printf("%d",GROUP_NFS) -} -probe addevent.nfs - = addevent.nfs.entry, - addevent.nfs.return -{} - -probe addevent.nfs.entry - = addevent.nfs.fop.entry, - addevent.nfs.aop.entry, - addevent.nfs.proc.entry -{} - -probe addevent.nfs.return - = addevent.nfs.fop.return, - addevent.nfs.aop.return, - addevent.nfs.proc.return -{} - -probe addevent.nfs.fop - = addevent.nfs.fop.entry, - addevent.nfs.fop.return -{} - -probe addevent.nfs.fop.entry - = - addevent.nfs.fop.llseek.entry, - addevent.nfs.fop.read.entry, - addevent.nfs.fop.write.entry, - addevent.nfs.fop.aio_read.entry, - addevent.nfs.fop.aio_write.entry, - addevent.nfs.fop.mmap.entry, - addevent.nfs.fop.open.entry, - addevent.nfs.fop.flush.entry, - addevent.nfs.fop.release.entry, - addevent.nfs.fop.fsync.entry, - addevent.nfs.fop.lock.entry, - addevent.nfs.fop.sendfile.entry, - addevent.nfs.fop.check_flags.entry -{} - -probe addevent.nfs.fop.return - = - addevent.nfs.fop.llseek.return, - addevent.nfs.fop.read.return, - addevent.nfs.fop.write.return, - addevent.nfs.fop.aio_read.return, - addevent.nfs.fop.aio_write.return, - addevent.nfs.fop.mmap.return, - addevent.nfs.fop.open.return, - addevent.nfs.fop.flush.return, - addevent.nfs.fop.release.return, - addevent.nfs.fop.fsync.return, - addevent.nfs.fop.lock.return, - addevent.nfs.fop.sendfile.return -// addevent.nfs.fop.check_flags.return -{} - -%{ - void getdevice(char * ,int * ,int *); -%} -function log_nfs_return (hookid:long,ret_val:long) -%{ - _lket_trace(_GROUP_NFS,THIS->hookid,"%4b",THIS->ret_val); -%} - -probe addevent.nfs.fop.llseek.entry - += _addevent.nfs.fop.llseek.entry -{ - update_record() -} - -probe _addevent.nfs.fop.llseek.entry - = nfs.fop.llseek -{ - log_fop_llseek(s_id,fileid,offset,origin) -} - -function log_fop_llseek(s_id:long,ino:long,offset:long,origin:long)%{ /*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LLSEEK_ENTRY,"%1b%1b%8b%8b%1b",(_FMT_)major,(_FMT_)minor, - THIS->ino,THIS->offset,THIS->origin); -%} - -probe addevent.nfs.fop.llseek.return - += _addevent.nfs.fop.llseek.return -{ - update_record() -} - -probe _addevent.nfs.fop.llseek.return - = nfs.fop.llseek.return -{ - log_nfs_return(HOOKID_NFS_FOP_LLSEEK_RETURN,$return) -} - -probe addevent.nfs.fop.read.entry - += _addevent.nfs.fop.read.entry -{ - update_record() -} - -probe _addevent.nfs.fop.read.entry - = nfs.fop.read -{ - filesystem = __file_fsname($filp) - - if(filesystem == "nfs") - log_fop_rw(HOOKID_NFS_FOP_READ_ENTRY,s_id,fileid,buf,len,pos) -} - -function log_fop_rw(hookid:long,s_id:long,ino:long,buf:long,len:long,pos:long) %{ /*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,THIS->hookid,"%1b%1b%8b%8b%8b%8b",(_FMT_)major,(_FMT_)minor, - THIS->ino,THIS->buf,THIS->len,THIS->pos); -%} - -probe addevent.nfs.fop.read.return - += _addevent.nfs.fop.read.return -{ - update_record() -} - -probe _addevent.nfs.fop.read.return - = nfs.fop.read.return -{ -// log_nfs_return(HOOKID_NFS_FOP_READ_RETURN,$return) -} - -probe addevent.nfs.fop.write.entry - += _addevent.nfs.fop.write.entry -{ - update_record() -} - -probe _addevent.nfs.fop.write.entry - = nfs.fop.write -{ - filesystem = __file_fsname($filp) - - if(filesystem == "nfs") - log_fop_rw(HOOKID_NFS_FOP_WRITE_ENTRY,s_id,fileid,buf,len,pos) -} - -probe addevent.nfs.fop.write.return - += _addevent.nfs.fop.write.return -{ - update_record() -} - -probe _addevent.nfs.fop.write.return - = nfs.fop.write.return -{ -// log_nfs_return(HOOKID_NFS_FOP_WRITE_RETURN,$return) -} - -probe addevent.nfs.fop.aio_read.entry - += _addevent.nfs.fop.aio_read.entry -{ - update_record() -} - -probe _addevent.nfs.fop.aio_read.entry - = nfs.fop.aio_read -{ - log_fop_rw(HOOKID_NFS_FOP_AIOREAD_ENTRY,s_id,fileid,buf,len,pos) -} - -probe addevent.nfs.fop.aio_read.return - += _addevent.nfs.fop.aio_read.return -{ - update_record() -} - -probe _addevent.nfs.fop.aio_read.return - = nfs.fop.aio_read.return -{ - log_nfs_return(HOOKID_NFS_FOP_AIOREAD_RETURN,$return) -} - -probe addevent.nfs.fop.aio_write.entry - += _addevent.nfs.fop.aio_write.entry -{ - update_record() -} - -probe _addevent.nfs.fop.aio_write.entry - = nfs.fop.aio_write -{ - log_fop_rw(HOOKID_NFS_FOP_AIOWRITE,s_id,fileid,buf,len,pos) -} - -probe addevent.nfs.fop.aio_write.return - += _addevent.nfs.fop.aio_write.return -{ - update_record() -} - -probe _addevent.nfs.fop.aio_write.return - = nfs.fop.aio_write.return -{ - log_nfs_return(HOOKID_NFS_FOP_AIOWRITE_RETURN,$return) -} - -probe addevent.nfs.fop.mmap.entry - += _addevent.nfs.fop.mmap.entry -{ - update_record() -} - -probe _addevent.nfs.fop.mmap.entry - = nfs.fop.mmap -{ - log_fop_mmap(s_id,fileid,vm_start,vm_end,vm_flags) -} - -function log_fop_mmap(s_id:long,ino:long,vm_start:long, - vm_end:long,vm_flags:long) -%{/*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_MMAP_ENTRY,"%1b%1b%8b%8b%8b%4b", - (_FMT_)major,(_FMT_)minor, THIS->ino,THIS->vm_start, - THIS->vm_end,THIS->vm_flags); -%} - -probe addevent.nfs.fop.mmap.return - += _addevent.nfs.fop.mmap.return -{ - update_record() -} - -probe _addevent.nfs.fop.mmap.return - = nfs.fop.mmap.return -{ - log_nfs_return(HOOKID_NFS_FOP_MMAP_RETURN,$return) -} - -probe addevent.nfs.fop.open.entry - += _addevent.nfs.fop.open.entry -{ - update_record() -} - -probe _addevent.nfs.fop.open.entry - = nfs.fop.open -{ - log_fop_open(s_id,fileid,flag,filename) -} - -function log_fop_open(s_id:long,ino:long,flag :long , filename:string) -%{/*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_OPEN_ENTRY,"%1b%1b%8b%4b%0s", - (_FMT_)major,(_FMT_)minor, THIS->ino,THIS->flag,THIS->filename); -%} - -probe addevent.nfs.fop.open.return - += _addevent.nfs.fop.open.return -{ - update_record() -} - -probe _addevent.nfs.fop.open.return - = nfs.fop.open.return -{ - log_nfs_return(HOOKID_NFS_FOP_OPEN_RETURN,$return) -} - -probe addevent.nfs.fop.flush.entry - += _addevent.nfs.fop.flush.entry -{ - update_record() -} - -probe _addevent.nfs.fop.flush.entry - = nfs.fop.flush -{ - log_fop_flush(s_id,fileid,ndirty) -} - -function log_fop_flush(s_id:long,ino:long,ndirty:long) -%{/*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FLUSH_ENTRY,"%1b%1b%8b%4b", - (_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty); -%} - -probe addevent.nfs.fop.flush.return - += _addevent.nfs.fop.flush.return -{ - update_record() -} - -probe _addevent.nfs.fop.flush.return - = nfs.fop.flush.return -{ - log_nfs_return(HOOKID_NFS_FOP_FLUSH_RETURN,$return) -} - -probe addevent.nfs.fop.release.entry - += _addevent.nfs.fop.release.entry -{ - update_record() -} - -probe _addevent.nfs.fop.release.entry - = nfs.fop.release -{ - log_fop_release(s_id,fileid,mode) -} - -function log_fop_release(s_id:long,ino:long,mode:long) -%{/*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_RELEASE_ENTRY,"%1b%1b%8b%2b", - (_FMT_)major,(_FMT_)minor, - THIS->ino,THIS->mode); -%} - -probe addevent.nfs.fop.release.return - += _addevent.nfs.fop.release.return -{ - update_record() -} - -probe _addevent.nfs.fop.release.return - = nfs.fop.release.return -{ - log_nfs_return(HOOKID_NFS_FOP_RELEASE_RETURN,$return) -} - -probe addevent.nfs.fop.fsync.entry - += _addevent.nfs.fop.fsync.entry -{ - update_record() -} - -probe _addevent.nfs.fop.fsync.entry - = nfs.fop.fsync -{ - log_fop_fsync(s_id,fileid,ndirty) -} - -function log_fop_fsync(s_id:long,ino:long,ndirty:long) -%{/*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FSYNC_ENTRY,"%1b%1b%8b%4b", - (_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty); -%} - -probe addevent.nfs.fop.fsync.return - += _addevent.nfs.fop.fsync.return -{ - update_record() -} - -probe _addevent.nfs.fop.fsync.return - = nfs.fop.fsync.return -{ - log_nfs_return(HOOKID_NFS_FOP_FSYNC_RETURN,$return) -} - -probe addevent.nfs.fop.lock.entry - += _addevent.nfs.fop.lock.entry -{ - update_record() -} - -probe _addevent.nfs.fop.lock.entry - = nfs.fop.lock -{ - log_fop_lock(s_id,fileid,fl_start,fl_end,fl_type,fl_flag,cmd) -} - -function log_fop_lock(s_id:long,ino:long,fl_start:long,fl_end:long,fl_type:long,fl_flag:long,cmd:long) -%{/*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LOCK_ENTRY,"%1b%1b%8b%8b%8b%1b%1b%4b", - (_FMT_)major,(_FMT_)minor, THIS->ino,THIS->fl_start,THIS->fl_end, - THIS->fl_type,THIS->fl_flag,THIS->cmd); -%} - -probe addevent.nfs.fop.lock.return - += _addevent.nfs.fop.lock.return -{ - update_record() -} - -probe _addevent.nfs.fop.lock.return - = nfs.fop.lock.return -{ - log_nfs_return(HOOKID_NFS_FOP_LOCK_RETURN,$return) -} - -probe addevent.nfs.fop.sendfile.entry - += _addevent.nfs.fop.sendfile.entry -{ - update_record() -} - -probe _addevent.nfs.fop.sendfile.entry - = nfs.fop.sendfile -{ - log_fop_sendfile(s_id,fileid,count,ppos) -} - -function log_fop_sendfile(s_id:long,ino:long,count:long,ppos:long) -%{/*pure*/ - char * s_id = (char *)((long)THIS->s_id); - int major,minor; - - getdevice(s_id,&major,&minor); - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_SENDFILE_ENTRY,"%1b%1b%8b%8b%8b", - (_FMT_)major,(_FMT_)minor, THIS->ino,THIS->count,THIS->ppos); -%} - -probe addevent.nfs.fop.sendfile.return - += _addevent.nfs.fop.sendfile.return -{ - update_record() -} - -probe _addevent.nfs.fop.sendfile.return - = nfs.fop.sendfile.return -{ - log_nfs_return(HOOKID_NFS_FOP_SENDFILE_RETURN,$return) -} - -probe addevent.nfs.fop.check_flags.entry - += _addevent.nfs.fop.check_flags.entry -{ - update_record() -} - -probe _addevent.nfs.fop.check_flags.entry - = nfs.fop.check_flags -{ - log_fop_check_flags(flag) -} - -function log_fop_check_flags(flag:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_CHECKFLAGS_ENTRY,"%4b",THIS->flag); -%} - -///FIXME: unable to resovle $return -/* -probe addevent.nfs.fop.check_flags.return - += _addevent.nfs.fop.check_flags.return -{ - update_record() -} - -probe _addevent.nfs.fop.check_flags.return - = nfs.fop.check_flags.return -{ - log_nfs_return(HOOKID_NFS_FOP_CHECKFLAGS_RETURN,$return) -} -*/ - - -probe addevent.nfs.aop - = addevent.nfs.aop.entry, - addevent.nfs.aop.return -{} - -probe addevent.nfs.aop.entry - = - addevent.nfs.aop.readpage.entry, - addevent.nfs.aop.readpages.entry, - addevent.nfs.aop.writepage.entry, - addevent.nfs.aop.writepages.entry, - addevent.nfs.aop.release_page.entry ?, - addevent.nfs.aop.set_page_dirty.entry, - addevent.nfs.aop.prepare_write.entry, - addevent.nfs.aop.commit_write.entry -{} - -probe addevent.nfs.aop.return - = - addevent.nfs.aop.readpage.return, - addevent.nfs.aop.readpages.return, - addevent.nfs.aop.writepage.return, - addevent.nfs.aop.writepages.return, - addevent.nfs.aop.release_page.return ?, - addevent.nfs.aop.set_page_dirty.return, - addevent.nfs.aop.prepare_write.return, - addevent.nfs.aop.commit_write.return -{} - -probe addevent.nfs.aop.readpages.entry - += _addevent.nfs.aop.readpages.entry -{ - update_record() -} - -probe _addevent.nfs.aop.readpages.entry - = nfs.aop.readpages -{ - log_aop_readpages(fileid,rpages,nr_pages) -} - -function log_aop_readpages(ino:long,rpages:long,nr_pages:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGES_ENTRY,"%8b%4b%4b", - THIS->ino,THIS->rpages,THIS->nr_pages); -%} - -probe addevent.nfs.aop.readpages.return - += _addevent.nfs.aop.readpages.return -{ - update_record() -} - -probe _addevent.nfs.aop.readpages.return - = nfs.aop.readpages.return -{ - log_nfs_return(HOOKID_NFS_AOP_READPAGES_RETURN,$return) -} - -probe addevent.nfs.aop.readpage.entry - += _addevent.nfs.aop.readpage.entry -{ - update_record() -} - -probe _addevent.nfs.aop.readpage.entry - = nfs.aop.readpage -{ - log_aop_readpage(fileid,rsize,__page,page_index) -} - -function log_aop_readpage(ino:long,rsize:long,__page:long,page_index:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGE_ENTRY,"%8b%4b%8b%8b", - THIS->ino,THIS->rsize,THIS->__page,THIS->page_index); -%} - -probe addevent.nfs.aop.readpage.return - += _addevent.nfs.aop.readpage.return -{ - update_record() -} - -probe _addevent.nfs.aop.readpage.return - = nfs.aop.readpage.return -{ - log_nfs_return(HOOKID_NFS_AOP_READPAGE_RETURN,$return) -} - -probe addevent.nfs.aop.writepage.entry - += _addevent.nfs.aop.writepage.entry -{ - update_record() -} - -probe _addevent.nfs.aop.writepage.entry - = nfs.aop.writepage -{ - log_aop_writepage(fileid,wsize,__page,page_index) -} - -function log_aop_writepage(ino:long,wsize:long,__page:long,page_index:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGE_ENTRY,"%8b%4b%8b%8b", - THIS->ino,THIS->wsize,THIS->__page,THIS->page_index); -%} - -probe addevent.nfs.aop.writepage.return - += _addevent.nfs.aop.writepage.return -{ - update_record() -} - -probe _addevent.nfs.aop.writepage.return - = nfs.aop.writepage.return -{ - log_nfs_return(HOOKID_NFS_AOP_WRITEPAGE_RETURN,$return) -} - -probe addevent.nfs.aop.writepages.entry - += _addevent.nfs.aop.writepages.entry -{ - update_record() -} - -probe _addevent.nfs.aop.writepages.entry - = nfs.aop.writepages -{ - log_aop_writepages(fileid,wpages,nr_to_write) -} - -function log_aop_writepages(ino:long,wpages:long,nr_to_write:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGES_ENTRY,"%8b%4b%8b", - THIS->ino,THIS->wpages,THIS->nr_to_write); -%} - -probe addevent.nfs.aop.writepages.return - += _addevent.nfs.aop.writepages.return -{ - update_record() -} - -probe _addevent.nfs.aop.writepages.return - = nfs.aop.writepages.return -{ - log_nfs_return(HOOKID_NFS_AOP_WRITEPAGES_RETURN,$return) -} - -probe addevent.nfs.aop.prepare_write.entry - += _addevent.nfs.aop.prepare_write.entry -{ - update_record() -} - -probe _addevent.nfs.aop.prepare_write.entry - = nfs.aop.prepare_write -{ - log_aop_prepare_write(fileid,__page,page_index) -} - -function log_aop_prepare_write(ino:long,__page:long,page_index:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_PREPAREWRITE_ENTRY,"%8b%8b%8b", - THIS->ino,THIS->__page,THIS->page_index); -%} - -probe addevent.nfs.aop.prepare_write.return - += _addevent.nfs.aop.prepare_write.return -{ - update_record() -} - -probe _addevent.nfs.aop.prepare_write.return - = nfs.aop.prepare_write.return -{ - log_nfs_return(HOOKID_NFS_AOP_PREPAREWRITE_RETURN,$return) -} - -probe addevent.nfs.aop.commit_write.entry - += _addevent.nfs.aop.commit_write.entry -{ - update_record() -} - -probe _addevent.nfs.aop.commit_write.entry - = nfs.aop.commit_write -{ - log_aop_commit_write(fileid,__page,page_index,offset,count) -} - -function log_aop_commit_write(ino:long,__page:long,page_index:long,offset:long,count:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_COMMITWRITE_ENTRY,"%8b%8b%8b%4b%4b", - THIS->ino,THIS->__page, THIS->page_index,THIS->offset,THIS->count); -%} - -probe addevent.nfs.aop.commit_write.return - += _addevent.nfs.aop.commit_write.return -{ - update_record() -} - -probe _addevent.nfs.aop.commit_write.return - = nfs.aop.commit_write.return -{ - log_nfs_return(HOOKID_NFS_AOP_COMMITWRITE_RETURN,$return) -} - -probe addevent.nfs.aop.set_page_dirty.entry - += _addevent.nfs.aop.set_page_dirty.entry -{ - update_record() -} - -probe _addevent.nfs.aop.set_page_dirty.entry - = nfs.aop.set_page_dirty -{ - log_aop_set_page_dirty(__page,page_flag) -} - -function log_aop_set_page_dirty(__page:long,page_flag:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY,"%8b%1b", - THIS->__page,THIS->page_flag); -%} - -probe addevent.nfs.aop.set_page_dirty.return - += _addevent.nfs.aop.set_page_dirty.return -{ - update_record() -} - -probe _addevent.nfs.aop.set_page_dirty.return - = nfs.aop.set_page_dirty.return -{ - log_nfs_return(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN,$return) -} - -probe addevent.nfs.aop.release_page.entry - += _addevent.nfs.aop.release_page.entry -{ - update_record() -} - -probe _addevent.nfs.aop.release_page.entry - = nfs.aop.release_page -{ - log_aop_release_page(__page,page_index) -} - -function log_aop_release_page(__page:long,page_index:long) -%{/*pure*/ - _lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_RELEASEPAGE_ENTRY,"%8b%8b", - THIS->__page,THIS->page_index); -%} - -probe addevent.nfs.aop.release_page.return - += _addevent.nfs.aop.release_page.return -{ - update_record() -} - -probe _addevent.nfs.aop.release_page.return - = nfs.aop.release_page.return -{ - log_nfs_return(HOOKID_NFS_AOP_RELEASEPAGE_RETURN,$return) -} |