Re: some question about open fail on /dev/sda nodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



You can print a human readable string for error using 'strerror' function.

see -
man strerror
man errno

--
Thanks,
- John 


On 08/16/2009 04:09 PM, Manish Katiyar wrote:
On Sun, Aug 16, 2009 at 3:09 PM, loody<miloody@xxxxxxxxx> wrote:
  
Dear all:
I try to open /dev/sda1 with system call, open("/dev/sda1", O_RDONLY).
But each time it will return negative value, that means fail.
    
Have you checked for the errno ? I guess it is permission denied.


/home/mkatiyar> dd if=/dev/sda1 of=/dev/zero
dd: opening `/dev/sda1': Permission denied

Thanks -
Manish

  
my program is like below:
(gdb) list
1       #include<stdio.h>
2       #include<fcntl.h>
3       int main(void)
4       {
5       int fd=0;
6        fd = open("/dev/sda1", O_RDONLY);
7
8        printf("%d\n",fd);
9       }
10
(gdb) b 8
Breakpoint 1 at 0x8048423: file test.c, line 8.
(gdb) r
Starting program: /home/cc/a.out

Breakpoint 1, main () at test.c:8
8        printf("%d\n",fd);
(gdb) p fd
$1 = -1
(gdb)


But I am quite sure I really get /dev/sda1 on my linux system.
below are the dmesg:
$ dmesg |grep sda
[    4.304624] sd 0:0:0:0: [sda] 117210240 512-byte hardware sectors (60012 MB)
[    4.304642] sd 0:0:0:0: [sda] Write Protect is off
[    4.304646] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    4.304672] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    4.304742] sd 0:0:0:0: [sda] 117210240 512-byte hardware sectors (60012 MB)
[    4.304757] sd 0:0:0:0: [sda] Write Protect is off
[    4.304760] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    4.304786] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    4.304790]  sda:<4>Driver 'sr' needs updating - please use bus_type methods
[    4.319499]  sda1 sda2 sda3 < sda5<6>usb 4-2: configuration #1
chosen from 1 choice
[    4.359729]  sda6 > sda4
[    4.359951] sd 0:0:0:0: [sda] Attached SCSI disk
[   22.637589] EXT3 FS on sda4, internal journal
[   23.586600] EXT3 FS on sda6, internal journal
$
Does that mean I use the wrong systemcall or we cannot open /dev/sda1 like this?
appreciate your help,
miloody

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


    


  


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux