Cleanup legacy 'dotu' variable.
PATCH 2/2 Implement TLERROR/RLERROR.
In reply to Arun R Bharadwaj* Arun R Bharadwaj <[email protected]> [2010-07-13 16:24:41]:
This patch implements TLERROR/RLERROR in the qemu 9P server.
--- hw/virtio-9p.c | 19 +++++++++++++------ hw/virtio-9p.h | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-)
hw/virtio-9p.h +2 -0
@@ -13,6 +13,8 @@#define VIRTIO_9P_MOUNT_TAG 0enum { +P9_TLERROR =6 , +P9_RLERROR ,P9_TVERSION =100 ,P9_RVERSION ,P9_TAUTH =102 ,
hw/virtio-9p.c +13 -6
@@ -744,17 +744,24 @@ static void complete_pdu(V9fsState *s, Vint8_t id = pdu->id +1 ;/* Response */ if (len <0 ) { -V9fsString str;int err = -len; + len =7 ; - str.data =strerror (err); - str.size =strlen (str.data); +if (s->proto_version !=V9FS_PROTO_2000L ) { +V9fsString str; + + str.data =strerror (err); + str.size =strlen (str.data); + + len +=pdu_marshal (pdu, len,"s" , &str); + id =P9_RERROR ; + } - len =7 ; - len +=pdu_marshal (pdu, len,"s" , &str); len +=pdu_marshal (pdu, len,"d" , err); - id =P9_RERROR ; +if (s->proto_version ==V9FS_PROTO_2000L ) { + id =P9_RLERROR ; + } }/* fill out the header */
PATCH 1/2 Cleanup legacy 'dotu' variable.
Hi,
This patch cleans up the legacy 'dotu' variable which is always set to 1 by default, since qemu doesnt support legacy 9p clients.
--- hw/virtio-9p-debug.c | 26 +++-------- hw/virtio-9p-debug.h | 1 hw/virtio-9p.c | 119 +++++++++++++++++++++++---------------------------- 3 files changed, 63 insertions(+), 83 deletions(-)
hw/virtio-9p-debug.h +0 -1
@@ -1,7 +1,6 @@#ifndef _QEMU_VIRTIO_9P_DEBUG_H#define _QEMU_VIRTIO_9P_DEBUG_H -extern int dotu;void pprint_pdu (V9fsPDU *pdu);#endif
hw/virtio-9p-debug.c +8 -18
@@ -169,12 +169,10 @@ static void pprint_stat(V9fsPDU *pdu, inpprint_str (pdu, rx, offsetp,", uid" );pprint_str (pdu, rx, offsetp,", gid" );pprint_str (pdu, rx, offsetp,", muid" ); -if (dotu) { -pprint_str (pdu, rx, offsetp,", extension" ); -pprint_int32 (pdu, rx, offsetp,", uid" ); -pprint_int32 (pdu, rx, offsetp,", gid" ); -pprint_int32 (pdu, rx, offsetp,", muid" ); - } +pprint_str (pdu, rx, offsetp,", extension" ); +pprint_int32 (pdu, rx, offsetp,", uid" ); +pprint_int32 (pdu, rx, offsetp,", gid" ); +pprint_int32 (pdu, rx, offsetp,", muid" );fprintf (llogfile,"}" ); }
@@ -343,9 +341,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_int32 (pdu,0 , &offset,"afid" );pprint_str (pdu,0 , &offset,", uname" );pprint_str (pdu,0 , &offset,", aname" ); -if (dotu) { -pprint_int32 (pdu,0 , &offset,", n_uname" ); - } +pprint_int32 (pdu,0 , &offset,", n_uname" );break ;case P9_RAUTH :fprintf (llogfile,"RAUTH: (" );
@@ -357,9 +353,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_int32 (pdu,0 , &offset,", afid" );pprint_str (pdu,0 , &offset,", uname" );pprint_str (pdu,0 , &offset,", aname" ); -if (dotu) { -pprint_int32 (pdu,0 , &offset,", n_uname" ); - } +pprint_int32 (pdu,0 , &offset,", n_uname" );break ;case P9_RATTACH :fprintf (llogfile,"RATTACH: (" );
@@ -371,9 +365,7 @@ void pprint_pdu(V9fsPDU *pdu)case P9_RERROR :fprintf (llogfile,"RERROR: (" );pprint_str (pdu,1 , &offset,"ename" ); -if (dotu) { -pprint_int32 (pdu,1 , &offset,", ecode" ); - } +pprint_int32 (pdu,1 , &offset,", ecode" );break ;case P9_TFLUSH :fprintf (llogfile,"TFLUSH: (" );
@@ -408,9 +400,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_str (pdu,0 , &offset,", name" );pprint_int32 (pdu,0 , &offset,", perm" );pprint_int8 (pdu,0 , &offset,", mode" ); -if (dotu) { -pprint_str (pdu,0 , &offset,", extension" ); - } +pprint_str (pdu,0 , &offset,", extension" );break ;case P9_RCREATE :fprintf (llogfile,"RCREATE: (" );
hw/virtio-9p.c +55 -64
156 lines not on this page · raw message
[Qemu-devel] Re: [PATCH 2/2] [virtio-9p] Implement TLERROR/RLERROR.
In reply to Arun R BharadwajQuoted 4 lines · Arun R Bharadwaj
* Arun R Bharadwaj <[email protected]> [2010-07-13 16:24:41]:
This patch implements TLERROR/RLERROR in the qemu 9P server.
Here is the link to client implementation of the same
http://sourceforge.net/mailarchive/message.php?msg_name=20100713110049.GC11854%40linux.vnet.ibm.com
-arun
Re: [Qemu-devel] [PATCH 2/2] [virtio-9p] Implement TLERROR/RLERROR.
In reply to Arun R BharadwajQuoted 46 lines · Arun R Bharadwaj
* Arun R Bharadwaj<[email protected]> [2010-07-13 16:24:41]:
This patch implements TLERROR/RLERROR in the qemu 9P server.
Signed-off-by Arun R Bharadwaj<[email protected]>--- hw/virtio-9p.c | 19 +++++++++++++------ hw/virtio-9p.h | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-)Index:
qemu/hw/virtio-9p.h
===================================================================hw/virtio-9p.h +2
-0@@ -13,6 +13,8 @@#define VIRTIO_9P_MOUNT_TAG 0enum { +P9_TLERROR =6 , +P9_RLERROR ,P9_TVERSION =100 ,P9_RVERSION ,P9_TAUTH =102 ,Index:
qemu/hw/virtio-9p.c
===================================================================hw/virtio-9p.c +10
-3@@ -744,17 +744,24 @@ static void complete_pdu(V9fsState *s, Vint8_t id = pdu->id +1 ;/* Response */ if (len<0 ) { -V9fsString str;int err = -len; + len =7 ; - str.data =strerror (err); - str.size =strlen (str.data); +if (s->proto_version !=V9FS_PROTO_2000L ) { +V9fsString str; + + str.data =strerror (err); + str.size =strlen (str.data); + + len +=pdu_marshal (pdu, len,"s" ,&str); + id =P9_RERROR ; + }
hw/virtio-9p.c static void complete_pdu(V9fsState *s, V · line 765
Quoted 10 lines
hw/virtio-9p.c +3
-3- len =7 ; - len +=pdu_marshal (pdu, len,"s" ,&str); len +=pdu_marshal (pdu, len,"d" , err); - id =P9_RERROR ; +if (s->proto_version ==V9FS_PROTO_2000L ) { + id =P9_RLERROR ; + } }
I guess this can go in the else part of the above if loop ie
if (s->proto_version != V9FS_PROTO_2000L) {
id = P9_RERROR;
} else {
id = P9_RLERROR;
}
-aneesh
Re: [Qemu-devel] [PATCH 2/2] [virtio-9p] Implement TLERROR/RLERROR.
Quoted 61 lines · Aneesh Kumar K.V
Quoted 46 lines · Arun R Bharadwaj
* Arun R Bharadwaj<[email protected]> [2010-07-13 16:24:41]:
This patch implements TLERROR/RLERROR in the qemu 9P server.
Signed-off-by Arun R Bharadwaj<[email protected]>--- hw/virtio-9p.c | 19 +++++++++++++------ hw/virtio-9p.h | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-)Index:
qemu/hw/virtio-9p.h
===================================================================hw/virtio-9p.h +2
-0@@ -13,6 +13,8 @@#define VIRTIO_9P_MOUNT_TAG 0enum { +P9_TLERROR =6 , +P9_RLERROR ,P9_TVERSION =100 ,P9_RVERSION ,P9_TAUTH =102 ,Index:
qemu/hw/virtio-9p.c
===================================================================hw/virtio-9p.c +10
-3@@ -744,17 +744,24 @@ static void complete_pdu(V9fsState *s, Vint8_t id = pdu->id +1 ;/* Response */ if (len<0 ) { -V9fsString str;int err = -len; + len =7 ; - str.data =strerror (err); - str.size =strlen (str.data); +if (s->proto_version !=V9FS_PROTO_2000L ) { +V9fsString str; + + str.data =strerror (err); + str.size =strlen (str.data); + + len +=pdu_marshal (pdu, len,"s" ,&str); + id =P9_RERROR ; + }hw/virtio-9p.c static void complete_pdu(V9fsState *s, V · line 765
Quoted 10 lines
hw/virtio-9p.c +3
-3- len =7 ; - len +=pdu_marshal (pdu, len,"s" ,&str); len +=pdu_marshal (pdu, len,"d" , err); - id =P9_RERROR ; +if (s->proto_version ==V9FS_PROTO_2000L ) { + id =P9_RLERROR ; + } }I guess this can go in the else part of the above if loop ie
Quoted 7 lines
if (
s->proto_version!=V9FS_PROTO_2000L) {id =
P9_RERROR;
} else {
id =P9_RLERROR;
}
Sure. That works fine.
Quoted 2 lines
-aneesh
Quoted 4 lines · Arun R Bharadwaj
Hi,
This patch cleans up the legacy 'dotu' variable which is always set to 1 by default, since qemu doesnt support legacy 9p clients.
Do we have 2/2 in this series? Also please check the thread-id. It is showing part of your other patch, TLERROR/RLERROR.
- JV
Quoted 251 lines
Signed-off-by Arun R Bharadwaj <[email protected]>--- hw/virtio-9p-debug.c | 26 +++-------- hw/virtio-9p-debug.h | 1 hw/virtio-9p.c | 119 +++++++++++++++++++++++---------------------------- 3 files changed, 63 insertions(+), 83 deletions(-)Index:
qemu/hw/virtio-9p-debug.h
===================================================================hw/virtio-9p-debug.h +0
-1@@ -1,7 +1,6 @@#ifndef _QEMU_VIRTIO_9P_DEBUG_H#define _QEMU_VIRTIO_9P_DEBUG_H -extern int dotu;void pprint_pdu (V9fsPDU *pdu);#endif Index:
qemu/hw/virtio-9p-debug.c
===================================================================hw/virtio-9p-debug.c +8
-18@@ -169,12 +169,10 @@ static void pprint_stat(V9fsPDU *pdu, inpprint_str (pdu, rx, offsetp,", uid" );pprint_str (pdu, rx, offsetp,", gid" );pprint_str (pdu, rx, offsetp,", muid" ); -if (dotu) { -pprint_str (pdu, rx, offsetp,", extension" ); -pprint_int32 (pdu, rx, offsetp,", uid" ); -pprint_int32 (pdu, rx, offsetp,", gid" ); -pprint_int32 (pdu, rx, offsetp,", muid" ); - } +pprint_str (pdu, rx, offsetp,", extension" ); +pprint_int32 (pdu, rx, offsetp,", uid" ); +pprint_int32 (pdu, rx, offsetp,", gid" ); +pprint_int32 (pdu, rx, offsetp,", muid" );fprintf (llogfile,"}" ); }@@ -343,9 +341,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_int32 (pdu,0 , &offset,"afid" );pprint_str (pdu,0 , &offset,", uname" );pprint_str (pdu,0 , &offset,", aname" ); -if (dotu) { -pprint_int32 (pdu,0 , &offset,", n_uname" ); - } +pprint_int32 (pdu,0 , &offset,", n_uname" );break ;case P9_RAUTH :fprintf (llogfile,"RAUTH: (" );@@ -357,9 +353,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_int32 (pdu,0 , &offset,", afid" );pprint_str (pdu,0 , &offset,", uname" );pprint_str (pdu,0 , &offset,", aname" ); -if (dotu) { -pprint_int32 (pdu,0 , &offset,", n_uname" ); - } +pprint_int32 (pdu,0 , &offset,", n_uname" );break ;case P9_RATTACH :fprintf (llogfile,"RATTACH: (" );@@ -371,9 +365,7 @@ void pprint_pdu(V9fsPDU *pdu)case P9_RERROR :fprintf (llogfile,"RERROR: (" );pprint_str (pdu,1 , &offset,"ename" ); -if (dotu) { -pprint_int32 (pdu,1 , &offset,", ecode" ); - } +pprint_int32 (pdu,1 , &offset,", ecode" );break ;case P9_TFLUSH :fprintf (llogfile,"TFLUSH: (" );@@ -408,9 +400,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_str (pdu,0 , &offset,", name" );pprint_int32 (pdu,0 , &offset,", perm" );pprint_int8 (pdu,0 , &offset,", mode" ); -if (dotu) { -pprint_str (pdu,0 , &offset,", extension" ); - } +pprint_str (pdu,0 , &offset,", extension" );break ;case P9_RCREATE :fprintf (llogfile,"RCREATE: (" );Index:
qemu/hw/virtio-9p.c
===================================================================hw/virtio-9p.c +55
-64@@ -18,7 +18,6 @@#include "fsdev/qemu-fsdev.h" #include "virtio-9p-debug.h" -int dotu =1 ;int debug_9p_pdu;enum {@@ -753,9 +752,7 @@ static void complete_pdu(V9fsState *s, V len =7 ; len +=pdu_marshal (pdu, len,"s" , &str); -if (dotu) { - len +=pdu_marshal (pdu, len,"d" , err); - } + len +=pdu_marshal (pdu, len,"d" , err); id =P9_RERROR ; }@@ -785,22 +782,20 @@ static mode_t v9mode_to_mode(uint32_t mo ret |=S_IFDIR ; } -if (dotu) { -if (mode &P9_STAT_MODE_SYMLINK ) { - ret |=S_IFLNK ; - } -if (mode &P9_STAT_MODE_SOCKET ) { - ret |=S_IFSOCK ; - } -if (mode &P9_STAT_MODE_NAMED_PIPE ) { - ret |=S_IFIFO ; - } -if (mode &P9_STAT_MODE_DEVICE ) { -if (extension && extension->data[0 ] =='c' ) { - ret |=S_IFCHR ; - }else { - ret |=S_IFBLK ; - } +if (mode &P9_STAT_MODE_SYMLINK ) { + ret |=S_IFLNK ; + } +if (mode &P9_STAT_MODE_SOCKET ) { + ret |=S_IFSOCK ; + } +if (mode &P9_STAT_MODE_NAMED_PIPE ) { + ret |=S_IFIFO ; + } +if (mode &P9_STAT_MODE_DEVICE ) { +if (extension && extension->data[0 ] =='c' ) { + ret |=S_IFCHR ; + }else { + ret |=S_IFBLK ; } }@@ -863,34 +858,32 @@ static uint32_t stat_to_v9mode(const str mode |=P9_STAT_MODE_DIR ; } -if (dotu) { -if (S_ISLNK (stbuf->st_mode)) { - mode |=P9_STAT_MODE_SYMLINK ; - } +if (S_ISLNK (stbuf->st_mode)) { + mode |=P9_STAT_MODE_SYMLINK ; + } -if (S_ISSOCK (stbuf->st_mode)) { - mode |=P9_STAT_MODE_SOCKET ; - } +if (S_ISSOCK (stbuf->st_mode)) { + mode |=P9_STAT_MODE_SOCKET ; + } -if (S_ISFIFO (stbuf->st_mode)) { - mode |=P9_STAT_MODE_NAMED_PIPE ; - } +if (S_ISFIFO (stbuf->st_mode)) { + mode |=P9_STAT_MODE_NAMED_PIPE ; + } -if (S_ISBLK (stbuf->st_mode) ||S_ISCHR (stbuf->st_mode)) { - mode |=P9_STAT_MODE_DEVICE ; - } +if (S_ISBLK (stbuf->st_mode) ||S_ISCHR (stbuf->st_mode)) { + mode |=P9_STAT_MODE_DEVICE ; + } -if (stbuf->st_mode &S_ISUID ) { - mode |=P9_STAT_MODE_SETUID ; - } +if (stbuf->st_mode &S_ISUID ) { + mode |=P9_STAT_MODE_SETUID ; + } -if (stbuf->st_mode &S_ISGID ) { - mode |=P9_STAT_MODE_SETGID ; - } +if (stbuf->st_mode &S_ISGID ) { + mode |=P9_STAT_MODE_SETGID ; + } -if (stbuf->st_mode &S_ISVTX ) { - mode |=P9_STAT_MODE_SETVTX ; - } +if (stbuf->st_mode &S_ISVTX ) { + mode |=P9_STAT_MODE_SETVTX ; }return mode;@@ -915,29 +908,27 @@ static int stat_to_v9stat(V9fsState *s,v9fs_string_null (&v9stat->gid);v9fs_string_null (&v9stat->muid); -if (dotu) { - v9stat->n_uid = stbuf->st_uid; - v9stat->n_gid = stbuf->st_gid; - v9stat->n_muid =0 ; - -v9fs_string_null (&v9stat->extension); - -if (v9stat->mode &P9_STAT_MODE_SYMLINK ) { - err =v9fs_do_readlink (s, name, &v9stat->extension); -if (err ==-1 ) { - err = -errno; -return err; - } - v9stat->extension.data[err] =0 ; - v9stat->extension.size = err; - }else if (v9stat->mode &P9_STAT_MODE_DEVICE ) { -v9fs_string_sprintf (&v9stat->extension,"%c %u %u" , -S_ISCHR (stbuf->st_mode) ?'c' :'b' , -major (stbuf->st_rdev),minor (stbuf->st_rdev)); - }else if (S_ISDIR (stbuf->st_mode) ||S_ISREG (stbuf->st_mode)) { -v9fs_string_sprintf (&v9stat->extension,"%s %u" , -"HARDLINKCOUNT" , stbuf->st_nlink); + v9stat->n_uid = stbuf->st_uid; + v9stat->n_gid = stbuf->st_gid; + v9stat->n_muid =0 ; + +v9fs_string_null (&v9stat->extension); + +if (v9stat->mode &P9_STAT_MODE_SYMLINK ) { + err =v9fs_do_readlink (s, name, &v9stat->extension); +if (err ==-1 ) { + err = -errno; +return err; } + v9stat->extension.data[err] =0 ; + v9stat->extension.size = err; + }else if (v9stat->mode &P9_STAT_MODE_DEVICE ) { +v9fs_string_sprintf (&v9stat->extension,"%c %u %u" , +S_ISCHR (stbuf->st_mode) ?'c' :'b' , +major (stbuf->st_rdev),minor (stbuf->st_rdev)); + }else if (S_ISDIR (stbuf->st_mode) ||S_ISREG (stbuf->st_mode)) { +v9fs_string_sprintf (&v9stat->extension,"%s %u" , +"HARDLINKCOUNT" , stbuf->st_nlink); } str =strrchr (name->data,'/' );
Quoted 11 lines · Venkateswararao Jujjuri (JV)
Quoted 4 lines · Arun R Bharadwaj
Hi,
This patch cleans up the legacy 'dotu' variable which is always set to 1 by default, since qemu doesnt support legacy 9p clients.
Do we have 2/2 in this series? Also please check the thread-id. It is showing part of your other patch, TLERROR/RLERROR.
- JV
Hi JV,
The cleanup patch is the 1/2 and the TLERROR/RLERROR patch is the 2/2. I have put them this way because the TLERROR patch needs to be applied after the cleanup patch is applied. Hence the same thread-id.
-arun
Quoted 6 lines · On Tue, 13 Jul 2010 16:24:41 +0530 Arun R Bharadwaj <[email protected]>…
Hi,
This patch cleans up the legacy 'dotu' variable which is always set to 1 by default, since qemu doesnt support legacy 9p clients.
Signed-off-by Arun R Bharadwaj <[email protected]>
Quoted 249 lines
--- hw/virtio-9p-debug.c | 26 +++-------- hw/virtio-9p-debug.h | 1 hw/virtio-9p.c | 119 +++++++++++++++++++++++---------------------------- 3 files changed, 63 insertions(+), 83 deletions(-)Index:
qemu/hw/virtio-9p-debug.h
===================================================================hw/virtio-9p-debug.h +0
-1@@ -1,7 +1,6 @@#ifndef _QEMU_VIRTIO_9P_DEBUG_H#define _QEMU_VIRTIO_9P_DEBUG_H -extern int dotu;void pprint_pdu (V9fsPDU *pdu);#endif Index:
qemu/hw/virtio-9p-debug.c
===================================================================hw/virtio-9p-debug.c +8
-18@@ -169,12 +169,10 @@ static void pprint_stat(V9fsPDU *pdu, inpprint_str (pdu, rx, offsetp,", uid" );pprint_str (pdu, rx, offsetp,", gid" );pprint_str (pdu, rx, offsetp,", muid" ); -if (dotu) { -pprint_str (pdu, rx, offsetp,", extension" ); -pprint_int32 (pdu, rx, offsetp,", uid" ); -pprint_int32 (pdu, rx, offsetp,", gid" ); -pprint_int32 (pdu, rx, offsetp,", muid" ); - } +pprint_str (pdu, rx, offsetp,", extension" ); +pprint_int32 (pdu, rx, offsetp,", uid" ); +pprint_int32 (pdu, rx, offsetp,", gid" ); +pprint_int32 (pdu, rx, offsetp,", muid" );fprintf (llogfile,"}" ); }@@ -343,9 +341,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_int32 (pdu,0 , &offset,"afid" );pprint_str (pdu,0 , &offset,", uname" );pprint_str (pdu,0 , &offset,", aname" ); -if (dotu) { -pprint_int32 (pdu,0 , &offset,", n_uname" ); - } +pprint_int32 (pdu,0 , &offset,", n_uname" );break ;case P9_RAUTH :fprintf (llogfile,"RAUTH: (" );@@ -357,9 +353,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_int32 (pdu,0 , &offset,", afid" );pprint_str (pdu,0 , &offset,", uname" );pprint_str (pdu,0 , &offset,", aname" ); -if (dotu) { -pprint_int32 (pdu,0 , &offset,", n_uname" ); - } +pprint_int32 (pdu,0 , &offset,", n_uname" );break ;case P9_RATTACH :fprintf (llogfile,"RATTACH: (" );@@ -371,9 +365,7 @@ void pprint_pdu(V9fsPDU *pdu)case P9_RERROR :fprintf (llogfile,"RERROR: (" );pprint_str (pdu,1 , &offset,"ename" ); -if (dotu) { -pprint_int32 (pdu,1 , &offset,", ecode" ); - } +pprint_int32 (pdu,1 , &offset,", ecode" );break ;case P9_TFLUSH :fprintf (llogfile,"TFLUSH: (" );@@ -408,9 +400,7 @@ void pprint_pdu(V9fsPDU *pdu)pprint_str (pdu,0 , &offset,", name" );pprint_int32 (pdu,0 , &offset,", perm" );pprint_int8 (pdu,0 , &offset,", mode" ); -if (dotu) { -pprint_str (pdu,0 , &offset,", extension" ); - } +pprint_str (pdu,0 , &offset,", extension" );break ;case P9_RCREATE :fprintf (llogfile,"RCREATE: (" );Index:
qemu/hw/virtio-9p.c
===================================================================hw/virtio-9p.c +55
-64@@ -18,7 +18,6 @@#include "fsdev/qemu-fsdev.h" #include "virtio-9p-debug.h" -int dotu =1 ;int debug_9p_pdu;enum {@@ -753,9 +752,7 @@ static void complete_pdu(V9fsState *s, V len =7 ; len +=pdu_marshal (pdu, len,"s" , &str); -if (dotu) { - len +=pdu_marshal (pdu, len,"d" , err); - } + len +=pdu_marshal (pdu, len,"d" , err); id =P9_RERROR ; }@@ -785,22 +782,20 @@ static mode_t v9mode_to_mode(uint32_t mo ret |=S_IFDIR ; } -if (dotu) { -if (mode &P9_STAT_MODE_SYMLINK ) { - ret |=S_IFLNK ; - } -if (mode &P9_STAT_MODE_SOCKET ) { - ret |=S_IFSOCK ; - } -if (mode &P9_STAT_MODE_NAMED_PIPE ) { - ret |=S_IFIFO ; - } -if (mode &P9_STAT_MODE_DEVICE ) { -if (extension && extension->data[0 ] =='c' ) { - ret |=S_IFCHR ; - }else { - ret |=S_IFBLK ; - } +if (mode &P9_STAT_MODE_SYMLINK ) { + ret |=S_IFLNK ; + } +if (mode &P9_STAT_MODE_SOCKET ) { + ret |=S_IFSOCK ; + } +if (mode &P9_STAT_MODE_NAMED_PIPE ) { + ret |=S_IFIFO ; + } +if (mode &P9_STAT_MODE_DEVICE ) { +if (extension && extension->data[0 ] =='c' ) { + ret |=S_IFCHR ; + }else { + ret |=S_IFBLK ; } }@@ -863,34 +858,32 @@ static uint32_t stat_to_v9mode(const str mode |=P9_STAT_MODE_DIR ; } -if (dotu) { -if (S_ISLNK (stbuf->st_mode)) { - mode |=P9_STAT_MODE_SYMLINK ; - } +if (S_ISLNK (stbuf->st_mode)) { + mode |=P9_STAT_MODE_SYMLINK ; + } -if (S_ISSOCK (stbuf->st_mode)) { - mode |=P9_STAT_MODE_SOCKET ; - } +if (S_ISSOCK (stbuf->st_mode)) { + mode |=P9_STAT_MODE_SOCKET ; + } -if (S_ISFIFO (stbuf->st_mode)) { - mode |=P9_STAT_MODE_NAMED_PIPE ; - } +if (S_ISFIFO (stbuf->st_mode)) { + mode |=P9_STAT_MODE_NAMED_PIPE ; + } -if (S_ISBLK (stbuf->st_mode) ||S_ISCHR (stbuf->st_mode)) { - mode |=P9_STAT_MODE_DEVICE ; - } +if (S_ISBLK (stbuf->st_mode) ||S_ISCHR (stbuf->st_mode)) { + mode |=P9_STAT_MODE_DEVICE ; + } -if (stbuf->st_mode &S_ISUID ) { - mode |=P9_STAT_MODE_SETUID ; - } +if (stbuf->st_mode &S_ISUID ) { + mode |=P9_STAT_MODE_SETUID ; + } -if (stbuf->st_mode &S_ISGID ) { - mode |=P9_STAT_MODE_SETGID ; - } +if (stbuf->st_mode &S_ISGID ) { + mode |=P9_STAT_MODE_SETGID ; + } -if (stbuf->st_mode &S_ISVTX ) { - mode |=P9_STAT_MODE_SETVTX ; - } +if (stbuf->st_mode &S_ISVTX ) { + mode |=P9_STAT_MODE_SETVTX ; }return mode;@@ -915,29 +908,27 @@ static int stat_to_v9stat(V9fsState *s,v9fs_string_null (&v9stat->gid);v9fs_string_null (&v9stat->muid); -if (dotu) { - v9stat->n_uid = stbuf->st_uid; - v9stat->n_gid = stbuf->st_gid; - v9stat->n_muid =0 ; - -v9fs_string_null (&v9stat->extension); - -if (v9stat->mode &P9_STAT_MODE_SYMLINK ) { - err =v9fs_do_readlink (s, name, &v9stat->extension); -if (err ==-1 ) { - err = -errno; -return err; - } - v9stat->extension.data[err] =0 ; - v9stat->extension.size = err; - }else if (v9stat->mode &P9_STAT_MODE_DEVICE ) { -v9fs_string_sprintf (&v9stat->extension,"%c %u %u" , -S_ISCHR (stbuf->st_mode) ?'c' :'b' , -major (stbuf->st_rdev),minor (stbuf->st_rdev)); - }else if (S_ISDIR (stbuf->st_mode) ||S_ISREG (stbuf->st_mode)) { -v9fs_string_sprintf (&v9stat->extension,"%s %u" , -"HARDLINKCOUNT" , stbuf->st_nlink); + v9stat->n_uid = stbuf->st_uid; + v9stat->n_gid = stbuf->st_gid; + v9stat->n_muid =0 ; + +v9fs_string_null (&v9stat->extension); + +if (v9stat->mode &P9_STAT_MODE_SYMLINK ) { + err =v9fs_do_readlink (s, name, &v9stat->extension); +if (err ==-1 ) { + err = -errno; +return err; } + v9stat->extension.data[err] =0 ; + v9stat->extension.size = err; + }else if (v9stat->mode &P9_STAT_MODE_DEVICE ) { +v9fs_string_sprintf (&v9stat->extension,"%c %u %u" , +S_ISCHR (stbuf->st_mode) ?'c' :'b' , +major (stbuf->st_rdev),minor (stbuf->st_rdev)); + }else if (S_ISDIR (stbuf->st_mode) ||S_ISREG (stbuf->st_mode)) { +v9fs_string_sprintf (&v9stat->extension,"%s %u" , +"HARDLINKCOUNT" , stbuf->st_nlink); } str =strrchr (name->data,'/' );