On Mon, Dec 01, 2008 at 12:44:05AM +0100, Laurent Riffard wrote: > Hi, > > With next-2008-11-28, I was unable to mount an UDF-formatted DVD-RW: > > ~$ mount -oro -t udf /dev/sr0 /media/cdrom/ > mount: Not a directory > > There was no problem with 2.6.28-rc6. > > I made a bisection: > > 33284bdf40f88160a154202510b27d983138c805 is first bad commit > commit 33284bdf40f88160a154202510b27d983138c805 > Author: Marcin Slusarz <marcin.slusarz@xxxxxxxxx> > Date: Sun Nov 16 20:52:19 2008 +0100 > > udf: implement mode and dmode mounting options > > "dmode" allows overriding permissions of directories and > "mode" allows overriding permissions of files. > > Signed-off-by: Marcin Slusarz <marcin.slusarz@xxxxxxxxx> > Cc: Jan Kara <jack@xxxxxxx> > Signed-off-by: Jan Kara <jack@xxxxxxx> > > > Indeed, with this commit, I *must* use the dmode option to mount my DVD: That's not intended behaviour... ;) > ~$ sudo mount -oro,dmode=0755 -t udf /dev/sr0 /media/cdrom/ > ~$ grep /media/cdrom /proc/mounts > /dev/scd0 /media/cdrom udf ro,mode=177777,dmode=755,utf8 0 0 ^^^^^^ funny (it's 65535 / (u16)-1) > ~$ ls -la /media/cdrom/ > total 46 > drwxr-xr-x 5 root root 344 Dec 24 2007 . > drwxr-xr-x 12 root root 4096 Dec 1 00:17 .. > drwxr-xr-x 2 laurent laurent 7112 Nov 30 20:14 flexbackup > drwxr-xr-x 2 root root 40 Nov 20 2005 lost+found > drwxr-xr-x 10 laurent laurent 4548 Nov 25 2005 patches > ~$ ls -la /media/cdrom/flexbackup/ > total 4307946 > drwxr-xr-x 2 laurent laurent 7112 Nov 30 20:14 . > drwxr-xr-x 5 root root 344 Dec 24 2007 .. > ?rwsrwsrwt 1 laurent laurent 44 Oct 1 2006 00-index-key > ... > > Althought I was able to mount it with no special option on 2.6.28-rc6: > > ~$ sudo mount -oro -t udf /dev/sr0 /media/cdrom/ > ~$ grep /media/cdrom /proc/mounts > /dev/scd0 /media/cdrom udf ro,utf8 0 0 > ~$ ls -la /media/cdrom/ > total 46 > drwxrwxrwx 5 root root 344 2007-12-24 18:09 . > drwxr-xr-x 12 root root 4096 2008-12-01 00:22 .. > drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 flexbackup > drwxr-xr-x 2 root root 40 2005-11-20 23:37 lost+found > drwxr-x--- 10 laurent laurent 4548 2005-11-25 18:18 patches > ~$ ls -la /media/cdrom/flexbackup/ > total 4307946 > drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 . > drwxrwxrwx 5 root root 344 2007-12-24 18:09 .. > -rw-r----- 1 laurent laurent 44 2006-10-01 15:36 00-index-key > ... > > ~~ > laurent Can you check whether attached patch fixes it? What architecture are you testing on? diff --git a/fs/udf/inode.c b/fs/udf/inode.c index 6612a27..9eeb726 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -1222,10 +1222,10 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) iinfo->i_lenExtents = inode->i_size; if (fe->icbTag.fileType != ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_fmode != -1) + sbi->s_fmode != (mode_t)-1) inode->i_mode = sbi->s_fmode; else if (fe->icbTag.fileType == ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_dmode != -1) + sbi->s_dmode != (mode_t)-1) inode->i_mode = sbi->s_dmode; else inode->i_mode = udf_convert_permissions(fe); diff --git a/fs/udf/super.c b/fs/udf/super.c index e5d121d..af8a771 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -284,9 +284,9 @@ static int udf_show_options(struct seq_file *seq, struct vfsmount *mnt) seq_printf(seq, ",gid=%u", sbi->s_gid); if (sbi->s_umask != 0) seq_printf(seq, ",umask=%o", sbi->s_umask); - if (sbi->s_fmode != -1) + if (sbi->s_fmode != (mode_t)-1) seq_printf(seq, ",mode=%o", sbi->s_fmode); - if (sbi->s_dmode != -1) + if (sbi->s_dmode != (mode_t)-1) seq_printf(seq, ",dmode=%o", sbi->s_dmode); if (UDF_QUERY_FLAG(sb, UDF_FLAG_SESSION_SET)) seq_printf(seq, ",session=%u", sbi->s_session); -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html