Programming :: Algorithm - File System Block Number For Immediate Read
May 20, 2010
algorithm:breada
input: file system block number for immediate read
file system block number for asynchronous read
output:buffer containing data for immediate read {
if(first block not in cache) {
get buffer for first block
if(buffer data not valid)
initiate disk read }
if(second block not in cache) {
get buffer for second block)
if(buffer data valid) //line 1
release buffer else
initiate disk read //line 2 }
if(first block was originally in cache) //line 3 {
read first block
return buffer }
sleep (event first buffer contains valid data)
return buffer }
Here is an algorithm for block read algorithm. I have problem in
line 1: If buffer data is valid why is it releasing the buffer?
line 2: If buffer data valid why is it initiating disk read. It should have read directly from buffer?
line 3: It should be the first condition as if it is there in cache then it should return it without delay?
My Redhat Enterprise Linux 4 with 6x partitions (/, /boot,/home, /usr, /var, /tmp) of 6.0 GB IDE Hardisk was working quite fine. I decided to create LVM on /home and /var partitions but due to some errors occured and I delete the /home partitions. That's why partition table altered. I then delete 4,5,and 6th partitions (/home, /var, /tmp) partitions and now try to create one by one but following error is coming:-
[Code]....
The Super block could not be read or do not describe a clear ext2 file system. E2fsck b 8193 <device> I have tried following commands,but could not successful:- e2fsck -p /dev/hda7 (where hda7 was created but afterthat it was deleted) e2fsck -a /dev/hda7
I'm working on a midrange NAS system basically running on Linux and I got to do some great testing today. The step-by-step lead me to using fsdb to corrupt the magic number on a file system in order to corrupt it / test the script that should fix it.
I need to monitor file reads&writes by all the apps. I have found a kernel feature /proc/sys/vm/block_dump. But it only gives me block numbers while i would like to know file names. How can i convert these block numbers to file names (if the blocks belong to a file, of course)?
I wanted to know how can I set a period of time to a tcp connection to wait for request or respond for tcp block read. which system call or function I can use? Does any body know a very simple quick and easy reference on web for socket programing that has lots of socket programing examples in it?
I bought a new SD card which I intend to put some MP3s on - except that I can't write to it because it tells me the destination is Read Only. No-probs thinks I: I'll just reformat it.
"Error creating file system: helper exited with exit code 1: cannot open /dev/mmcblk0p1: Read-only file system"
Various chmod commands all result in Read-only file system. I tried umount then mount commands, but it couldn't find it to mount once I'd unmounted it using the same /media/ file path (I assume it's the only one).
Have just assembled a new computer and thought I would install the 64 bit version of openSUSE 11.2 in a "Windows free zone". After a hiccup or two I have managed to get a system of sorts running but on trying to copy files from my old computer(via a memory stick) it tells me that Vfat is an unknown file system.On my old computer I am running 32 bit openSUSE 11.2 as a dual boot system with Windows XP and have no problems moving files between the two different file systems.Is it possible to get a 64 bit file system to read 32 bit file system drives and if so how do I do it?
I am trying to get the count of number of CD-ROMs attached with my Linux system using a bash shell script. I have decided to use the following method for it:
If you create a file on UNIX/linux with special chars, like touch "la*, you can't remove it with rm "la*. You have to use the inode number(you can if you add the before the name, I know, but you'd have to guess as a user that it was used in the file creation).
I checked the manpage for rm, but there's no metion of the inode number. Doing rm inodenumber doesn't work either.
I plugged in my USb drive into my computer yesterday and tried to delete a folder. I was unable to do so and got the following message
Cannot move file to trash, do you want to delete immediately? The file "my file" cannot be moved to the trash. Show Details Unable to create trashing info file: Read-only file system
So when I click on delete I get another error message:
Error while deleting. There was an error deleting Case Study Database. Show Details Error removing file: Read-only file system
At this point I can only click on Skip, Skip All, or Cancel.
I have not changed anything on the stick recently so I dont know what is causing the problem.
Can windows read files from a home file server with an ext4 file system? or do I have to partition the drive with the server (ext4) and an ntfs partition with the files on?
All my torrents go to my home/username/Download/ folder, I could read/write yesterday but now I cant even copy the files to a flash drive.The error i get is "Cannot create regular file '/home/username/Download/file' : Read only file system.
I have a copy of the MD5 algorithm and I'm taking a look at the source. It's pretty interesting but there are a few things that I'm curious about and I was wondering if anyone a bit more intuitive than I could help me out.The function declarations in the MD5 files are a bit unfamiliar to me. There is a macro used called PROTO_LIST, which I'm still not sure as to what this thing is doing exactly, but it's littered everywhere throughout the source.The signature here isn't too unfamiliar to me with the exception of the position of the PROTO_LIST macro. So here is a function with an unnamed argument of type MD5_CTX*.To me, this resembles an initializer list found in C++ with constructors but I certainly don't think that is the case here. So my questions about this are (1) how is this legal code in C and (2) what functionality has the PROTO_LIST macro provided for the function?
I am splitting a file based on the values read from an input file. The below one is the script.
1)How do I add the header which is present in the original file to the new split files created?(For eg. pharmacyf conatins header as table column names. The new files created (ODS.POS.$pharmacyid.$tablename.$CURRENT_DATE.dat) are without the header).
2) Also the script is creating 0 byte files for the pharmacyids which are not available in the intial file? Can this be avoided?
for pharmacyf in * do tablename=`echo $pharmacyf |cut -f4 -d'.' ` while read pharmacyid do grep -w $pharmacyid $pharmacyf >> $OUT/ODS.POS.$pharmacyid.$tablename.$CURRENT_DATE.dat done< inputfile done
I have a very large data file, with 3 numbers in each line, ex. 3 4 5 ; 6 7 8.I want to add two numbers (0 and 1) at the end of every line, and a string at the beginning of the line. Does anyone know a efficient way to do so?
Alright, so I have been trying to resolve this issue for awhile, but now feel like help is very necessary.I have a 128(by)128(by)128 array in a MAT file, and am using the following MATLAB script to convert it to a DAT file:
I have a timer thread, and when it expires, it sets a flag. The only problem is, if any higher priority thread comes in between, then the timer is not expired in real time.Thus i want to set a highest priority to my thread. Now, i know 2 algos, which can make my thread in real time are: SCHED_FIFO and SCHED_RR.
So, here are my queries: 1) Which scheduling algo is best suited for this purpose? 2) Is it guaranted to work in real time if i use that algo (you suggest in 1) and set the max_priority by getting the maximum settable priority for that particular algorithm using, int sched_get_priority_max(int policy);
I've got a bit of an obscure question for you to test your brains a wee bit. I'm trying to implement a search program to find areas of high density in a binary string.
Where density is the number of 1's / number of digits with a maximum number of digits being the current number in a buffer (in this example 50). So for the example the density for the whole buffer is 15/50. But the density of Buffer[14..20]=[1110001]=4/7. So if looking for areas of density = 1/3 it would find the longest sequences of density over 1/3.So in the example. Buffer[4..9]=[100101]=3/6=1/2 which is above 1/3 but it is within the Buffer[4..48]=[100101000011100010000001000100100001001011001]=15/45=1/3
I have an algorithm guys called "Self Configurable Diagnosis Algorithm" but i don't have program for this.help me regarding that program and which type of Tcl script will be better suitable for that.
I've been setting up a number of netbooks for friends in a group I belong to. I am installing Ubuntu 10.04 and/or Linux Mint 9 on all of the netbooks. The netbooks are all identical. Everything has seemed OK until yesterday. I tried to set the label on the new disk using: # e2label /dev/sda newlabel The error is Bad magic number in super-block while trying to open /dev/sda. Couldn't find valid filesystem superblock.
But the filesystem seems fine. It is mounted. It booted up without errors. But all the e2* tools give the same error. So I checked another netbook with an identical fresh install of Ubuntu 10.04 32-bit. It gives the same error although the system appears to work fine. Next I went and checked my own netbook. It is identical except I swapped out the HDD for an OCZ Vertex SSD. I aligned the partitions and prepared that drive carefully. It seems to work great. But when I ran e2label on it I got the same error message.
All the other installs are fresh, clean, standard installs where I let the installer use the whole disk and do the partitioning automatically. All are using ext4. I did a fresh install of Linux Mint 9 and it has the same error as Ubuntu 10.04. Kubuntu 10.04 on my desktop gives the same error too.
I have tried burning a number of ISO's of 101.10 and 11.04 to DVD and intalling them on 2 of my desktop machines. I eventually see: ('initramfs) Unable to find a medium containing a live file system' The thought just occurred to me as I type this, perhaps I can only install from a CD and not a DVD?
I need to simulate dijsktra's algorithm using network animator of ns2. how to write a tcl script for my code. This tcl script runs the dijsktra code and simulates its running on network animator.